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.

Sie können die Beispielanwendung auf zwei Arten bereitstellen:

In diesem Lernprogramm stellen Sie eine Beispielanwendung direkt von Ihrer Arbeitsstation in einem Kubernetes-Cluster bereit und verwalten die Anwendung mithilfe von AKS Desktop. Folgendes wird vermittelt:

  • Aktualisieren einer Kubernetes-Manifestdatei
  • Stellen Sie eine Anwendung in Kubernetes bereit.
  • Testen Sie die Anwendung.
  • Anzeigen von Anwendungszustand, Protokollen, Metriken und Zusammensetzung in AKS Desktop.

Bevor Sie beginnen

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.

In diesem Lernprogramm werden rechnungsbare Ressourcen erstellt und aktualisiert, z. B. LoadBalancer-Dienste. Verwenden Sie eine Identität mit Berechtigungen, um Workloads für AKS bereitzustellen und Clusterressourcen zu lesen.

Für dieses Lernprogramm ist die Installation von AKS-Desktop erforderlich.

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. 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.

  2. 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:1.0
    ...
    - name: product-service
      image: <acrName>.azurecr.io/aks-store-demo/product-service:1.0
    ...
    - name: store-front
      image: <acrName>.azurecr.io/aks-store-demo/store-front:1.0
    ...
    

Ausführen der Anwendung

Bereitstellen und Verwalten der Anwendung mithilfe von AKS-Desktop

AKS Desktop ist ein anwendungsorientiertes Entwicklerportal für Azure Kubernetes Service (AKS), das die Anwendungsbereitstellung und -verwaltung vereinfacht, ohne dass umfassende Kubernetes-Kenntnisse erforderlich sind.

Registrieren Ihres Clusters mit AKS-Desktop

  1. Stellen Sie sicher, dass Sie bei AKS-Desktop mit demselben Konto angemeldet sind, das Zugriff auf den AKS-Cluster hat. Wählen Sie nach der Anmeldung " Aus Azure-Abonnement hinzufügen" aus.
  2. Geben Sie den Namen Ihres Azure-Abonnements ein, wenn Sie mehrere haben. (Alternativ können Sie den Pfeil auswählen, um die Dropdownliste zu öffnen, und wählen Sie dann Ihr Azure-Abonnement aus.)
  3. Wählen Sie Ihren Cluster und dann " Cluster registrieren" aus.

Fahren Sie fort, wenn der Clusterstatus in AKS-Desktop als verbunden angezeigt wird.

Ein Video, das zeigt, wie Sie der AKS-Desktop-App einen Cluster hinzufügen.

Erstellen eines verwalteten Projekts in AKS-Desktop

  1. Wechseln Sie auf dem AKS-Desktop zur Registerkarte "Projekte", und wählen Sie "Neue verwaltete Project erstellen" aus.

  2. Konfigurieren Sie die folgenden Project-Einstellungen:

    • Grundlagen:
      • Projektname: Beispiel: my-dev-frontend
      • Abonnement: <your-subscription-name>
      • Cluster: <your-cluster-name>

    Note

    Wenn Sie das Azure-Abonnement und den AKS-Cluster festlegen, sucht AKS Desktop nach der erforderlichen Unterstützung von Cluster- und Abonnementfeatures.

    • Netzwerkrichtlinien: Sie können die Standardeinstellungen für diese Schnellstartanleitung beibehalten oder bei Bedarf aktualisieren.

      • Wenn Sie die Anwendung öffentlich verfügbar machen möchten, ändern Sie " Ingress " in Allow all traffic.
    • Computekontingent: Legen Sie die Werte für die Testanwendung fest. Screenshot, der das Festlegen der Werte für das Berechnungskontingent zeigt.

    • Access: Fügen Sie eine Person hinzu, oder löschen Sie den Eintrag, indem Sie das Zeilenelement löschen.

  3. Überprüfen Sie unter "Überprüfen" die Einstellungen für Ihr Projekt, und wählen Sie dann " Projekt erstellen" aus.

    Screenshot des Erstellens eines neuen Projekts in AKS-Desktop.

