Quickstart: Een AKS-cluster (Azure Kubernetes Service) implementeren met Azure Portal

Azure Kubernetes Service (AKS) is een beheerde Kubernetes-service waarmee u snel clusters kunt implementeren en beheren. In deze quickstart gaat u het volgende doen:

  • Implementeer een AKS-cluster met behulp van Azure Portal.
  • Voer een toepassing met meerdere containers uit met een webfront-end en een Redis-exemplaar in het cluster.
  • Controleer de status van het cluster en de pods die uw toepassing uitvoeren.

Afbeelding van browsen naar de Azure Vote-voorbeeldtoepassing

In deze snelstart wordt ervan uitgegaan dat u een basisbegrip hebt van Kubernetes-concepten. Zie Kubernetes-kernconcepten voor Azure Kubernetes Service (AKS) voor meer informatie.

Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.

Vereisten

Meld u aan bij de Azure Portal op https://portal.azure.com.

Een AKS-cluster maken

  1. Selecteer in het menu van de Azure-portal of op de startpagina de optie Een resource maken.

  2. Selecteer Containers > Kubernetes-service.

  3. Configureer op de pagina Basisprincipes de volgende opties:

    • Project details:
      • Selecteer een Azure-abonnement.
      • Selecteer of maak een Azure-resourcegroep, zoals myResourceGroup.
    • Clusterdetails:
      • Zorg ervoor dat de vooraf ingestelde configuratie Standard ($$) is. Zie Voorinstellingen voor clusterconfiguratie in de Azure Portal voor meer informatie over vooraf ingestelde configuraties.
      • Voer een Kubernetes-clusternaam in, zoals myAKSCluster.
      • Selecteer een Regio en Kubernetes-versie voor het AKS-cluster.
    • Primaire knooppuntgroep:
      • Laat de standaardwaarden geselecteerd.

    AKS-cluster maken - basisgegevens opgeven

    Notitie

    U kunt de vooraf ingestelde configuratie wijzigen bij het maken van uw cluster door vooraf ingestelde Alles weergeven selecteren en een andere optie te kiezen. AKS-cluster maken - vooraf ingestelde opties voor portal

  4. Selecteer Volgende: knooppuntgroepen wanneer u klaar bent.

  5. Laat de standaardopties voor Knooppuntgroepen staan. Klik boven aan het venster op Volgende: Verificatie.

    Waarschuwing

    Het kan enkele minuten duren voordat nieuw gemaakte Azure AD-service-principals zijn doorgegeven en beschikbaar zijn. Dit leidt tot fouten met de fout 'service-principal niet gevonden' en validatiefouten in Azure Portal. Als u deze bump tegen komt, raadpleegt u ons artikel over probleemoplossing voor oplossingen.

  6. Configureer de volgende opties op de pagina Verificatie:

    • Maak een nieuwe clusteridentiteit door:
      • Laat het veld Verificatie met een door het systeem beheerde identiteit achter, of
      • Service-principal kiezen voor het gebruik van een service-principal.
        • Selecteer (nieuwe) standaardservice-principal om een standaardservice-principal te maken, of
        • Selecteer Service-principal configureren om een bestaande te gebruiken. U moet de SPN-client-id en het geheim van de bestaande principal verstrekken.
    • Schakel de optie Op kubernetes-rollen gebaseerd toegangsbeheer (Kubernetes RBAC) in om een meer fijnkeurig beheer te bieden over de toegang tot de Kubernetes-resources die in uw AKS-cluster zijn geïmplementeerd.

    Standaard worden basis netwerkfuncties gebruikt en Azure Monitor voor containers is ingeschakeld.

  7. Klik op Beoordelen en maken en vervolgens op Maken wanneer de validatie is voltooid.

  8. Het duurt een paar minuten om het AKS-cluster te maken. Wanneer de implementatie is voltooid, navigeert u naar uw resource door een van de volgende te kiezen:

    • Klik op Ga naar resource of

    • Blader naar de AKS-clusterresourcegroep en selecteer de AKS-resource.

      • Per voorbeeldclusterdashboard hieronder: bladeren naar myResourceGroup en myAKSCluster-resource selecteren.

      Voorbeeld van AKS-dashboard in de Azure-portal

Verbinding maken met het cluster

Als u een Kubernetes-cluster wilt beheren, gebruikt u de Kubernetes-opdrachtregelclient, kubectl. kubectl is al geïnstalleerd als u Azure Cloud Shell.

  1. Open Cloud Shell met behulp van de knop >_ boven in de Azure-portal.

    Open Azure Cloud Shell in de portal

    Notitie

    Deze bewerkingen uitvoeren in een lokale shell-installatie:

    1. Controleer of Azure CLI is geïnstalleerd.
    2. Verbinding maken naar Azure via de az login opdracht .
  2. Configureer kubectl om verbinding te maken met uw Kubernetes-cluster met behulp van de opdracht az aks get-credentials. Met de volgende opdracht worden referenties gedownload en wordt de Kubernetes CLI geconfigureerd voor het gebruik ervan.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  3. Controleer de verbinding met uw cluster met om kubectl get een lijst met clusterknooppunten te retourneren.

    kubectl get nodes
    

    Uitvoer toont het enkele knooppunt dat in de vorige stappen is gemaakt. Zorg ervoor dat de status van het knooppunt Gereed is:

    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
    

