Tutorial: Ausführen von Anwendungen in Azure Kubernetes Service (AKS)
Kubernetes bietet eine verteilte Plattform für containerbasierte Anwendungen. Sie erstellen Ihre eigenen Anwendungen und Dienste in einem Kubernetes-Cluster, stellen diese bereit und lassen den Cluster die Verfügbarkeit und Konnektivität verwalten. In diesem Tutorial – Teil 4 von 7 – stellen Sie eine Beispielanwendung in einem Kubernetes-Cluster bereit. Folgendes wird vermittelt:
- Aktualisieren einer Kubernetes-Manifestdatei
- Ausführen einer Anwendung in Kubernetes
- Testen Sie die Anwendung.
In späteren Tutorials werden Sie Ihre Anwendung hochskalieren und aktualisieren.
Für diese Schnellstartanleitung werden Grundkenntnisse in Bezug auf die Kubernetes-Konzepte vorausgesetzt. Weitere Informationen finden Sie unter Grundlegende Kubernetes-Konzepte für Azure Kubernetes Service (AKS).
Tipp
AKS-Cluster können GitOps zur Konfigurationsverwaltung verwenden. Mit GitOps können Deklarationen des Clusterzustands, die an die Quellcodeverwaltung gepusht werden, automatisch auf den Cluster angewendet werden. Informationen zur Verwendung von GitOps zum Bereitstellen einer Anwendung mit einem AKS-Cluster finden Sie im Tutorial zu GitOps mit Flux v2 in den Voraussetzungen für Azure Kubernetes Service-Cluster.
Voraussetzungen
In vorherigen Tutorials haben Sie eine Anwendung in ein Containerimage gepackt, das Image in Azure Container Registry hochgeladen und einen Kubernetes-Cluster erstellt.
Für dieses Tutorial benötigen Sie die vorab erstellte Kubernetes-Manifestdatei azure-vote-all-in-one-redis.yaml
. Dieser Dateidownload war in einem vorherigen Tutorial im Anwendungsquellcode enthalten. Stellen Sie sicher, dass Sie das Repository geklont und Verzeichnisse im geklonten Repository geändert haben. Wenn Sie diese Schritte noch nicht ausgeführt haben und ausführen möchten, beginnen Sie mit Tutorial 1: Vorbereiten einer Anwendung für AKS.
Für dieses Tutorial müssen Sie mindestens Version 2.0.53 der Azure CLI ausführen. Führen Sie az --version
aus, um die Version zu ermitteln. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sei bei Bedarf unter Installieren der Azure CLI.
Aktualisieren der Manifestdatei
In diesen Tutorials speichert eine Azure Container Registry (ACR)-Instanz das Containerimage für die Beispielanwendung. Zum Bereitstellen der Anwendung müssen Sie den Imagenamen in der Kubernetes-Manifestdatei aktualisieren, sodass er den ACR-Anmeldeservernamen enthält.
Rufen Sie den Namen des ACR-Anmeldeservers mit dem Befehl az acr list ab:
az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
Die im ersten Tutorial geklonte Beispielmanifestdatei aus dem Git-Repository verwendet die Images aus Microsoft Container Registry (mcr.microsoft.com). Vergewissern Sie sich, dass Sie sich im geklonten azure-voting-app-Redis-Verzeichnis befinden, und öffnen Sie dann die Manifestdatei mit einem Text-Editor, z. B. vi
:
vi azure-vote-all-in-one-redis.yaml
Ersetzen Sie mcr.microsoft.com mit dem Namen Ihres ACR-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 ACR-Anmeldeservernamen an, sodass Ihre Manifestdatei etwa 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. Verwenden Sie in vi
den Befehl :wq
.
Bereitstellen der Anwendung
Verwenden Sie zum Bereitstellen Ihrer Anwendung den Befehl kubectl apply
, und geben Sie die Beispielmanifestdatei an. Dieser Befehl analysiert die Manifestdatei und erstellt die definierten Kubernetes-Objekte.
kubectl apply -f azure-vote-all-in-one-redis.yaml
Die folgende Beispielausgabe zeigt die Ressourcen, die erfolgreich im AKS-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 ein Kubernetes-Dienst das Anwendungs-Front-End im Internet verfügbar. Dieser Vorgang kann einige Minuten dauern.
Verwenden Sie zum Überwachen des Fortschritts den Befehl kubectl get service
mit dem Argument --watch
.
kubectl get service azure-vote-front --watch
Die externe 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
Sobald die externe IP-Adresse (EXTERNAL-IP) von pending (ausstehend) in eine tatsächliche öffentliche IP-Adresse geändert wurde, verwenden Sie CTRL-C
, um die kubectl
-Überwachung 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.
Wird 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 in einem Kubernetes-Cluster in AKS in AKS bereitgestellt. Sie haben Folgendes gelernt:
- Aktualisieren einer Kubernetes-Manifestdatei
- Ausführen einer Anwendung in Kubernetes
- Testen Sie die Anwendung.
Im nächsten Tutorial erfahren Sie, wie eine Kubernetes-Anwendung und die zugrunde liegende Kubernetes-Infrastruktur skaliert werden.
Scale Kubernetes application and infrastructure (Skalieren einer Kubernetes-Anwendung und -Infrastruktur)