Tutorial: Bereitstellen von Anwendungen in AKS, die von Azure Arc aktiviert sind
Gilt für: AKS in Azure Stack HCI 22H2, AKS unter Windows Server
Sie können Ihre eigenen Apps und Dienste in einem Kubernetes-Cluster erstellen und bereitstellen, wenn Sie Azure Kubernetes Service verwenden, die von Azure Arc aktiviert sind. Kubernetes bietet eine verteilte Plattform für containerisierte Apps. Sie können es dem Cluster ermöglichen, die Verfügbarkeit und Konnektivität zu verwalten.
In diesem Tutorial, Teil 4 von sieben, wird beschrieben, wie Sie eine Beispielanwendung in einem Kubernetes-Cluster in AKS bereitstellen können. Sie lernen Folgendes:
- Aktualisieren einer Kubernetes-Manifestdatei
- Bereitstellen einer Anwendung in Kubernetes
- Testen der Anwendung
Spätere Lernprogramme beschreiben, wie Sie diese Anwendung skalieren und aktualisieren.
In diesem Tutorial werden grundlegende Kenntnisse von Kubernetes-Konzepten vorausgesetzt.
Voraussetzungen
In den vorherigen Tutorials wurde beschrieben, wie Sie eine Anwendung in ein Containerimage packen, das Image dann in die Azure Container Registry hochladen und einen Kubernetes-Cluster erstellen.
Für dieses Tutorial benötigen Sie die vorab erstellte Kubernetes-Manifestdatei azure-vote-all-in-one-redis.yaml . Diese Datei wurde in einem vorherigen Tutorial mit dem Anwendungsquellcode heruntergeladen. Vergewissern Sie sich, dass Sie das Repository geklont und die Verzeichnisse in das geklonte Repository geändert haben. Wenn Sie diese Schritte noch nicht ausgeführt haben, beginnen Sie mit Tutorial 1– Create Containerimages.
Für dieses Tutorial wird mindestens Version 2.0.53 der Azure-Befehlszeilenschnittstelle vorausgesetzt. Führen Sie az --version
aus, um die Version zu ermitteln. Informationen zum Installieren oder Aktualisieren der Azure CLI finden Sie unter Installieren der Azure CLI.
Aktualisieren der Manifestdatei
In diesen Tutorials speichert ein Azure Container Registry instance das Containerimage für die Beispielanwendung. Zum Bereitstellen der Anwendung müssen Sie den Imagenamen in der Kubernetes-Manifestdatei so aktualisieren, dass er den Namen des Anmeldeservers für die Containerregistrierung enthält.
Rufen Sie den Namen des Azure Container Registry Anmeldeservers mit dem Befehl az acr list wie folgt ab:
az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
Die Beispielmanifestdatei aus dem GitHub-Repository, das Sie im ersten Tutorial geklont haben, verwendet den Anmeldeservernamen von Microsoft. Stellen Sie sicher, dass Sie sich im geklonten Verzeichnis azure-voting-app-redis befinden, und öffnen Sie dann die Manifestdatei mit einem Text-Editor, z. B. Editor:
notepad azure-vote-all-in-one-redis.yaml
Ersetzen Sie microsoft durch den Namen Ihres Azure Container Registry Anmeldeservers. Der Imagename befindet sich in Zeile 60 der Manifestdatei. Im folgenden Beispiel wird der standardmäßige Imagename angezeigt:
containers:
- name: azure-vote-front
image: mcr.microsoft.com/azuredocs/azure-vote-front:v1
Geben Sie Ihren eigenen Azure Container Registry Anmeldeservernamen an, damit Ihre Manifestdatei wie im folgenden Beispiel aussieht:
containers:
- name: azure-vote-front
image: <acrName>.azurecr.io/azure-vote-front:v1
Speichern und schließen Sie die Datei.
Bereitstellen der Anwendung
Verwenden Sie zum Bereitstellen Ihrer Anwendung den Befehl kubectl apply. Dieser Befehl analysiert die Manifestdatei und erstellt die definierten Kubernetes-Objekte. Geben Sie die Beispielmanifestdatei wie im folgenden Beispiel an:
kubectl apply -f azure-vote-all-in-one-redis.yaml
Die folgende Beispielausgabe zeigt die Ressourcen, die erfolgreich im Kubernetes-Cluster erstellt wurden:
$ kubectl apply -f azure-vote-all-in-one-redis.yaml
deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created
Testen der Anwendung
Wenn die Anwendung ausgeführt wird, macht der Kubernetes-Dienst das Anwendungs-Front-End für das Internet verfügbar. Dieser Vorgang kann einige Minuten dauern.
Verwenden Sie zum Überwachen des Fortschritts den Befehl kubectl get service mit dem --watch
Argument:
kubectl get service azure-vote-front --watch
Die EXTERNAL-IP-Adresse für den Dienst azure-vote-front wird zunächst als ausstehend angezeigt:
azure-vote-front LoadBalancer 10.0.34.242 <pending> 80:30676/TCP 5s
Wenn sich die EXTERNAL-IP-Adresse von ausstehend in eine tatsächliche öffentliche IP-Adresse ändert, verwenden Sie STRG-C, um den kubectl
watch Prozess zu beenden. Die folgende Beispielausgabe zeigt eine gültige öffentliche IP-Adresse, die dem Dienst zugewiesen ist:
azure-vote-front LoadBalancer 10.0.34.242 52.179.23.131 80:30676/TCP 67s
Öffnen Sie die externe IP-Adresse Ihres Diensts in einem Webbrowser, um die Anwendung in Aktion zu sehen:
Wurde die Anwendung nicht geladen, liegt möglicherweise ein Autorisierungsproblem mit Ihrer Imageregistrierung vor. Verwenden Sie den Befehl kubectl get pods
, um den Status Ihrer Container anzuzeigen. Können die Containerimages nicht gepullt werden, lesen Sie die Informationen unter Authentifizieren bei Azure Container Registry aus Azure Kubernetes Service.
Nächste Schritte
In diesem Tutorial haben Sie eine Azure Vote-Beispielanwendung für einen Kubernetes-Cluster in AKS bereitgestellt, der von Arc aktiviert ist. Sie haben folgendes gelernt:
- Aktualisieren einer Kubernetes-Manifestdatei
- Ausführen einer Anwendung in Kubernetes
- Testen der Anwendung
Fahren Sie mit dem nächsten Tutorial fort, wo Sie erfahren, wie eine Kubernetes-Anwendung und die zugrunde liegende Kubernetes-Infrastruktur skaliert werden.
Scale Kubernetes application and infrastructure (Skalieren einer Kubernetes-Anwendung und -Infrastruktur)