De toepassing uitvoeren

Een Kubernetes-manifestbestand definieert de gewenste status van een cluster, zoals welke containerafbeeldingen moeten worden uitgevoerd.

In deze quickstart gebruikt u een manifest om alle objecten te maken die nodig zijn om de Azure Vote-toepassing uit te voeren. Dit manifest bevat twee Kubernetes-implementaties:

  • De Azure Vote Python-voorbeeldtoepassingen.
  • Een Redis-exemplaar.

Er worden ook twee Kubernetes-services gemaakt:

  • Een interne service voor het Redis-exemplaar.
  • Een externe service voor toegang tot de Azure Vote-toepassing vanaf internet.
  1. Gebruik in Cloud Shell editor een bestand met de naam azure-vote.yaml , zoals:

    • code azure-vote.yaml
    • nano azure-vote.yamlOf
    • vi azure-vote.yaml.
  2. Kopieer de volgende YAML-definitie:

    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
    
  3. Implementeer de toepassing met behulp kubectl apply van de opdracht en geef de naam van uw YAML-manifest op:

    kubectl apply -f azure-vote.yaml
    

    Uitvoer toont de gemaakte implementaties en services:

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

De toepassing testen

Wanneer de toepassing wordt uitgevoerd, maakt een Kubernetes-service de front-end van de toepassing beschikbaar op internet. Dit proces kan enkele minuten duren.

Als u de voortgang wilt controleren, gebruikt kubectl get service u de opdracht met het argument --watch .

kubectl get service azure-vote-front --watch

De external-IP-uitvoer voor de azure-vote-front service wordt in eerste instantie als in behandeling weer geven.

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 kubectl watch-proces te stoppen. In de volgende voorbeelduitvoer ziet u een geldig openbaar IP-adres dat aan de service is toegewezen:

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.

Afbeelding van browsen naar de Azure Vote-voorbeeldtoepassing

Status en logboeken controleren

Toen u het cluster maakte, werd Azure Monitor voor containers ingeschakeld. Azure Monitor containers biedt metrische statusgegevens voor zowel het AKS-cluster als de pods die op het cluster worden uitgevoerd.

Het duurt enkele minuten voordat metrische gegevens in de Azure Portal. De huidige status, uptime en resourcegebruik voor de Azure Vote-pods weergeven:

  1. Blader terug naar de AKS-resource in de Azure Portal.
  2. Kies onder Bewaking aan de linkerkant de optie Insights.
  3. Kies bovenaan + Filter toevoegen.
  4. Selecteer Naamruimte als eigenschap en kies vervolgens <All but kube-system> .
  5. Selecteer Containers om ze weer te geven.

De azure-vote-back azure-vote-front containers en worden weergegeven, zoals wordt weergegeven in het volgende voorbeeld:

De status van actieve containers in AKS weergeven

Als u logboeken voor de pod wilt weergeven, selecteert u Weergeven in Log Analytics boven aan de pagina azure-vote-front azure-vote-front | Overzichtsgebied aan de rechterkant. Deze logboeken bevatten de stromen stdout en stderr van de container.

De containerlogboeken in AKS weergeven

Cluster verwijderen

Schoon uw overbodige resources op om Azure-kosten te voorkomen. Selecteer de knop Verwijderen op het AKS-clusterdashboard. U kunt ook de opdracht az aks delete gebruiken in de Cloud Shell:

az aks delete --resource-group myResourceGroup --name myAKSCluster --no-wait

Notitie

Wanneer u het cluster verwijdert, wordt de Azure Active Directory-service-principal die door het AKS-cluster wordt gebruikt niet verwijderd. Zie Overwegingen voor en verwijdering van AKS service-principal voor stappen voor het verwijderen van de service-principal.

Als u een beheerde identiteit hebt gebruikt, wordt de identiteit beheerd door het platform en hoeft deze niet te worden verwijderd.

Code ophalen

In deze quickstart zijn al bestaande containerafbeeldingen gebruikt om een Kubernetes-implementatie te maken. De gerelateerde toepassingscode, Dockerfile en het Kubernetes-manifestbestand zijn beschikbaar op GitHub.

Volgende stappen

In deze quickstart hebt u een Kubernetes-cluster geïmplementeerd en vervolgens een toepassing met meerdere containers geïmplementeerd. Toegang tot het Kubernetes-webdashboard voor uw AKS-cluster.

Ga verder met de zelfstudie Kubernetes-cluster voor meer informatie over AKS door een volledig voorbeeld te volgen, waaronder het bouwen van een toepassing, het implementeren vanuit Azure Container Registry, het bijwerken van een toepassing die wordt uitgevoerd en het schalen en upgraden van uw cluster.