Delen via


Quickstart: Een automatisch AKS-cluster (Azure Kubernetes Service) maken

Van toepassing op: ✔️ AKS Automatisch

Azure Kubernetes Service (AKS) Automatic biedt de eenvoudigste beheerde Kubernetes-ervaring voor ontwikkelaars, DevOps-technici en platformtechnici. Ideaal voor moderne en AI-toepassingen, AKS Automatic automatiseert de installatie en bewerkingen van AKS-clusters en sluit best practice-configuraties in. Gebruikers van elk vaardigheidsniveau kunnen profiteren van de beveiliging, prestaties en betrouwbaarheid van AKS Automatic voor hun toepassingen. AKS Automatic bevat ook een SLA voor podgereedheid die garandeert dat 99,9% van de podgereedheidsbewerkingen binnen 5 minuten voltooid zijn, die ervoor zorgt dat uw toepassingen een betrouwbare, zelfhelende infrastructuur hebben.

In deze quickstart leert u het volgende:

  • 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

  • Voor dit artikel is versie 2.77.0 of hoger van de Azure CLI vereist. 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 waarin de resources moeten worden gefactureerd met behulp van de az account set opdracht.
  • Als u een Bicep-bestand wilt implementeren, moet u schrijftoegang hebben voor de resources die u maakt en toegang tot alle bewerkingen op het Microsoft.Resources/deployments resourcetype. Als u bijvoorbeeld een virtuele machine wilt maken, hebt u Microsoft.Compute/virtualMachines/write en Microsoft.Resources/deployments/* machtigingen nodig. Zie Ingebouwde Azure-rollen voor een lijst met rollen en machtigingen.

Beperkingen

  • De systeemknooppuntpool van AKS Automatische clusters vereist implementatie in Azure-regio's die ondersteuning bieden voor ten minste drie beschikbaarheidszones, tijdelijke besturingssysteemschijf en Azure Linux-besturingssysteem.
  • U kunt alleen automatische AKS-clusters maken in regio's waar VNet-integratie van API Server algemeen beschikbaar is.

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 voor specifieke VM-families weergeven en aanvragen voor quotumverhoging indienen via 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.

In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt in de regio eastus.

Maak een resourcegroep met behulp van de az group create opdracht.

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

Gebruik de az aks create opdracht om een automatisch AKS-cluster te maken. In het volgende voorbeeld wordt een cluster gemaakt met de naam myAKSAutomaticCluster waarvoor Beheerde Prometheus- en Container Insights-integratie is 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.

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. Als u lokaal wilt installeren kubectl , voert u de az aks install-cli opdracht uit. Automatische AKS-clusters worden geconfigureerd met Microsoft Entra-id voor op rollen gebaseerd toegangsbeheer (RBAC) van Kubernetes.

Opmerking

Wanneer u een cluster maakt met behulp van de Azure CLI, krijgt uw gebruiker ingebouwde rollen toegewezen voor Azure Kubernetes Service RBAC Cluster Admin.

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

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-13213685-vmss000000   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000001   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000002   Ready    agent   2m26s   v1.28.5

Automatisch Kubernetes-cluster maken

  1. Als u een automatisch AKS-cluster wilt maken, zoekt u naar Kubernetes Services en selecteert u Automatisch Kubernetes-cluster in de vervolgkeuzelijsten.

    De schermopname van het toegangspunt voor het maken van een automatisch AKS-cluster in Azure Portal.

  2. Vul op het tabblad Basis alle verplichte velden in (Abonnement, Resourcegroep, Kubernetes-clusternaam en Regio) die nodig zijn om aan de slag te gaan:

    De schermopname van het tabblad Basisbeginselen voor een automatisch AKS-cluster in Azure Portal.

  3. Kies op het tabblad Bewaking uw bewakingsconfiguraties van Azure Monitor, Managed Prometheus, Grafana Dashboards, Container Network Observability (ACNS) en/of configureer waarschuwingen. Schakel Managed Grafana (optioneel) in, voeg tags toe (optioneel) en ga verder met het maken van het cluster.

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

  4. Werk op het tabblad Geavanceerd uw netwerk (optioneel), beheerde identiteit (optioneel), instellingen voor beveiliging en beheerde naamruimten (optioneel) bij en ga verder met het maken van het cluster.

    De schermopname van het tabblad Geavanceerd tijdens het maken van een automatisch AKS-cluster in Azure Portal.

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

    De schermopname van het tabblad Aan de slag op de overzichtsblade na het maken van een automatisch AKS-cluster in 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 gebruikt. Als u lokaal wilt installeren kubectl , voert u de opdracht az aks install-cli uit. Automatische AKS-clusters worden geconfigureerd met Microsoft Entra-id voor op rollen gebaseerd toegangsbeheer (RBAC) van Kubernetes. Wanneer u een cluster maakt met behulp van Azure Portal, wordt aan uw gebruiker ingebouwde rollen toegewezen voor Azure Kubernetes Service RBAC Cluster Admin.

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

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-13213685-vmss000000   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000001   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000002   Ready    agent   2m26s   v1.28.5

Een brongroep maken

Een Azure-resourcegroep is een logische groep waarin Azure-resources worden geïmplementeerd en beheerd. Wanneer u een resourcegroep maakt, wordt u gevraagd een locatie op te geven. Deze locatie is de opslaglocatie van de metagegevens van uw resourcegroep en waar uw resources worden uitgevoerd in Azure als u geen andere regio opgeeft tijdens het maken van de resource.

In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt in de regio eastus.

Maak een resourcegroep met behulp van de az group create opdracht.

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
}

Het Bicep-bestand bekijken

Dit Bicep-bestand definieert een automatisch AKS-cluster. In de preview-fase moet u het profiel voor de agentgroep van het systeemknooppuntpool opgeven.

@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'
  }
}

Raadpleeg de Microsoft.ContainerService/managedClusters referentie voor meer informatie over de in het Bicep-bestand bepaalde resource.

Het Bicep-bestand implementeren

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

    Belangrijk

    Het Bicep-bestand stelt de clusterName parameter 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 Azure CLI.

    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. Als u lokaal wilt installeren kubectl , voert u de opdracht az aks install-cli uit. Automatische AKS-clusters worden geconfigureerd met Microsoft Entra-id voor op rollen gebaseerd toegangsbeheer (RBAC) van Kubernetes.

Belangrijk

Wanneer u een cluster maakt met Bicep, moet u een van de ingebouwde rollen, zoals Azure Kubernetes Service RBAC Reader, Azure Kubernetes Service RBAC Writerof Azure Kubernetes Service RBAC AdminAzure Kubernetes Service RBAC Cluster Admin aan uw gebruikers, toewijzen die zijn afgestemd op het cluster of een specifieke naamruimte, bijvoorbeeld met behulp van az role assignment create --role "Azure Kubernetes Service RBAC Cluster Admin" --scope <AKS cluster resource id> --assignee user@contoso.com. Zorg er ook voor dat uw gebruikers beschikken over de ingebouwde rol Azure Kubernetes Service Cluster User, zodat ze az aks get-credentials kunnen uitvoeren. Haal vervolgens de kubeconfig van uw AKS-cluster op met behulp van de opdracht az aks get-credentials.

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 

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-13213685-vmss000000   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000001   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-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. Ga met een webbrowser naar het externe IP-adres van uw ingress om de Azure Store-app in actie te zien.

    Schermopname van de AKS Store-voorbeeldtoepassing.

Het cluster verwijderen

Als u niet van plan bent om de AKS-zelfstudie te doorlopen, moet u overbodige resources opschonen om Azure-kosten te voorkomen. Voer de opdracht az group delete uit om de resourcegroep, containerservice en alle gerelateerde resources te verwijderen.

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.

Volgende stappen

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.

Ga verder met de inleiding voor meer informatie over AKS Automatic.