Snabbstart: Distribuera ett Azure Kubernetes Service-kluster (AKS) med hjälp av Azure-Portal

Azure Kubernetes Service (AKS) är en hanterad Kubernetes-tjänst som gör att du snabbt kan distribuera och hantera kluster. I den här snabbstarten kommer du att:

  • Distribuera ett AKS-kluster med hjälp av Azure-Portal.
  • Kör ett exempelprogram med flera containrar med en webbklientdel och en Redis-instans i klustret.

Skärmbild av att bläddra till Azure Vote-exempelprogrammet.

Den här snabbstarten förutsätter grundläggande kunskaper om Kubernetes-begrepp. Mer information finns i Viktiga koncept för Azure Kubernetes Service (AKS).

Krav

Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt Azure-konto innan du börjar.

Skapa ett AKS-kluster

  1. Logga in på Azure-portalen.

  2. I menyn i Azure-portalen eller på sidan Start väljer du Skapa en resurs.

  3. Välj Containrar>Kubernetes Service.

  4. På sidan Grunder konfigurerar du följande alternativ:

    • Projektinformation:
      • Välj en Azure-prenumeration.
      • Välj eller skapa en Azure-resursgrupp, till exempel myResourceGroup.
    • Klusterinformation:
      • Kontrollera att förinställningskonfigurationen är Standard ($$). Mer information om förinställda konfigurationer finns i Förinställningar för klusterkonfiguration i Azure-Portal.
      • Ange ett Kubernetes-klusternamn, till exempel myAKSCluster.
      • Välj en region för AKS-klustret och låt standardvärdet vara valt för Kubernetes-versionen.
      • Välj 99,5 % för API-servertillgänglighet.
    • Primär nodpool:
      • Låt standardvärdena vara kvar.

    Skärmbild av Skapa AKS-kluster – ange grundläggande information.

    Anteckning

    Du kan ändra den förinställda konfigurationen när du skapar klustret genom att välja Mer informasjon och jämföra förinställningar och välja ett annat alternativ. Skärmbild av Skapa AKS-kluster – förinställda alternativ för portalen.

  5. Välj Nästa: Nodpooler när det är klart.

  6. Behåll standardalternativen för nodpooler . Klicka på Nästa: Åtkomst längst ned på skärmen.

  7. Konfigurera följande alternativ på sidan Åtkomst :

    • Standardvärdet för Resursidentitet är Systemtilldelad hanterad identitet. Hanterade identiteter ger en identitet som program kan använda när de ansluter till resurser som stöder Azure Active Directory-autentisering (Azure AD). Mer information om hanterade identiteter finns i Vad är hanterade identiteter för Azure-resurser?.
    • Alternativet rollbaserad åtkomstkontroll i Kubernetes (RBAC) är standardvärdet för att ge mer detaljerad kontroll över åtkomsten till De Kubernetes-resurser som distribueras i aks-klustret.

    Som standard används Grundläggande nätverk och Containerinsikter aktiveras .

  8. Klicka på Granska + skapa. När du navigerar till fliken Granska + skapa kör Azure validering på de inställningar som du har valt. Om valideringen godkänns kan du fortsätta att skapa AKS-klustret genom att välja Skapa. Om verifieringen misslyckas anger den vilka inställningar som måste ändras.

  9. Det tar några minuter att skapa AKS-klustret. När distributionen är klar navigerar du till resursen genom att antingen:

    • Välja Gå till resurs, eller

    • Bläddra till AKS-klusterresursgruppen och välj AKS-resursen. I det här exemplet bläddrar du efter myResourceGroup och väljer resursen myAKSCluster.

      Skärmbild av AKS-instrumentpanelen i Azure-Portal.

Anslut till klustret

