Quickstart: Een Azure Kubernetes Service (AKS) Automatisch cluster maken

Van toepassing op: ✔️ AKS Automatisch

Azure Kubernetes Service (AKS) Automatic is een beheerde Kubernetes-ervaring waarmee configuraties voor AKS-clusters en bewerkingen worden geautomatiseerd en aanbevolen procedures worden ingesloten. AKS Automatic bevat ook een [pod readiness SLA][azure-sla] die 99,9% van de in aanmerking komende podgereedheidsoperaties binnen 5 minuten garandeert, waarbij een betrouwbare, zelfherstellende infrastructuur voor uw toepassingen wordt gewaarborgd. In deze snelstart leert u de volgende zaken:

  • Een automatisch AKS-cluster implementeren.
  • Voer een voorbeeldtoepassing met meerdere containers uit met een groep microservices en webfront-ends die een retailscenario simuleren.

Voordat u begint

  • Azure CLI versie 2.77.0 of hoger. Zoek uw versie met behulp van de az --version opdracht. Zie Install Azure CLI om de installatie of upgrade uit te voeren. Als u Azure Cloud Shell gebruikt, is de nieuwste versie daar al geïnstalleerd.
  • Als u meerdere Azure abonnementen hebt, selecteert u de juiste abonnements-id om resources te factureren met behulp van de opdracht az account set.
  • Als u een Bicep-bestand wilt implementeren, hebt u schrijftoegang nodig voor de resources die u maakt en toegang tot alle bewerkingen op het resourcetype Microsoft.Resources/deployments. Als u bijvoorbeeld een virtuele machine (VM) wilt maken, hebt u Microsoft.Compute/virtualMachines/write en Microsoft.Resources/deployments/* machtigingen nodig. Zie Azure ingebouwde rollen voor een lijst met rollen en machtigingen.

Beperkingen

  • De systeemknooppuntpool van AKS-clusters vereist implementatie in Azure regio's die ondersteuning bieden voor ten minste drie beschikbaarheidszones, tijdelijke besturingssysteemschijf en Azure Linux-besturingssysteem.
  • AKS Automatic is beschikbaar in de volgende regio's: australiaeast, austriaeast, belgiumcentral, brazilsouth, canadacentral, centralindia, centralus, chilecentral, denmarkeast, eastasia, eastus, eastus2, francecentral, germanywestcentral, indonesiacentral, israelcentral, italynorth, japaneast, japanwest, koreacentral, malaysiawest, mexicocentral, newzealandnorth, northcentralus, northeurope, norwayeast, polandcentral, southafricanorth, southcentralus, southeastasia, spaincentral, swedencentral, switzerlandnorth, uaenorth, uksouth, westeurope, westus, westus2, westus3.
  • Het automatische AKS-cluster heeft noderesourcegroepvergrendeling vooraf geconfigureerd, waardoor wijzigingen in de MC_ resourcegroep niet zijn toegestaan, waardoor virtuele netwerkkoppelingen in de standaardzone Private DNS zone niet zijn toegestaan. Voor scenario's over meerdere VNet's of aangepaste DNS-scenario's, gebruik aangepast netwerk- en privé-DNS door Een privé Azure Kubernetes Service (AKS) automatisch cluster in een aangepast virtueel netwerk te maken.

Belangrijk

AKS Automatic probeert dynamisch een grootte van een virtuele machine voor de system knooppuntgroep te selecteren op basis van de capaciteit die beschikbaar is in het abonnement. Zorg ervoor dat uw abonnement een quotum van 16 vCPU's heeft van een van de volgende grootten in de regio waarin u het cluster implementeert: Standard_D4lds_v5, Standard_D4ads_v5, Standard_D4ds_v5, Standard_D4d_v5, Standard_D4d_v4, Standard_DS3_v2, Standard_DS12_v2, Standard_D4alds_v6, Standard_D4lds_v6 of Standard_D4alds_v5. U kunt quota weergaven voor specifieke VM-families en aanvragen voor quotumverhoging indienen via de Azure-portal. Als u aanvullende vragen hebt, vindt u meer informatie via de documentatie voor probleemoplossing.

Een brongroep maken

Een Azure-resourcegroep is een logische groep waarin Azure resources worden geïmplementeerd en beheerd.

Maak een resourcegroep met behulp van de az group create opdracht. In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt op de locatie eastus:

az group create --name myResourceGroup --location eastus

Hieronder staat een voorbeelduitvoer die lijkt op een geslaagde aanmaak van de resourcegroep.

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

Een automatisch AKS-cluster maken

Maak een automatisch AKS-cluster met behulp van de az aks create-opdracht, waarbij de --sku-parameter is ingesteld op automatic. In het volgende voorbeeld wordt een cluster met de naam myAKSAutomaticCluster gemaakt met Managed Prometheus en de Container Insights-integratie ingeschakeld:

az aks create \
    --resource-group myResourceGroup \
    --name myAKSAutomaticCluster \
    --sku automatic

Na enkele minuten is de opdracht voltooid en retourneert deze informatie over het cluster in JSON-indeling.

Automatisch Kubernetes-cluster maken

  1. Als u een automatisch AKS-cluster wilt maken, zoekt en selecteert u Kubernetes-services. Hiermee gaat u naar de pagina Kubernetes Center (preview).

  2. Op de pagina Kubernetes Center (preview) selecteer Maken>Automatische Kubernetes-cluster.

    De schermopname van de knop Automatisch AKS-cluster maken in de Azure portal.

  3. Vul op het tabblad Basis alle vereiste velden in (Abonnement, Resourcegroep, Kubernetes-clusternaam en Regio) en selecteer vervolgens Volgende.

    De schermopname van het tabblad Maken - Basisbeginselen voor een automatisch AKS-cluster in de Azure portal.

  4. Selecteer op het tabblad Monitoring de gewenste bewakingsconfiguraties uit Azure Monitor (Container Insights), Managed Prometheus, Grafana Dashboards, AcNS (Container Network Observability) en Waarschuwingen en selecteer vervolgens Next.

    De schermopname van het tabblad Bewaking tijdens het maken van een automatisch AKS-cluster in de Azure portal.

  5. Selecteer op het tabblad Advanced de gewenste geavanceerde configuraties privétoegang, Azure virtuele netwerken, beheerde identiteit, ACNS (Container Network Security) en beheerde Kubernetes-naamruimten en selecteer vervolgens Review + create.

    De schermafbeelding van het tabblad Geavanceerd tijdens het maken van een automatisch AKS-cluster in de Azure portal.

  6. Controleer de configuraties op het tabblad Controleren en maken en selecteer vervolgens Maken om het automatische AKS-cluster te implementeren.

  7. Ga aan de slag met het configureren van uw eerste toepassing vanuit GitHub en stel een geautomatiseerde implementatiepijplijn in.

    De schermafbeelding van het tabblad Aan de slag op het Overview-blade na het maken van een automatisch AKS-cluster in de Azure portal.

Het Bicep-bestand controleren

Het volgende Bicep bestand definieert een automatisch AKS-cluster:

@description('The name of the managed cluster resource.')
param clusterName string = 'myAKSAutomaticCluster'

@description('The location of the managed cluster resource.')
param location string = resourceGroup().location

resource aks 'Microsoft.ContainerService/managedClusters@2024-03-02-preview' = {
  name: clusterName
  location: location  
  sku: {
  name: 'Automatic'
  }
  properties: {
    agentPoolProfiles: [
      {
        name: 'systempool'
        mode: 'System'
  count: 3
      }
    ]
  }
  identity: {
    type: 'SystemAssigned'
  }
}

Zie de Microsoft.ContainerService/managedClusters-referentie voor meer informatie over de resource die is gedefinieerd in het Bicep-bestand.

Het Bicep-bestand implementeren

  1. Sla het bestand Bicep op als main.bicep naar uw lokale computer.

    Belangrijk

    Het bestand Bicep stelt de parameter clusterName in op de tekenreeks myAKSAutomaticCluster. Als u een andere clusternaam wilt gebruiken, moet u de tekenreeks bijwerken naar de clusternaam van uw voorkeur voordat u het bestand opslaat op uw computer.

  2. Implementeer het Bicep-bestand met behulp van de opdracht [az deployment group create][az-deployment-group-create].

    az deployment group create --resource-group myResourceGroup --template-file main.bicep
    

    Het duurt enkele minuten om het AKS-cluster te maken. Wacht totdat het cluster met succes is geïmplementeerd voordat u met de volgende stap verdergaat.

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 gebruikt. U kunt lokaal installeren kubectl met behulp van de az aks install-cli opdracht. Automatische AKS-clusters worden geconfigureerd met Microsoft Entra ID voor op rollen gebaseerd toegangsbeheer van Kubernetes (RBAC).

Opmerking

Wanneer u een cluster maakt met behulp van de Azure CLI, worden er aan uw gebruiker ingebouwde rollen toegewezen voor .

  1. Configureer kubectl om verbinding te maken met uw Kubernetes-cluster met behulp van het az aks get-credentials commando. Deze opdracht downloadt referenties en configureert de Kubernetes CLI om deze te gebruiken.

    az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticCluster
    
  2. Controleer de verbinding met uw cluster met behulp van de kubectl get opdracht. Met deze opdracht wordt een lijst met de clusterknooppunten geretourneerd.

    kubectl get nodes
    

    In de volgende voorbeelduitvoer ziet u hoe u wordt gevraagd u aan te melden:

    To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
    

    Nadat u zich hebt aangemeld, ziet u in de volgende voorbeelduitvoer de pools van het beheerde systeemknooppunt. Zorg ervoor dat de status van het knooppunt gereed is.

    NAME                                STATUS   ROLES   AGE     VERSION
    aks-nodepool1-12345678-vmss000000   Ready    agent   2m26s   v1.28.5
    aks-nodepool1-12345678-vmss000001   Ready    agent   2m26s   v1.28.5
    aks-nodepool1-12345678-vmss000002   Ready    agent   2m26s   v1.28.5
    

De toepassing implementeren

Als u de toepassing wilt implementeren, gebruikt u een manifestbestand om alle objecten te maken die nodig zijn om de AKS Store-toepassing uit te voeren. Een Kubernetes-manifestbestand definieert de gewenste status van een cluster, zoals welke containerinstallatiekopieën moeten worden uitgevoerd. Het manifest bevat de volgende Kubernetes-implementaties en -services:

Schermopname van Azure Store-voorbeeldarchitectuur.

  • Webwinkel: Webtoepassing voor klanten om producten te bekijken en bestellingen te plaatsen.
  • Productservice: toont productgegevens.
  • Orderservice: Orders plaatsen.
  • Rabbit MQ: Berichtensysteem voor een bestelwachtrij.

Opmerking

Het is niet aanbevolen om stateful containers, zoals Rabbit MQ, te draaien zonder permanente opslag in een productieomgeving. Deze worden hier gebruikt voor het gemak, maar we raden u aan beheerde services te gebruiken, zoals Azure Cosmos DB of Azure Service Bus.

  1. Maak een naamruimte aks-store-demo om de Kubernetes-resources in te implementeren.

    kubectl create ns aks-store-demo
    
  2. Implementeer de toepassing met behulp van de kubectl apply opdracht in de aks-store-demo naamruimte. Het YAML-bestand dat de implementatie definieert, bevindt zich op GitHub.

    kubectl apply -n aks-store-demo -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-ingress-quickstart.yaml
    

    In de volgende voorbeelduitvoer ziet u de implementaties en services:

    statefulset.apps/rabbitmq created
    configmap/rabbitmq-enabled-plugins created
    service/rabbitmq created
    deployment.apps/order-service created
    service/order-service created
    deployment.apps/product-service created
    service/product-service created
    deployment.apps/store-front created
    service/store-front created
    ingress/store-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.

  1. Controleer de status van de geïmplementeerde pods met behulp van de opdracht kubectl get pods . Zorg ervoor dat alle pods gereed zijn Running voordat u doorgaat. Als dit de eerste workload is die u implementeert, kan het enkele minuten duren voordat het automatisch inrichten van knooppunten een nodepool maakt om de pods te laten draaien.

    kubectl get pods -n aks-store-demo
    
  2. Controleer op een openbaar IP-adres voor de store-front-toepassing. Controleer de voortgang met behulp van de opdracht kubectl get service met het --watch argument.

    kubectl get ingress store-front -n aks-store-demo --watch
    

    Aanvankelijk toont de ADRESUITVOER voor de store-front service leeg:

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *                      80      12m
    
  3. Zodra het ADRES verandert van leeg naar een werkelijk openbaar IP-adres, gebruikt u CTRL-C om het kubectl observatieproces te stoppen.

    In de volgende voorbeelduitvoer ziet u een geldig openbaar IP-adres dat is toegewezen aan de service:

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *       4.255.22.196   80      12m
    
  4. Open een webbrowser naar het externe IP-adres van uw ingress om de Azure Store-app in werking te zien.

    Schermopname van de AKS Store-voorbeeldtoepassing.

Het cluster verwijderen

Als u niet van plan bent om de zelfstudie AKS te doorlopen, moet u onnodige resources opschonen om Azure kosten te voorkomen.

Verwijder de resourcegroep, containerservice en alle gerelateerde resources met behulp van de az group delete opdracht.

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

Opmerking

Het AKS-cluster is gemaakt met een door het systeem toegewezen beheerde identiteit. Dit is de standaardidentiteitsoptie die in deze quickstart wordt gebruikt. Het platform beheert deze identiteit, zodat u deze niet handmatig hoeft te verwijderen.

In deze quickstart hebt u een Kubernetes-cluster geïmplementeerd met behulp van AKS Automatic en vervolgens een eenvoudige toepassing met meerdere containers erop geïmplementeerd. Deze voorbeeldtoepassing is alleen bedoeld voor demodoeleinden en vertegenwoordigt niet alle aanbevolen procedures voor Kubernetes-toepassingen. Zie de richtlijnen voor AKS-oplossingen voor meer informatie over het maken van volledige oplossingen met AKS voor productie.

Zie de Invoering voor Azure Kubernetes Service (AKS) Automatic