Snabb start: Distribuera ett Azure Kubernetes service-kluster med Azure CLIQuickstart: Deploy an Azure Kubernetes Service cluster using the Azure CLI

I den här snabb starten distribuerar du ett Azure Kubernetes service-kluster (AKS) med hjälp av Azure CLI.In this quickstart, you deploy an Azure Kubernetes Service (AKS) cluster using the Azure CLI. AKS är en hanterad Kubernetes-tjänst som gör att du snabbt kan distribuera och hantera kluster.AKS is a managed Kubernetes service that lets you quickly deploy and manage clusters. Ett flerbehållarprogram som består av en webbklientdel och en Redis-instans körs sedan i klustret.A multi-container application that includes a web front end and a Redis instance is run in the cluster. Då ser du hur du övervakar hälsotillståndet för klustret och poddar som kör programmet.You then see how to monitor the health of the cluster and pods that run your application.

Mer information om hur du skapar en pool med Windows Server-noder finns i skapa ett AKS-kluster som stöder Windows Server-behållare.To learn more about creating a Windows Server node pool, see Create an AKS cluster that supports Windows Server containers.

Röstnings app distribuerad i Azure Kubernetes-tjänsten

Den här snabbstarten förutsätter grundläggande kunskaper om Kubernetes-begrepp.This quickstart assumes a basic understanding of Kubernetes concepts. Mer information finns i Viktiga koncept för Azure Kubernetes Service (AKS).For more information, see Kubernetes core concepts for Azure Kubernetes Service (AKS).

Om du inte har en Azure-prenumerationkan du skapa ett kostnads fritt konto innan du börjar.If you don't have an Azure subscription, create a free account before you begin.

FörutsättningarPrerequisites

  • Använd Azure Cloud Shell med bash-miljön.Use Azure Cloud Shell using the bash environment.

    Inbäddad startEmbed launch

  • Om du vill kan du Installera Azure CLI för att köra CLI-referens kommandon.If you prefer, install Azure CLI to run CLI reference commands.

    • Om du använder en lokal installation loggar du in med Azure CLI med hjälp av kommandot az login.If you're using a local install, sign in with Azure CLI by using the az login command. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen.To finish the authentication process, follow the steps displayed in your terminal. Fler inloggningsalternativ finns i Logga in med Azure CLI.See Sign in with Azure CLI for additional sign-in options.
    • När du uppmanas till det installerar du Azure CLI-tillägg vid första användning.When you're prompted, install Azure CLI extensions on first use. Mer information om tillägg finns i Använda tillägg med Azure CLI.For more information about extensions, see Use extensions with Azure CLI.
    • Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade.Run az version to find the version and dependent libraries that are installed. Om du vill uppgradera till den senaste versionen kör du az upgrade.To upgrade to the latest version, run az upgrade.
  • Den här artikeln kräver version 2.0.64 eller senare av Azure CLI.This article requires version 2.0.64 or later of the Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.If using Azure Cloud Shell, the latest version is already installed.

Anteckning

Om du kör kommandona i den här snabb starten lokalt (i stället för Azure Cloud Shell), måste du kontrol lera att du kör kommandona som administratör.If running the commands in this quickstart locally (instead of Azure Cloud Shell), ensure you run the commands as administrator.

Skapa en resursgruppCreate a resource group

En Azure-resursgrupp är en logisk grupp där Azure-resurser distribueras och hanteras.An Azure resource group is a logical group in which Azure resources are deployed and managed. När du skapar en resursgrupp uppmanas du att ange en plats.When you create a resource group, you are asked to specify a location. Den här platsen är den plats där resurs gruppens metadata lagras, men det är även där dina resurser körs i Azure om du inte anger någon annan region när du skapar en resurs.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. Skapa en resursgrupp med hjälp av kommandot az group create.Create a resource group using the az group create command.

I följande exempel skapas en resursgrupp med namnet myResourceGroup på platsen eastus.The following example creates a resource group named myResourceGroup in the eastus location.

az group create --name myResourceGroup --location eastus

Följande exempelutdata visar den resursgrupp som skapats: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
}

Skapa AKS-klusterCreate AKS cluster

