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:

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.

  1. 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
    
  2. 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
    
  3. 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
    ...
    
  4. Speichern und schließen Sie die Datei. Verwenden Sie in vi den Befehl :wq.

Ausführen der Anwendung

  1. 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
    
  2. Überprüfen Sie, ob die Bereitstellung erfolgreich war, indem Sie die Pods mit kubectl ansehen

    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

  1. 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
    
  2. Nachdem die EXTERNAL-IP-Adresse von pending 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:

    store-front   LoadBalancer   10.0.34.242   52.179.23.131   80:30676/TCP   67s
    
  3. Öffnen Sie die externe IP-Adresse Ihres Diensts in einem Webbrowser, um die Anwendung in Aktion zu sehen.

    Screenshot der AKS Store-Beispielanwendung

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.

  1. Öffnen Sie im Azure-Portal Ihre Ressourcengruppe

  2. Navigieren Sie zum Kubernetes-Dienst für Ihr Cluster

  3. Wählen Sie unter Kubernetes Resources den Wert Services and Ingress aus

  4. Kopieren Sie die in der Spalte „store-front“ angezeigte externe IP

  5. Fügen Sie die IP in Ihren Browser ein und besuchen Sie die Seite Ihres Store

    Screenshot der AKS Store-Beispielanwendung

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.