Tutorial: Bereitstellen einer Anwendung 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.
Tipp
Mit AKS können Sie die folgenden Ansätze für die Konfigurationsverwaltung verwenden:
GitOps: Ermöglicht die automatische Anwendung von Deklarationen des Clusterzustands auf den Cluster. 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.
DevOps: Ermöglicht Ihnen das Erstellen, Testen und Bereitstellen mit Continuous Integration (CI) und Continuous Delivery (CD). Beispiele für die Verwendung von DevOps zum Bereitstellen einer Anwendung mit einem AKS-Cluster finden Sie unter Erstellen und Bereitstellen in Azure Kubernetes Service mit Azure Pipelines oder Erstellen, Testen und Bereitstellen von Containern für den Azure Kubernetes Service (AKS) mithilfe von GitHub Actions.
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 aks-store-quickstart.yaml
. Diese Datei wurde im Quellcode der Anwendung aus Tutorial 1 – Vorbereiten der Anwendung für AKS heruntergeladen.
Für dieses Tutorial wird mindestens Version 2.0.53 der Azure-Befehlszeilenschnittstelle vorausgesetzt. Überprüfen Sie Ihre Version mit az --version
. Informationen zum Ausführen einer Installation oder eines Upgrades finden Sie unter Installieren der Azure CLI.
Aktualisieren der Manifestdatei
In diesen Tutorials speichert Ihre Azure Container Registry-Instanz (ACR) die Containerimages für die Beispielanwendung. Zum Bereitstellen der Anwendung müssen Sie die Imagenamen in der Kubernetes-Manifestdatei aktualisieren, sodass sie den ACR-Anmeldeservernamen enthalten.
Führen Sie den Befehl
az acr list
aus, um die Anmeldeserveradresse abzurufen, und fragen Sie den Anmeldeserver ab.az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
Vergewissern Sie sich, dass Sie sich im geklonten Verzeichnis aks-store-demo befinden, und öffnen Sie dann die
aks-store-quickstart.yaml
Manifestdatei mit einem Text-Editor.Aktualisieren Sie die Eigenschaft
image
für die Container, indem Sie ghcr.io/azure-samples durch Ihren ACR-Anmeldeservernamen ersetzen.containers: ... - name: order-service image: <acrName>.azurecr.io/aks-store-demo/order-service:latest ... - name: product-service image: <acrName>.azurecr.io/aks-store-demo/product-service:latest ... - name: store-front image: <acrName>.azurecr.io/aks-store-demo/store-front:latest ...
Speichern und schließen Sie die Datei.
Ausführen der Anwendung
Stellen Sie die Anwendung mithilfe des
kubectl apply
-Befehls bereit, der die Manifestdatei analysiert und die definierten Kubernetes-Objekte erstellt.kubectl apply -f aks-store-quickstart.yaml
Die folgende Beispielausgabe zeigt die Ressourcen, die erfolgreich im AKS-Cluster erstellt wurden:
statefulset.apps/rabbitmq created configmap/rabbitmq-enabled-plugins created service/rabbitmq created deployment.apps/order-service created service/order-service created deployment.apps/product-service created service/product-service created deployment.apps/store-front created service/store-front created
Überprüfen Sie, ob die Bereitstellung erfolgreich war, indem Sie die Pods mit dem Befehl
kubectl get pods
anzeigen.kubectl get pods
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.
Befehlszeile
Verwenden Sie zum Überwachen des Fortschritts den Befehl
kubectl get service
mit dem Argument--watch
:kubectl get service store-front --watch
Die
EXTERNAL-IP
für den Dienststore-front
wird zunächst als<pending>
angezeigt:store-front LoadBalancer 10.0.34.242 <pending> 80:30676/TCP 5s
Nachdem die
EXTERNAL-IP
-Adresse von<pending>
in eine öffentliche IP-Adresse geändert wurde, verwenden SieCTRL-C
, um diekubectl
-Überwachung zu beenden.Die folgende Beispielausgabe zeigt eine gültige öffentliche IP-Adresse, die dem Dienst zugewiesen ist:
store-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:
http://<external-ip>
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.
Azure-Portal
Navigieren Sie zum Azure-Portal, um Ihre Bereitstellungsinformationen einzusehen.
Navigieren Sie zu Ihrer AKS-Clusterressource.
Wählen Sie im Menü „Dienst“ unter Kubernetes-Ressourcen die Option Dienste und Eingänge aus.
Kopieren Sie die in der Spalte für den
store-front
-Dienst angezeigte externe IP-Adresse.Fügen Sie die IP-Adresse in Ihren Browser ein, und besuchen Sie die Seite Ihres Stores.
Bereinigen von Ressourcen
Da Sie die Funktionsfähigkeit der Anwendung überprüft haben, können Sie das Cluster jetzt aus der Anwendung entfernen. Die Anwendung wird im nächsten Tutorial erneut bereitgestellt.
Beenden und entfernen Sie die Containerinstanzen und -ressourcen mithilfe des Befehls
kubectl delete
.kubectl delete -f aks-store-quickstart.yaml
Überprüfen Sie mithilfe des Befehls
kubectl get pods
, ob alle Anwendungspods entfernt wurden.kubectl get pods
Nächste Schritte
In diesem Tutorial haben Sie eine Azure-Beispielanwendung in einem Kubernetes-Cluster 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 Sie PaaS-Dienste für zustandsbehaftete Workloads in Kubernetes verwenden.
Azure Kubernetes Service