Bereitstellen von Anwendungen

  1. Geben Sie einen Anwendungsnamen an, und wählen Sie dann "Anwendung erstellen" aus.

    Screenshot des Erstellens einer neuen Anwendung in AKS Desktop.

  2. Wählen Sie eine Quelle für Ihre Anwendung aus. Wählen Sie in diesem Beispiel Kubernetes YAML>Next aus. Screenshot, der die Auswahl der Anwendungsquelle „Kubernetes YAML“ zeigt.

  3. Öffnen Sie aks-store-quickstart.yaml, kopieren Sie den Inhalt und fügen Sie ihn in den Editor ein, und wählen Sie dann Weiter aus. Screenshot des YAML-Editors mit dem kopierten und eingefügten YAML.

  4. Überprüfen Sie die erstellten Ressourcen, und wählen Sie dann Bereitstellen und Schließen aus. Screenshot, der die Zusammenfassung „Überprüfen und bereitstellen“ zeigt; wählen Sie „Bereitstellen und schließen“ aus.

  5. Die Ressourcen können einige Minuten dauern, bis sie bereitgestellt werden. Während dieser Zeit wird im Projektstatus möglicherweise Degraded angezeigt, während der Cluster skaliert.

  6. Überprüfen Sie den Status der Anwendungsressourcen, indem Sie "Ressourcen " und dann "Workloads" auswählen.

    Screenshot, der die Registerkarte „Ressourcen“ zum Anzeigen von Ressourcen und ihren Änderungen zeigt. Sie können eine Bildschirmaktualisierung erzwingen, indem Sie die Menüoption Navigate>Reload im oberen Fenster auswählen.

  7. Wählen Sie einzelne Workloadressourcen aus, um ihre Details und Ereignisse anzuzeigen.

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.

AKS-Desktop

  1. Rufen Sie die öffentliche IP-Adresse aus Ressource>Netzwerk>Dienst: store-front>Externe IP ab. Screenshot, der zeigt, wie die öffentliche IP-Adresse für die Anwendung abgerufen wird.

  2. Erkunden Sie die Anwendung auf dem AKS-Desktop, z. B. anzeigen von Protokollen und Metriken. Weitere Informationen finden Sie in der AKS-Desktopübersicht.

Befehlszeile

  1. 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 Dienst store-front wird zunächst als <pending> angezeigt:

    store-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s
    
  2. Nachdem die EXTERNAL-IP-Adresse von <pending> in eine ö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: http://<external-ip>

    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. Wenn Sie die Containerimages nicht abrufen können, lesen Sie Authentifizieren bei Azure Container Registry über Azure Kubernetes Service.

Azure-Portal

Navigieren Sie zum Azure-Portal, um Ihre Bereitstellungsinformationen einzusehen.

  1. Navigieren Sie zu Ihrer AKS-Clusterressource.

  2. Wählen Sie im Menü „Dienst“ unter Kubernetes-Ressourcen die Option Dienste und Eingänge aus.

  3. Kopieren Sie die in der Spalte für den store-front-Dienst angezeigte externe IP-Adresse.

  4. Fügen Sie die IP-Adresse in Ihren Browser ein, und besuchen Sie die Seite Ihres Stores.

    Screenshot der AKS Store-Beispielanwendung

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.

AKS-Desktop

Note

Wenn Sie mit dem nächsten Lernprogrammschritt fortfahren möchten, löschen Sie das AKS-Desktopprojekt nicht.

Wenn Sie fertig sind, wählen Sie das Symbol "Löschen " aus. Wählen Sie in der Bestätigungsmeldung Namespace ebenfalls löschen. Um das Projekt zu löschen, wählen Sie das Papierkorbsymbol aus.

Befehlszeile

  1. Beenden und entfernen Sie die Containerinstanzen und -ressourcen mithilfe des Befehls kubectl delete.

    kubectl delete -f aks-store-quickstart.yaml
    
  2. Überprüfen Sie mit dem Befehl kubectl get pods, ob alle Pods der Anwendung 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.