Tutorial: Ausführen von Anwendungen in Azure Kubernetes Service (AKS)Tutorial: Run applications in Azure Kubernetes Service (AKS)

Kubernetes bietet eine verteilte Plattform für containerbasierte Anwendungen.Kubernetes provides a distributed platform for containerized applications. 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.You build and deploy your own applications and services into a Kubernetes cluster, and let the cluster manage the availability and connectivity. In diesem Tutorial – Teil 4 von 7 – wird eine Beispielanwendung in einem Kubernetes-Cluster bereitgestellt.In this tutorial, part four of seven, a sample application is deployed into a Kubernetes cluster. Folgendes wird vermittelt:You learn how to:

  • Aktualisieren einer Kubernetes-ManifestdateiUpdate a Kubernetes manifest file
  • Ausführen einer Anwendung in KubernetesRun an application in Kubernetes
  • Testen der AnwendungTest the application

In weiteren Tutorials wird diese Anwendung erweitert und aktualisiert.In additional tutorials, this application is scaled out and updated.

Für diese Schnellstartanleitung werden Grundkenntnisse in Bezug auf die Kubernetes-Konzepte vorausgesetzt.This quickstart assumes a basic understanding of Kubernetes concepts. Weitere Informationen finden Sie unter Grundlegende Kubernetes-Konzepte für Azure Kubernetes Service (AKS).For more information, see Kubernetes core concepts for Azure Kubernetes Service (AKS).

VoraussetzungenBefore you begin

In vorherigen Tutorials wurde eine Anwendung in ein Containerimage gepackt, das Image wurde in Azure Container Registry hochgeladen, und es wurde ein Kubernetes-Cluster erstellt.In previous tutorials, an application was packaged into a container image, this image was uploaded to Azure Container Registry, and a Kubernetes cluster was created.

Für dieses Tutorial benötigen Sie die vorab erstellte Kubernetes-Manifestdatei azure-vote-all-in-one-redis.yaml.To complete this tutorial, you need the pre-created azure-vote-all-in-one-redis.yaml Kubernetes manifest file. Diese Datei wurde in einem vorherigen Tutorial mit dem Anwendungsquellcode heruntergeladen.This file was downloaded with the application source code in a previous tutorial. Stellen Sie sicher, dass Sie das Repository geklont und Verzeichnisse im geklonten Repository geändert haben.Verify that you've cloned the repo, and that you have changed directories into the cloned repo. Wenn Sie diese Schritte nicht ausgeführt haben und dies jetzt nachholen möchten, sollten Sie mit Tutorial 1: Erstellen von Containerimages beginnen.If you haven't done these steps, and would like to follow along, start with Tutorial 1 – Create container images.

Für dieses Tutorial müssen Sie mindestens Version 2.0.53 der Azure CLI ausführen.This tutorial requires that you're running the Azure CLI version 2.0.53 or later. Führen Sie az --version aus, um die Version zu finden.Run az --version to find the version. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sei bei Bedarf unter Installieren der Azure CLI.If you need to install or upgrade, see Install Azure CLI.

Aktualisieren der ManifestdateiUpdate the manifest file

In diesen Tutorials speichert eine Azure Container Registry (ACR)-Instanz das Containerimage für die Beispielanwendung.In these tutorials, an Azure Container Registry (ACR) instance stores the container image for the sample application. Zum Bereitstellen der Anwendung müssen Sie den Imagenamen in der Kubernetes-Manifestdatei aktualisieren, sodass er den ACR-Anmeldeservernamen enthält.To deploy the application, you must update the image name in the Kubernetes manifest file to include the ACR login server name.

Rufen Sie den ACR-Anmeldeservernamen mit dem Befehl az acr list wie folgt auf:Get the ACR login server name using the az acr list command as follows:

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.The sample manifest file from the git repo cloned in the first tutorial uses the login server name of 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. vi:Make sure that you're in the cloned azure-voting-app-redis directory, then open the manifest file with a text editor, such as vi:

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

Ersetzen Sie microsoft durch Ihren ACR-Anmeldeservernamen.Replace microsoft with your ACR login server name. Der Imagename befindet sich in Zeile 51 der Manifestdatei.The image name is found on line 51 of the manifest file. Im folgenden Beispiel wird der standardmäßige Imagename angezeigt:The following example shows the default image name:

containers:
- name: azure-vote-front
  image: microsoft/azure-vote-front:v1

Geben Sie Ihren eigenen ACR-Anmeldeservernamen an, sodass Ihre Manifestdatei wie im folgenden Beispiel aussieht:Provide your own ACR login server name so that your manifest file looks like the following example:

containers:
- name: azure-vote-front
  image: <acrName>.azurecr.io/azure-vote-front:v1

Speichern und schließen Sie die Datei.Save and close the file. Verwenden Sie in vi den Befehl :wq.In vi, use :wq.

Bereitstellen der AnwendungDeploy the application

Verwenden Sie zum Bereitstellen Ihrer Anwendung den Befehl kubectl apply.To deploy your application, use the kubectl apply command. Dieser Befehl analysiert die Manifestdatei und erstellt die definierten Kubernetes-Objekte.This command parses the manifest file and creates the defined Kubernetes objects. Geben Sie die Beispielmanifestdatei wie im folgenden Beispiel an:Specify the sample manifest file, as shown in the following example:

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

Die folgende Beispielausgabe zeigt die Ressourcen, die erfolgreich im AKS-Cluster erstellt wurden:The following example output shows the resources successfully created in the AKS cluster:

$ 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 AnwendungTest the application

Wenn die Anwendung ausgeführt wird, macht ein Kubernetes-Dienst das Anwendungs-Front-End im Internet verfügbar.When the application runs, a Kubernetes service exposes the application front end to the internet. Dieser Vorgang kann einige Minuten dauern.This process can take a few minutes to complete.

Verwenden Sie zum Überwachen des Fortschritts den Befehl kubectl get service mit dem Argument --watch.To monitor progress, use the kubectl get service command with the --watch argument.

kubectl get service azure-vote-front --watch

Die EXTERNAL-IP-Adresse für den Dienst azure-vote-front wird zunächst als ausstehend angezeigt:Initially the EXTERNAL-IP for the azure-vote-front service is shown as pending:

azure-vote-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s

Sobald die EXTERNAL-IP-Adresse von ausstehend in eine tatsächliche öffentliche IP-Adresse geändert wurde, wird, verwenden Sie CTRL-C, um die kubectl-Überwachung zu beenden.When the EXTERNAL-IP address changes from pending to an actual public IP address, use CTRL-C to stop the kubectl watch process. Die folgende Beispielausgabe zeigt eine gültige öffentliche IP-Adresse, die dem Dienst zugewiesen ist:The following example output shows a valid public IP address assigned to the service:

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:To see the application in action, open a web browser to the external IP address of your service:

Abbildung: Kubernetes-Cluster in Azure

Wurde die Anwendung nicht geladen, liegt möglicherweise ein Autorisierungsproblem mit Ihrer Imageregistrierung vor.If the application didn't load, it might be due to an authorization problem with your image registry. Verwenden Sie den Befehl kubectl get pods, um den Status Ihrer Container anzuzeigen.To view the status of your containers, use the kubectl get pods command. Wenn die Containerimages nicht per Pull abgerufen werden können, finden Sie unter Zugreifen per Kubernetes-Geheimnis weitere Informationen.If the container images can't be pulled, see allow access to Container Registry with a Kubernetes secret.

Nächste SchritteNext steps

In diesem Tutorial wurde eine Azure Vote-Beispielanwendung in einem Kubernetes-Cluster in AKS bereitgestellt.In this tutorial, a sample Azure vote application was deployed to a Kubernetes cluster in AKS. Es wurde Folgendes vermittelt:You learned how to:

  • Aktualisieren einer Kubernetes-ManifestdateiUpdate a Kubernetes manifest files
  • Ausführen einer Anwendung in KubernetesRun an application in Kubernetes
  • Testen der AnwendungTest the application

Fahren Sie mit dem nächsten Tutorial fort, wo Sie erfahren, wie eine Kubernetes-Anwendung und die zugrunde liegende Kubernetes-Infrastruktur skaliert werden.Advance to the next tutorial to learn how to scale a Kubernetes application and the underlying Kubernetes infrastructure.