Om du vill hantera ett Kubernetes-kluster använder du Kubernetes-kommandoradsklienten kubectl. kubectlär redan installerat om du använder Azure Cloud Shell. Om du inte känner till Cloud Shell kan du läsa Översikt över Azure Cloud Shell.

  1. Öppna Cloud Shell med >_ knappen överst i Azure-Portal.

    Skärmbild av alternativet Öppna Azure Cloud Shell i portalen.

    Anteckning

    Så här utför du dessa åtgärder i en lokal gränssnittsinstallation:

    1. Kontrollera att Azure CLI eller Azure PowerShell är installerat.
    2. Anslut till Azure via az login kommandot eller Connect-AzAccount .
  1. Konfigurera kubectl för att ansluta till ditt Kubernetes-kluster med kommandot az aks get-credentials . Följande kommando laddar ned autentiseringsuppgifter och konfigurerar Kubernetes CLI för att använda dem.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  1. Kontrollera anslutningen till klustret med hjälp av kubectl get för att returnera en lista över klusternoderna.

    kubectl get nodes
    

    Utdata visar den enda nod som skapades i föregående steg. Kontrollera att nodstatusen är Klar:

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-agentpool-12345678-vmss000000   Ready    agent   23m   v1.19.11
    aks-agentpool-12345678-vmss000001   Ready    agent   24m   v1.19.11
    

Distribuera programmet

En Kubernetes-manifestfil definierar ett klusters önskade tillstånd, till exempel vilka containeravbildningar som ska köras.

I den här snabbstarten använder du ett manifest för att skapa alla objekt som behövs för att köra Azure Vote-programmet. Manifestet innehåller två Kubernetes-distributioner:

  • Exempelprogram för Azure Vote Python.
  • En Redis-instans.

Två Kubernetes-tjänster skapas också:

  • En intern tjänst för Redis-instansen.
  • En extern tjänst för åtkomst till Azure Vote-programmet från Internet.
  1. I Cloud Shell använder du en redigerare för att skapa en fil med namnet azure-vote.yaml, till exempel:

    • code azure-vote.yaml
    • nano azure-vote.yaml eller
    • vi azure-vote.yaml.
  2. Kopiera följande YAML-definition:

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

    En analys av YAML-manifestfiler finns i Distributioner och YAML-manifest.

  3. Distribuera programmet med kommandot kubectl apply och ange namnet på yaml-manifestet:

    kubectl apply -f azure-vote.yaml
    

    Utdata visar de distributioner och tjänster som har skapats:

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

Testa programmet

När programmet körs så exponerar en Kubernetes-tjänst programmets klientdel mot Internet. Den här processen kan ta ett par minuter att slutföra.

Om du vill övervaka förloppet använder du kubectl get service kommandot med --watch argumentet .

kubectl get service azure-vote-front --watch

EXTERNAL-IP-utdata för azure-vote-front tjänsten visas inledningsvis som väntande.

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 CTRL-C du för att stoppa kubectl bevakningsprocessen. Följande exempelutdata visar en giltig offentlig IP-adress som har tilldelats tjänsten:

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.

Skärmbild av att bläddra till Azure Vote-exempelprogrammet.

Ta bort klustret

Om du inte planerar att gå igenom de självstudier som följer kan du rensa dina onödiga resurser för att undvika Azure-avgifter. Välj knappen Ta bort på AKS-klusterinstrumentpanelen. Du kan också använda kommandot az group delete eller cmdleten Remove-AzResourceGroup för att ta bort resursgruppen, containertjänsten och alla relaterade resurser.

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

Anteckning

AKS-klustret skapades med en systemtilldelad hanterad identitet. Den här identiteten hanteras av plattformen och kräver inte borttagning.

Nästa steg

I den här snabbstarten distribuerade du ett Kubernetes-kluster och distribuerade sedan ett exempelprogram med flera containrar till det.

Om du vill veta mer om AKS genom att gå igenom ett fullständigt exempel, inklusive att skapa ett program, distribuera från Azure Container Registry, uppdatera ett program som körs och skala och uppgradera klustret, fortsätter du till självstudiekursen för Kubernetes-klustret.