Snelstartgids: een Azure Kubernetes service (AKS)-cluster implementeren met behulp van Azure CLIQuickstart: Deploy an Azure Kubernetes Service (AKS) cluster using the Azure CLI

In deze Quick Start implementeert u een Azure Kubernetes service (AKS)-cluster met behulp van de Azure CLI.In this quickstart, you deploy an Azure Kubernetes Service (AKS) cluster using the Azure CLI. AKS is een beheerde Kubernetes-service waarmee u snel clusters kunt implementeren en beheren.AKS is a managed Kubernetes service that lets you quickly deploy and manage clusters. In het cluster wordt een toepassing met meerdere containers uitgevoerd die bestaat uit een web-front-end en een Redis-exemplaar.A multi-container application that includes a web front end and a Redis instance is run in the cluster. Vervolgens ziet u hoe u de status van het cluster en de pods kunt bewaken die uw toepassing uitvoeren.You then see how to monitor the health of the cluster and pods that run your application.

Als u Windows Server-containers wilt gebruiken (momenteel in de preview-versie van AKS), raadpleegt u een AKS-cluster maken dat Windows Server-containers ondersteunt.If you want to use Windows Server containers (currently in preview in AKS), see Create an AKS cluster that supports Windows Server containers.

Azure stem-app in actie

In deze snelstart wordt ervan uitgegaan dat u een basisbegrip hebt van Kubernetes-concepten.This quickstart assumes a basic understanding of Kubernetes concepts. Zie Kubernetes core-concepten voor Azure Kubernetes service (AKS)voor meer informatie.For more information, see Kubernetes core concepts for Azure Kubernetes Service (AKS).

Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.If you don't have an Azure subscription, create a free account before you begin.

Azure Cloud Shell gebruikenUse Azure Cloud Shell

Azure host Azure Cloud Shell, een interactieve shell-omgeving die u via uw browser kunt gebruiken.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Met Cloud shell kunt u bash of PowerShell gebruiken om met Azure-Services te werken.Cloud Shell lets you use either bash or PowerShell to work with Azure services. U kunt de Cloud Shell vooraf geïnstalleerde opdrachten gebruiken om de code in dit artikel uit te voeren zonder dat u iets hoeft te installeren in uw lokale omgeving.You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell starten:To launch Azure Cloud Shell:

OptieOption Voor beeld/koppelingExample/Link
Selecteer Nu proberen in de rechterbovenhoek van een codeblok.Select Try It in the upper-right corner of a code block. Als u opnieuw proberen selecteert, wordt de code niet automatisch gekopieerd naar Cloud shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Voor beeld van uitproberen voor Azure Cloud Shell
Ga naar of selecteer de knop Cloud shell starten om Cloud shell in uw browser te openen. https://shell.azure.comGo to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. Cloud Shell starten in een nieuw vensterLaunch Cloud Shell in a new window
Selecteer de knop Cloud shell in de rechter menu balk van het Azure Portal.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Knop Cloud Shell in de Azure Portal

Als u de code in dit artikel in Azure Cloud Shell wilt uitvoeren:To run the code in this article in Azure Cloud Shell:

  1. Start Cloud Shell.Launch Cloud Shell.

  2. Selecteer de knop kopiëren in een code blok om de code te kopiëren.Select the Copy button on a code block to copy the code.

  3. Plak de code in de Cloud shell-sessie met CTRL+ + SHIFT+v in Windows en Linux, of cmd+SHIFT+v op macOS.Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.

  4. Druk op Enter om de code uit te voeren.Press Enter to run the code.

Als u ervoor kiest om de CLI lokaal te installeren en te gebruiken, moet u voor deze Quick Start de Azure CLI-versie 2.0.64 of hoger uitvoeren.If you choose to install and use the CLI locally, this quickstart requires that you are running the Azure CLI version 2.0.64 or later. Voer az --version uit om de versie te bekijken.Run az --version to find the version. Zie Azure CLI installeren als u de CLI wilt installeren of een upgrade wilt uitvoeren.If you need to install or upgrade, see Install Azure CLI.

