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:
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)