Använd kommandot az aks create för att skapa ett AKS-kluster.Use the az aks create command to create an AKS cluster. I följande exempel skapas ett kluster med namnet myAKSCluster och en enda nod.The following example creates a cluster named myAKSCluster with one node. Det tar flera minuter att slutföra.This will take several minutes to complete.

Anteckning

Azure Monitor för behållare aktive ras med övervaknings parametern--Enable-addon , som kräver att Microsoft. OperationsManagement och Microsoft. OperationalInsights registreras på din prenumeration.Azure Monitor for containers is enabled using the --enable-addons monitoring parameter, which requires Microsoft.OperationsManagement and Microsoft.OperationalInsights to be registered on you subscription. Kontrol lera registrerings statusen:To check the registration status:

az provider show -n Microsoft.OperationsManagement -o table
az provider show -n Microsoft.OperationalInsights -o table

Om de inte är registrerade använder du följande kommando för att registrera Microsoft. OperationsManagement och Microsoft. OperationalInsights:If they are not registered, use the following command to register Microsoft.OperationsManagement and Microsoft.OperationalInsights:

az provider register --namespace Microsoft.OperationsManagement
az provider register --namespace Microsoft.OperationalInsights
az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 1 --enable-addons monitoring --generate-ssh-keys

Efter några minuter slutförs kommandot och returnerar JSON-formaterad information om klustret.After a few minutes, the command completes and returns JSON-formatted information about the cluster.

Anteckning

När du skapar ett AKS-kluster skapas en andra resurs grupp automatiskt för att lagra AKS-resurserna.When creating an AKS cluster a second resource group is automatically created to store the AKS resources. Mer information finns i avsnittet varför skapas två resurs grupper med AKS?For more information see Why are two resource groups created with AKS?

Anslut till klustretConnect to the cluster

För att hantera Kubernetes-kluster använder du kubectl, Kubernetes kommandoradsklient.To manage a Kubernetes cluster, you use kubectl, the Kubernetes command-line client. Om du använder Azure Cloud Shell är kubectl redan installerat.If you use Azure Cloud Shell, kubectl is already installed. För att installera kubectl lokalt använder du kommandot az aks install-cli:To install kubectl locally, use the az aks install-cli command:

az aks install-cli

För att konfigurera kubectl till att ansluta till ditt Kubernetes-kluster använder du kommandot az aks get-credentials.To configure kubectl to connect to your Kubernetes cluster, use the az aks get-credentials command. Det här kommandot laddar ned autentiseringsuppgifter och konfigurerar Kubernetes CLI för att använda dem.This command downloads credentials and configures the Kubernetes CLI to use them.

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

Anteckning

Kommandot ovan använder standard platsen för konfigurations filen Kubernetes, som är ~/.kube/config .The above command uses the default location for the Kubernetes configuration file, which is ~/.kube/config. Du kan ange en annan plats för Kubernetes-konfigurations filen med --File.You can specify a different location for your Kubernetes configuration file using --file.

Du kan kontrollera anslutningen till klustret genom att köra kommandot kubectl get för att returnera en lista över klusternoderna.To verify the connection to your cluster, use the kubectl get command to return a list of the cluster nodes.

kubectl get nodes

Följande exempelutdata visar den enskilda nod som skapades i föregående steg.The following example output shows the single node created in the previous steps. Kontrollera att status för noden är Klar: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

Kör programmetRun the application

En manifest fil för Kubernetes definierar ett önskat tillstånd för klustret, till exempel vilka behållar avbildningar som ska köras.A Kubernetes manifest file defines a desired state for the cluster, such as what container images to run. I den här snabb starten används ett manifest för att skapa alla objekt som behövs för att köra Azures röst program.In this quickstart, a manifest is used to create all objects needed to run the Azure Vote application. Det här manifestet innehåller två Kubernetes-distributioner – en för exemplet på Azure Vote Python-program och den andra för en Redis-instans.This manifest includes two Kubernetes deployments - one for the sample Azure Vote Python applications, and the other for a Redis instance. Två Kubernetes-tjänster skapas också – en intern tjänst för Redis-instansen och en extern tjänst för att komma åt Azure Vote-programmet från 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.