Notitie

Als u de opdrachten in deze Snelstartgids lokaal uitvoert (in plaats van Azure Cloud Shell), moet u ervoor zorgen dat u de opdrachten als beheerder uitvoert.If running the commands in this quickstart locally (instead of Azure Cloud Shell), ensure you run the commands as administrator.

Een resourcegroep makenCreate a resource group

Een Azure-resourcegroep is een logische groep waarin Azure-resources worden geïmplementeerd en beheerd.An Azure resource group is a logical group in which Azure resources are deployed and managed. Wanneer u een resourcegroep maakt, wordt u gevraagd een locatie op te geven.When you create a resource group, you are asked to specify a location. Op deze locatie worden de meta gegevens van de resource groep opgeslagen, maar ook de resources die in Azure worden uitgevoerd als u geen andere regio opgeeft tijdens het maken van resources.This location is where resource group metadata is stored, it is also where your resources run in Azure if you don't specify another region during resource creation. Maak een resource groep met de opdracht AZ Group Create .Create a resource group using the az group create command.

In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt op de locatie VS - oost.The following example creates a resource group named myResourceGroup in the eastus location.

az group create --name myResourceGroup --location eastus

In de volgende voorbeelduitvoer ziet u dat de resourcegroep is gemaakt:The following example output shows the resource group created successfully:

{
  "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
  "location": "eastus",
  "managedBy": null,
  "name": "myResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

AKS-cluster makenCreate AKS cluster

Gebruik de opdracht AZ AKS Create om een AKS-cluster te maken.Use the az aks create command to create an AKS cluster. In het volgende voorbeeld wordt een cluster met de naam myAKSCluster gemaakt met één knooppunt.The following example creates a cluster named myAKSCluster with one node. Azure Monitor voor containers kan ook worden ingeschakeld met behulp van de parameter --enable-addons monitoring.Azure Monitor for containers is also enabled using the --enable-addons monitoring parameter. Dit kan enkele minuten duren.This will take several minutes to complete.

az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 1 --enable-addons monitoring --generate-ssh-keys

Na enkele minuten is de opdracht voltooid en retourneert deze informatie over het cluster in JSON-indeling.After a few minutes, the command completes and returns JSON-formatted information about the cluster.

Verbinding maken met het clusterConnect to the cluster

Als u een Kubernetes-cluster wilt beheren, gebruikt u kubectl, de Kubernetes-opdracht regel-client.To manage a Kubernetes cluster, you use kubectl, the Kubernetes command-line client. Als u Azure Cloud Shell gebruikt, is kubectl al geïnstalleerd.If you use Azure Cloud Shell, kubectl is already installed. Als u kubectl lokaal wilt installeren, gebruikt u de opdracht AZ AKS install-cli :To install kubectl locally, use the az aks install-cli command:

az aks install-cli

Gebruik de opdracht az aks get-credentials om kubectl zodanig te configureren dat er verbinding wordt gemaakt met het Kubernetes-cluster.To configure kubectl to connect to your Kubernetes cluster, use the az aks get-credentials command. Bij deze opdracht worden referenties gedownload en wordt Kubernetes CLI geconfigureerd voor het gebruik van deze referenties.This command downloads credentials and configures the Kubernetes CLI to use them.

az aks get-credentials --resource-group myResourceGroup --name myAKSCluster

Als u de verbinding met uw cluster wilt controleren, gebruikt u de opdracht kubectl get om een lijst met clusterknooppunten te retourneren.To verify the connection to your cluster, use the kubectl get command to return a list of the cluster nodes.

kubectl get nodes

In de volgende voorbeelduitvoer ziet u het enkele knooppunt dat is gemaakt in de vorige stappen.The following example output shows the single node created in the previous steps. Zorg ervoor dat de status van het knooppunt Ready is:Make sure that the status of the node is Ready:

NAME                       STATUS   ROLES   AGE     VERSION
aks-nodepool1-31718369-0   Ready    agent   6m44s   v1.12.8

De toepassing uitvoerenRun the application

In een Kubernetes-manifestbestand wordt een gewenste status voor het cluster gedefinieerd, zoals welke containerinstallatiekopieën moeten worden uitgevoerd.A Kubernetes manifest file defines a desired state for the cluster, such as what container images to run. In deze snelstart worden met behulp van een manifest alle objecten gemaakt die nodig zijn om de Azure Vote-toepassing uit te voeren.In this quickstart, a manifest is used to create all objects needed to run the Azure Vote application. Dit manifest bevat twee Kubernetes-implementaties : een voor de voor beelden van Azure stem python-toepassingen en de andere voor een redis-exemplaar.This manifest includes two Kubernetes deployments - one for the sample Azure Vote Python applications, and the other for a Redis instance. Er zijn twee Kubernetes-Services gemaakt: een interne service voor het redis-exemplaar en een externe service voor toegang tot de Azure stem-toepassing via internet.Two Kubernetes Services are also created - an internal service for the Redis instance, and an external service to access the Azure Vote application from the internet.

Tip

In deze snelstart maakt en implementeert u handmatig uw toepassingsmanifesten in het AKS-cluster.In this quickstart, you manually create and deploy your application manifests to the AKS cluster. In meer Real-World scenario's kunt u Azure dev Spaces gebruiken om snel uw code te herhalen en fouten in het AKS-cluster op te sporen.In more real-world scenarios, you can use Azure Dev Spaces to rapidly iterate and debug your code directly in the AKS cluster. U kunt Dev Spaces gebruiken op alle OS-platformen en in alle ontwikkelomgevingen, en u kunt samenwerken met andere leden van uw team.You can use Dev Spaces across OS platforms and development environments, and work together with others on your team.

Maak een bestand met de naam azure-vote.yaml en kopieer de volgende YAML-definitie naar het bestand.Create a file named azure-vote.yaml and copy in the following YAML definition. Als u Azure Cloud Shell gebruikt, kan dit bestand worden gemaakt met behulp van vi of nano, zoals bij een virtueel of fysiek systeem:If you use the Azure Cloud Shell, this file can be created using vi or nano as if working on a virtual or physical system:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: azure-vote-back
spec:
  replicas: 1
  selector:
    matchLabels:
      app: azure-vote-back
  template:
    metadata:
      labels:
        app: azure-vote-back
    spec:
      nodeSelector:
        "beta.kubernetes.io/os": linux
      containers:
      - name: azure-vote-back
        image: redis
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 250m
            memory: 256Mi
        ports:
        - containerPort: 6379
          name: redis
---
apiVersion: v1
kind: Service
metadata:
  name: azure-vote-back
spec:
  ports:
  - port: 6379
  selector:
    app: azure-vote-back
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: azure-vote-front
spec:
  replicas: 1
  selector:
    matchLabels:
      app: azure-vote-front
  template:
    metadata:
      labels:
        app: azure-vote-front
    spec:
      nodeSelector:
        "beta.kubernetes.io/os": linux
      containers:
      - name: azure-vote-front
        image: microsoft/azure-vote-front:v1
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 250m
            memory: 256Mi
        ports:
        - containerPort: 80
        env:
        - name: REDIS
          value: "azure-vote-back"
---
apiVersion: v1
kind: Service
metadata:
  name: azure-vote-front
spec:
  type: LoadBalancer
  ports:
  - port: 80
  selector:
    app: azure-vote-front

Implementeer de toepassing met behulp van de opdracht kubectl apply en geef de naam van het yaml-manifest op:Deploy the application using the kubectl apply command and specify the name of your YAML manifest:

kubectl apply -f azure-vote.yaml

In de volgende voorbeelduitvoer ziet u dat je implementaties en services zijn gemaakt:The following example output shows the Deployments and Services created successfully:

deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created

De toepassing testenTest the application

Wanneer de toepassing wordt uitgevoerd, maakt een Kubernetes-service de front-end van de toepassing beschikbaar op internet.When the application runs, a Kubernetes service exposes the application front end to the internet. Dit proces kan enkele minuten duren.This process can take a few minutes to complete.

Gebruik de opdracht kubectl get service met het argument --watch om de voortgang te controleren.To monitor progress, use the kubectl get service command with the --watch argument.

kubectl get service azure-vote-front --watch

Eerst wordt het EXTERNAL-IP-adres voor de service azure-vote-front weergegeven als in behandeling.Initially the EXTERNAL-IP for the azure-vote-front service is shown as pending.

NAME               TYPE           CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
azure-vote-front   LoadBalancer   10.0.37.27   <pending>     80:30572/TCP   6s

Zodra het EXTERNAL-IP-adres is gewijzigd van in behandeling in een echt openbaar IP-adres, gebruikt u CTRL-C om het controleproces van kubectl te stoppen.When the EXTERNAL-IP address changes from pending to an actual public IP address, use CTRL-C to stop the kubectl watch process. In de volgende voorbeelduitvoer ziet u een geldig openbaar IP-adres dat aan de service is toegewezen:The following example output shows a valid public IP address assigned to the service:

azure-vote-front   LoadBalancer   10.0.37.27   52.179.23.131   80:30572/TCP   2m

Open een webbrowser naar het externe IP-adres van uw service om de Azure Vote-app te zien.To see the Azure Vote app in action, open a web browser to the external IP address of your service.

Azure stem-app in actie

Wanneer het AKS-cluster is gemaakt, is Azure monitor voor containers ingeschakeld voor het vastleggen van metrische gegevens over de status van de cluster knooppunten en de peul.When the AKS cluster was created, Azure Monitor for containers was enabled to capture health metrics for both the cluster nodes and pods. Deze metrische gegevens over de status zijn in de Azure-portal beschikbaar.These health metrics are available in the Azure portal.

Het cluster verwijderenDelete the cluster

Om Azure-kosten te vermijden, moet u overbodige resources opschonen.To avoid Azure charges, you should clean up unneeded resources. Wanneer het cluster niet meer nodig is, gebruikt u de opdracht AZ Group delete om de resource groep, de container service en alle gerelateerde resources te verwijderen.When the cluster is no longer needed, use the az group delete command to remove the resource group, container service, and all related resources.

az group delete --name myResourceGroup --yes --no-wait

Notitie

Wanneer u het cluster verwijdert, wordt de Azure Active Directory-service-principal die door het AKS-cluster wordt gebruikt niet verwijderd.When you delete the cluster, the Azure Active Directory service principal used by the AKS cluster is not removed. Zie AKS Service Principal overwegingen en verwijderenvoor stappen voor het verwijderen van de Service-Principal.For steps on how to remove the service principal, see AKS service principal considerations and deletion.

Code ophalenGet the code

In deze snelstartgids zijn vooraf gemaakte containerinstallatiekopieën gebruikt om een Kubernetes-implementatie te maken.In this quickstart, pre-created container images were used to create a Kubernetes deployment. De gerelateerde toepassingscode, Dockerfile en het Kubernetes-manifestbestand zijn beschikbaar op GitHub.The related application code, Dockerfile, and Kubernetes manifest file are available on GitHub.

https://github.com/Azure-Samples/azure-voting-app-redis

Volgende stappenNext steps

In deze snelstart hebt u een Kubernetes-cluster geïmplementeerd en vervolgens een toepassing met meerdere containers geïmplementeerd.In this quickstart, you deployed a Kubernetes cluster and deployed a multi-container application to it. U hebt ook toegang tot het Kubernetes Web dash board voor uw AKS-cluster.You can also access the Kubernetes web dashboard for your AKS cluster.

Voor meer informatie over AKS en een volledig stapsgewijs voorbeeld van code tot implementatie gaat u naar de zelfstudie over Kubernetes-clusters.To learn more about AKS, and walk through a complete code to deployment example, continue to the Kubernetes cluster tutorial.