Snabbstart: Skapa ett Azure Kubernetes Service (AKS) automatiskt kluster

Gäller för: ✔️ AKS Automatic

Azure Kubernetes Service (AKS) Automatic är en hanterad Kubernetes-upplevelse som automatiserar konfigurationer och åtgärder för AKS-kluster och bäddar in konfigurationer för bästa praxis. AKS Automatic innehåller även ett [SLA för poddberedskap][azure-sla] som garanterar 99,9% av kvalificerande poddberedskapsåtgärder som slutförts inom 5 minuter, vilket garanterar tillförlitlig, självåterställningsinfrastruktur för dina program. I den här snabbstarten lär du dig att:

  • Distribuera ett AKS-automatiskt kluster.
  • Kör ett exempelprogram med flera containrar med en grupp mikrotjänster och webbklientdelar som simulerar ett detaljhandelsscenario.

Innan du börjar

  • Azure CLI version 2.86.0 eller senare. Kör kommandot för att hitta versionen az --version . Om du behöver installera eller uppgradera, se Installera Azure CLI.
  • Om du har flera Azure prenumerationer väljer du lämpligt prenumerations-ID för att fakturera resurser till med hjälp av kommandot az account set.
  • För att distribuera en Bicep fil behöver du skrivåtkomst till de resurser som du skapar och åtkomst till alla åtgärder på resurstypen Microsoft.Resources/deployments. Om du till exempel vill skapa en virtuell dator (VM) behöver du behörigheterna Microsoft.Compute/virtualMachines/write och Microsoft.Resources/deployments/*. En lista över roller och behörigheter finns i Azure inbyggda roller.

Viktigt!

Från och med AKS 1.36 aktiverar nya AKS Automatic-kluster som standard Kubernetes Gateway API via tillägget för programroutning i stället för Managed NGINX ingress via tillägget för programroutning på grund av den upstreama avvecklingen av Ingress NGINX.

Befintliga automatiska kluster påverkas inte men bör påbörja migreringen till Kubernetes Gateway-API:et via tillägget för programdirigering.

Begränsningar

Följande begränsningar gäller för AKS automatiska kluster:

  • AKS Automatic är allmänt tillgängligt i följande regioner: australiaeast, austriaeast, belgiumcentral, brazilsouth, canadacentral, centralindia, centralus, chilecentral, denmarkeast, eastasia, eastus, eastus2, francecentral, germanywestcentral, indonesiacentral, israelcentral, italynorth, japaneast, japanwest, koreacentral, malaysiawest, mexicocentral, newzealandnorth, northeurope, norwayeast, polandcentral, southafricanorth, southcentralus, southeastasia, spaincentral, swedencentral, switzerlandnorth, uaenorth, uksouth, westeurope, westus2, westus3.
    • Nya AUTOMATISKA AKS-kluster aktiverar som standard hanterade systemnodpooler och LocalDNS. Du kan inte skapa AKS Automatic-kluster utan hanterade systemnodpooler i någon region.
  • Det automatiska AKS-klustret har nodnedlåsning av resursgrupper förkonfigurerat, vilket inte tillåter ändringar i resursgruppen MC_, vilket förhindrar virtuella nätverkslänkar i standardzonen Private DNS. För scenarier mellan virtuella nätverk eller anpassade DNS-scenarier använder du anpassat nätverk och privat DNS genom att följa Skapa ett privat Azure Kubernetes Service (AKS) Automatiskt kluster i ett anpassat virtuellt nätverk.
  • Azure CLI version 2.86.0 eller senare krävs. Kör kommandot för att hitta versionen az --version . Om du behöver installera eller uppgradera, se Installera Azure CLI.
  • Följande tillägg stöds inte:
  • Windows-noder stöds inte.
  • Migrering från AKS-bas-SKU till automatisk SKU stöds inte.
  • Migreringar mellan AKS-automatiska kluster utan hanterade systemnodpooler och AKS Automatiska kluster med hanterade systemnodpooler stöds inte.

Skapa en resursgrupp

En Azure resursgrupp är en logisk grupp där Azure resurser distribueras och hanteras.

Skapa en resursgrupp med kommandot az group create. I följande exempel skapas en resursgrupp med namnet myResourceGroup på platsen canadacentral :

az group create --name myResourceGroup --location canadacentral

Följande exempelutdata visar en lyckad skapelse av resursgruppen:

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

Skapa ett AKS-automatiskt kluster

Skapa ett AKS-automatiskt kluster med az aks create kommandot med parametern inställd på --skuautomatic . I följande exempel skapas ett kluster med namnet myAKSAutomaticCluster med Managed Prometheus och Container Insights-integreringen aktiverad:

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

När distributionen är slutförd visar utdata egenskapen hostedSystemProfile med egenskapen enabled inställd på true. Du kan också köra följande kommando för att visa hostedSystemProfile egenskaperna:

az aks show \
  --resource-group myResourceGroup \
  --name myAKSAutomaticCluster \
  --query hostedSystemProfile
{
  "enabled": true,
  "nodeSubnetId": null,
  "systemNodeSubnetId": null
}

Skapa automatiskt Kubernetes-kluster

  1. Om du vill skapa ett AKS-automatiskt kluster söker du efter och väljer Kubernetes-tjänster. Detta tar dig till kubernetes center-sidan (förhandsversion).

  2. På sidan Kubernetes center (förhandsversion) väljer du Skapa>automatiskt Kubernetes-kluster.

    Skärmsbild av knappen Skapa automatiskt AKS-kluster i Azure-portalen.

  3. På fliken Grundläggande fyller du i alla obligatoriska fält (Prenumeration, Resursgrupp, Kubernetes-klusternamn och Region) och väljer sedan Nästa.

    Skärmbild av fliken Skapa – Grundläggande för ett AKS-automatiskt kluster i Azure-portalen.

  4. På fliken Monitoring väljer du önskade övervakningskonfigurationer från Azure Monitor (Container Insights), Managed Prometheus, Grafana Dashboards och Alerts och väljer sedan Nästa.

    Skärmbild av fliken Övervakning när du skapar ett AKS-automatiskt kluster i Azure-portalen.

  5. På fliken Advanced väljer du önskade avancerade konfigurationer Privat åtkomst, Azure Virtuellt nätverk, Hanterad identitet, Container Network Security (ACNS) och Hanterade Kubernetes-namnområden och väljer sedan Review + create.

    Skärmbild av fliken Avancerat när du skapar ett AKS-automatiskt kluster i Azure-portalen.

  6. Granska konfigurationerna på fliken Granska + skapa och välj sedan Skapa för att distribuera AKS Automatic-klustret.

  7. Kom igång med att konfigurera ditt första program från GitHub och konfigurera en automatiserad distributionspipeline.

    Skärmbild av fliken Kom igång på översiktsbladet när du har skapat ett AKS-automatiskt kluster i Azure portal.

Granska filen Bicep

Följande Bicep-fil definierar ett AKS-automatiskt kluster:

@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@2026-02-01' ' = {
  name: clusterName
  location: location
  sku: {
    name: 'Automatic'
  }
  identity: {
    type: 'SystemAssigned'
  }
}

Mer information om resursen som definierats i filen Bicep finns i Microsoft. ContainerService/managedClusters referens.

Distribuera Bicep-filen

  1. Spara filen Bicep som main.bicep till den lokala datorn.

    Viktigt!

    Filen Bicep anger paramen clusterName till strängen myAKSAutomaticCluster. Om du vill använda ett annat klusternamn måste du uppdatera strängen till önskat klusternamn innan du sparar filen på datorn.

  2. Distribuera Bicep-filen med kommandot [az deployment group create][az-deployment-group-create] .

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

    Det tar några minuter att skapa AKS-klustret. Vänta tills klustret har framgångsrikt distribuerats innan du går vidare till nästa steg.

Ansluta 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. Du kan installera kubectl lokalt med kommandot az aks install-cli . AUTOMATISKA AKS-kluster konfigureras med Microsoft Entra ID för rollbaserad åtkomstkontroll för Kubernetes (RBAC).

Anmärkning

När du skapar ett kluster med hjälp av Azure CLI tilldelas din användare inbyggda roller för .

  1. Konfigurera kubectl för att ansluta till kubernetes-klustret med hjälp av az aks get-credentials kommandot . Det här kommandot laddar ned autentiseringsuppgifter och konfigurerar Kubernetes CLI för att använda dem.

    az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticCluster
    
  2. Kontrollera anslutningen till klustret med hjälp av kubectl get kommandot . Det här kommandot returnerar en lista över klusternoderna.

    kubectl get nodes
    

    Följande exempelutdata visar hur du uppmanas att logga in:

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

    När du har loggat in visar följande exempelutdata de hanterade systemnodpoolerna. Kontrollera att nodstatusen är Klar.

    NAME                           STATUS   ROLES    AGE   VERSION
    aks-hostedpool-16652789-vms1   Ready    <none>   19m   v1.34.7
    aks-hostedpool-16652789-vms2   Ready    <none>   19m   v1.34.7
    aks-hostedpool-16652789-vms3   Ready    <none>   19m   v1.34.7
    aks-system-surge-zq4d2         Ready    <none>   19m   v1.34.7
    

Distribuera programmet

Om du vill distribuera programmet använder du en manifestfil för att skapa alla objekt som krävs för att köra AKS Store-programmet. En Kubernetes-manifestfil definierar ett klusters önskade tillstånd, till exempel vilka containeravbildningar som ska köras. Manifestet innehåller följande Kubernetes-distributioner och -tjänster:

Skärmbild av Azure Store-exempelarkitektur.

  • Butiksfront: Webbprogram där kunder kan visa produkter och göra beställningar.
  • Produkttjänst: Visar produktinformation.
  • Ordertjänst: Gör beställningar.
  • Rabbit MQ: Meddelandekö för en beställningskö.

Anmärkning

Vi rekommenderar inte att du kör tillståndskänsliga containrar, till exempel RabbitMQ, utan beständig lagring för produktion. Dessa används här för enkelhetens skull, men vi rekommenderar att du använder hanterade tjänster, till exempel Azure Cosmos DB eller Azure Service Bus.

  1. Skapa ett namnområde aks-store-demo som Kubernetes-resurserna ska distribueras till.

    kubectl create ns aks-store-demo
    
  2. Distribuera programmet med kommandot kubectl apply till aks-store-demo namnområdet. YAML-filen som definierar distributionen finns på GitHub.

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

    Följande exempelutdata visar distributioner och tjänster:

    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
    

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.

  1. Kontrollera statusen för de distribuerade poddarna med kommandot kubectl get pods . Kontrollera att alla poddar är Running innan du fortsätter. Om det här är den första arbetsbelastningen som du driftsätter, kan det ta några minuter innan automatisk nodetablering skapar en nodpool där poddarna kan köras.

    kubectl get pods -n aks-store-demo
    
  2. Sök efter en offentlig IP-adress för programmet store-front. Övervaka förloppet med hjälp av kommandot kubectl get service med --watch argumentet .

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

    ADDRESS-utgången för tjänsten visar ursprungligen tom:

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *                      80      12m
    
  3. När ADRESSEN ändras från tom till en faktisk offentlig IP-adress använder du CTRL-C för att stoppa kubectl klockprocessen.

    Följande exempelutdata visar en giltig offentlig IP-adress som tilldelats tjänsten:

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *       4.255.22.196   80      12m
    
  4. Öppna en webbläsare till den externa IP-adressen för din ingress för att se Azure Store-appen i funktion.

    Skärmbild av AKS Store-exempelprogrammet.

Ta bort klustret

Om du inte planerar att gå igenom AKS-självstudien, rensar du onödiga resurser för att undvika Azure-avgifter.

Ta bort resursgruppen, containertjänsten och alla relaterade resurser med kommandot az group delete .

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

Anmärkning

AKS-klustret skapades med en systemtilldelad hanterad identitet, vilket är standardalternativet för identitet som används i den här snabbstarten. Plattformen hanterar den här identiteten, så du behöver inte ta bort den manuellt.

I den här snabbstarten distribuerade du ett Kubernetes-kluster med hjälp av AKS Automatic och distribuerade sedan ett enkelt program med flera containrar till det. Det här exempelprogrammet är endast i demosyfte och representerar inte alla metodtips för Kubernetes-program. Vägledning om hur du skapar fullständiga lösningar med AKS för produktion finns i AKS-lösningsvägledning.

Mer information om AKS Automatic finns i Introduction to Azure Kubernetes Service (AKS) Automatic