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 Manifestdatei mit einem Text-Editor, z. B.
vi
.vi aks-store-quickstart.yaml
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. Verwenden Sie in
vi
den Befehl:wq
.
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:
deployment.apps/rabbitmq 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
kubectl
ansehenkubectl 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
EXTERNAL-IP
wird für den Dienst store-front zunächst als pending (ausstehend) angezeigt:store-front LoadBalancer 10.0.34.242 <pending> 80:30676/TCP 5s
Nachdem die
EXTERNAL-IP
-Adresse von pending in eine tatsächliche ö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.
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 zu Ihrem Azure-Portal, um Ihre Bereitstellungsinformationen einzusehen.
Öffnen Sie im Azure-Portal Ihre Ressourcengruppe
Navigieren Sie zum Kubernetes-Dienst für Ihr Cluster
Wählen Sie unter
Kubernetes Resources
den WertServices and Ingress
ausKopieren Sie die in der Spalte „store-front“ angezeigte externe IP
Fügen Sie die IP in Ihren Browser ein und besuchen Sie die Seite Ihres Store
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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für