Skapa en fil med namnet azure-vote.yaml och kopiera följande YAML-definition.Create a file named azure-vote.yaml and copy in the following YAML definition. Om du använder Azure Cloud Shell kan filen skapas med code , vi eller nano som om du arbetar på ett virtuellt eller fysiskt system:If you use the Azure Cloud Shell, this file can be created using code, 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: mcr.microsoft.com/oss/bitnami/redis:6.0.8
        env:
        - name: ALLOW_EMPTY_PASSWORD
          value: "yes"
        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: mcr.microsoft.com/azuredocs/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

Distribuera programmet med kommandot kubectl apply och ange namnet på ditt YAML-manifest:Deploy the application using the kubectl apply command and specify the name of your YAML manifest:

kubectl apply -f azure-vote.yaml

Följande exempelutdata visar de distributioner och tjänster som skapats: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

Testa programmetTest the application

När programmet körs så exponerar en Kubernetes-tjänst programmets klientdel mot Internet.When the application runs, a Kubernetes service exposes the application front end to the internet. Den här processen kan ta ett par minuter att slutföra.This process can take a few minutes to complete.

Du kan övervaka förloppet genom att använda kommandot kubectl get service med argumentet --watch.To monitor progress, use the kubectl get service command with the --watch argument.

kubectl get service azure-vote-front --watch

Till en början visas EXTERNAL-IP för azure-vote-front-tjänsten som väntande.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

När EXTERNAL-IP-adressen ändras från väntande till en faktisk offentlig IP-adress använder du CTRL-C för att stoppa kubectl-övervakningsprocessen.When the EXTERNAL-IP address changes from pending to an actual public IP address, use CTRL-C to stop the kubectl watch process. Följande exempelutdata visar en giltig offentlig IP-adress som har tilldelats tjänsten: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

Om du vill se hur Azure Vote-appen fungerar i praktiken så öppnar du en webbläsare till den externa IP-adressen för din tjänst.To see the Azure Vote app in action, open a web browser to the external IP address of your service.

Röstnings app distribuerad i Azure Kubernetes-tjänsten

När AKS-klustret skapades har Azure Monitor för behållare Aktiver ATS för att avbilda hälso mått för både klusternoderna och poddar.When the AKS cluster was created, Azure Monitor for containers was enabled to capture health metrics for both the cluster nodes and pods. De här hälsomåtten är tillgängliga i Azure-portalen.These health metrics are available in the Azure portal.

Ta bort klustretDelete the cluster

För att undvika Azure-avgifter bör du rensa resurser som inte behövs.To avoid Azure charges, you should clean up unneeded resources. När klustret inte längre behövs kan du använda kommandot az group delete för att ta bort resursgruppen, containertjänsten och alla relaterade resurser.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

Anteckning

När du tar bort klustret tas Azure Active Directory-tjänstens huvudnamn, som används av AKS-klustret, inte bort.When you delete the cluster, the Azure Active Directory service principal used by the AKS cluster is not removed. Stegvisa instruktioner om hur du tar bort tjänstens huvudnamn finns i dokumentationen om viktiga överväganden och borttagning av AKS-tjänsten.For steps on how to remove the service principal, see AKS service principal considerations and deletion. Om du använde en hanterad identitet hanteras identiteten av plattformen och kräver inte borttagning.If you used a managed identity, the identity is managed by the platform and does not require removal.

Hämta kodenGet the code

I den här snabbstarten har fördefinierade containeravbildningar användes för att skapa en Kubernetes-distribution.In this quickstart, pre-created container images were used to create a Kubernetes deployment. Den tillhörande programkoden, Dockerfile och Kubernetes-manifestfilen finns på GitHub.The related application code, Dockerfile, and Kubernetes manifest file are available on GitHub.

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

Nästa stegNext steps

I den här snabbstartsguiden distribuerade du ett Kubernetes-kluster och distribuerade sedan ett flercontainerprogram till det.In this quickstart, you deployed a Kubernetes cluster and deployed a multi-container application to it. Du kan också komma åt Kubernetes-webbinstrumentpanelen för ditt AKS-kluster.You can also access the Kubernetes web dashboard for your AKS cluster.

Om du vill lära dig mer om AKS, och gå igenom ett exempel med fullständig distributionskod, fortsätter du till självstudiekursen om Kubernetes-kluster.To learn more about AKS, and walk through a complete code to deployment example, continue to the Kubernetes cluster tutorial.