Tutorial: Bereitstellen von Apps unter Azure Kubernetes Service in Azure Stack HCI und Windows Server

Sie können eigene Apps und Dienste in einem Kubernetes-Cluster in Azure Kubernetes Service (AKS) in Azure Stack HCI und Windows Server erstellen und bereitstellen. Kubernetes bietet eine verteilte Plattform für containerbasierte Anwendungen. Sie können es dem Cluster ermöglichen, die Verfügbarkeit und Konnektivität zu verwalten. Diesem Tutorial – Teil 4 von 7 – erklärt, wie eine Beispielanwendung in einem Kubernetes-Cluster bereitgestellt werden kann.

Sie lernen Folgendes:

  • Aktualisieren einer Kubernetes-Manifestdatei
  • Bereitstellen einer Anwendung in Kubernetes
  • Testen der Anwendung

Spätere Lernprogramme beschreiben, wie Sie diese Anwendung skalieren und aktualisieren.

Für diese Schnellstartanleitung werden Grundkenntnisse in Bezug auf die Kubernetes-Konzepte vorausgesetzt.

Voraussetzungen

In vorherigen Tutorials wurde beschrieben, wie Sie eine Anwendung in ein Containerimage packen, das Image in Azure Container Registry hochladen und einen Kubernetes-Cluster erstellen.

Für dieses Tutorial benötigen Sie die vorab erstellte Kubernetes-Manifestdatei azure-vote-all-in-one-redis.yaml. Diese Datei wurde in einem vorherigen Tutorial mit dem Anwendungsquellcode heruntergeladen. Stellen Sie sicher, dass Sie das Repository geklont und Verzeichnisse im geklonten Repository geändert haben. Wenn Sie diese Schritte nicht ausgeführt haben, beginnen Sie mit [Tutorial 1: Erstellen von Containerimages][aks-tutorial-prepare-application.md].

Für dieses Tutorial wird mindestens Version 2.0.53 der Azure-Befehlszeilenschnittstelle vorausgesetzt. Führen Sie az --version aus, um die Version zu ermitteln. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie 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 ACR-Anmeldeservernamen mit dem Befehl az acr list wie folgt auf:

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

Die im ersten Tutorial geklonte Beispielmanifestdatei aus dem Git-Repository verwendet den Anmeldeservernamen microsoft. 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. notepad:

notepad azure-vote-all-in-one-redis.yaml

Ersetzen Sie microsoft durch Ihren ACR-Anmeldeservernamen. 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 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.

Bereitstellen der Anwendung

Verwenden Sie zum Bereitstellen Ihrer Anwendung den Befehl kubectl apply. Dieser Befehl analysiert die Manifestdatei und erstellt die definierten Kubernetes-Objekte. Geben Sie die Beispielmanifestdatei wie im folgenden Beispiel an:

kubectl apply -f azure-vote-all-in-one-redis.yaml

Die folgende Beispielausgabe zeigt die Ressourcen, die erfolgreich im Cluster in AKS in Azure Stack HCI und Windows Server 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 EXTERNAL-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 ausstehend in eine tatsächliche öffentliche IP-Adresse geändert wurde, wird, 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:

Screenshot showing the container image Azure Voting App running in an AKS cluster opened in a local web browser

Wurde 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 Azure Stack HCI und Windows Server bereitgestellt. Sie haben Folgendes gelernt:

  • Aktualisieren einer Kubernetes-Manifestdatei
  • Ausführen einer Anwendung in Kubernetes
  • Testen der Anwendung

Fahren Sie mit dem nächsten Tutorial fort, wo Sie erfahren, wie eine Kubernetes-Anwendung und die zugrunde liegende Kubernetes-Infrastruktur skaliert werden.

Scale Kubernetes application and infrastructure (Skalieren einer Kubernetes-Anwendung und -Infrastruktur)