Dela via


Snabbstart: Distribuera ett automatiskt Azure Kubernetes Service-kluster (AKS) (förhandsversion)

Gäller för: ✔️ AKS Automatic (förhandsversion)

Azure Kubernetes Service (AKS) Automatic (förhandsversion) ger den enklaste hanterade Kubernetes-upplevelsen för utvecklare, DevOps-tekniker och plattformstekniker. AKS är perfekt för moderna program och AI-program och automatiserar konfigurationer och åtgärder för AKS-kluster och bäddar in konfigurationer för bästa praxis. Användare av valfri kompetensnivå kan dra nytta av säkerhet, prestanda och pålitlighet för AKS Automatic för sina 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

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).

  • Den här artikeln kräver version 2.57.0 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad där.
  • Den här artikeln kräver aks-preview Azure CLI-tillägget version 9.0.0b4 eller senare.
  • Om du har flera Azure-prenumerationer väljer du lämpligt prenumerations-ID där resurserna ska faktureras med kommandot az account set .
  • Registrera funktionen AutomaticSKUPreview i din Azure-prenumeration.
  • Identiteten som skapar klustret bör också ha följande behörigheter för resursgruppen:
    • Microsoft.Authorization/policyAssignments/write
    • Microsoft.Authorization/policyAssignments/read
  • AUTOMATISKA AKS-kluster kräver distribution i Azure-regioner som stöder minst 3 tillgänglighetszoner.
  • Om du vill distribuera en Bicep-fil måste du skriva åtkomst till de resurser som du skapar och få åtkomst till alla åtgärder i Microsoft.Resources/deployments resurstypen. Om du till exempel vill skapa en virtuell dator behöver Microsoft.Compute/virtualMachines/write du och Microsoft.Resources/deployments/* behörigheter. Det finns en lista med roller och behörigheter i Inbyggda roller i Azure.

Viktigt!

AKS Automatic försöker dynamiskt välja en SKU för en virtuell dator för nodpoolen system baserat på den tillgängliga kapaciteten i prenumerationen. Kontrollera att din prenumeration har en kvot på 16 vCPU:er för någon av följande SKU:er i den region som du distribuerar klustret till: Standard_D4pds_v5, Standard_D4lds_v5, Standard_D4ads_v5, Standard_D4ds_v5, Standard_D4d_v5, Standard_D4d_v4, Standard_DS3_v2, Standard_DS12_v2. Du kan visa kvoter för specifika VM-familjer och skicka begäranden om kvotökning via Azure Portal.

Installera Azure CLI-tillägget aks-preview

Viktigt!

AKS-förhandsversionsfunktioner är tillgängliga via självbetjäning och anmäl dig. Förhandsversioner tillhandahålls "som är" och "som tillgängliga", och de undantas från serviceavtalen och den begränsade garantin. AKS-förhandsversioner omfattas delvis av kundsupport på bästa sätt. Därför är dessa funktioner inte avsedda för produktionsanvändning. Mer information finns i följande supportartiklar:

Kör följande kommando för att installera aks-preview-tillägget:

az extension add --name aks-preview

Kör följande kommando för att uppdatera till den senaste versionen av tillägget som släpptes:

az extension update --name aks-preview

Registrera funktionsflaggor

Om du vill använda AKS Automatic i förhandsversionen registrerar du följande flagga med kommandot az feature register .

az feature register --namespace Microsoft.ContainerService --name AutomaticSKUPreview

Kontrollera registreringsstatusen med kommandot az feature show . Det tar några minuter för statusen att visa Registrerad:

az feature show --namespace Microsoft.ContainerService --name AutomaticSKUPreview

När statusen visar Registrerad uppdaterar du registreringen av Resursprovidern Microsoft.ContainerService med hjälp av kommandot az provider register :

az provider register --namespace Microsoft.ContainerService

Skapa en resursgrupp

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

I följande exempel skapas en resursgrupp med namnet myResourceGroup i regionen eastus.

Skapa en resursgrupp med hjälp av kommandot az group create.

az group create --name myResourceGroup --location eastus

Följande exempelutdata liknar skapandet av resursgruppen:

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

Skapa ett AKS-automatiskt kluster

Om du vill skapa ett AKS-automatiskt kluster använder du kommandot az aks create . I följande exempel skapas ett kluster med namnet myAKSAutomaticCluster med hanterad Prometheus- och Container Insights-integrering aktiverad.

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

Efter några minuter slutförs kommandot och returnerar JSON-formaterad information om klustret.

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. kubectl Installera lokalt genom att köra kommandot az aks install-cli. AUTOMATISKA AKS-kluster konfigureras med Microsoft Entra ID för Rollbaserad åtkomstkontroll (RBAC) för Kubernetes. När du skapar ett kluster med Azure CLI tilldelas användaren inbyggda roller för Azure Kubernetes Service RBAC Cluster Admin.

Konfigurera kubectl för att ansluta till kubernetes-klustret med kommandot az aks get-credentials . 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

Kontrollera anslutningen till klustret med kommandot kubectl get . 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-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

Skapa automatiskt Kubernetes-kluster

  1. Om du vill skapa ett AKS-automatiskt kluster söker du efter Kubernetes Services och väljer Automatiskt Kubernetes-kluster i listrutan.

    Skärmbilden av startpunkten för att skapa ett AKS-automatiskt kluster i Azure Portal.

  2. På fliken Grundläggande fyller du i alla obligatoriska fält som krävs för att komma igång: Prenumeration, Resursgrupp, Klusternamn och Region

    Skärmbilden av fliken Skapa – grunderna för ett AKS-automatiskt kluster i Azure Portal.

    Om kraven inte uppfylls och prenumerationen kräver registrering av förhandsgranskningsflaggor visas ett fel under fältet Prenumeration:

    Skärmbilden av felet som visas när en prenumeration inte har förhandsgranskningsflaggor registrerade när ett AKS-automatiskt kluster skapas i Azure Portal.

  3. På fliken Övervakning väljer du dina övervakningskonfigurationer från Azure Monitor, Managed Prometheus, Managed Grafana och/eller konfigurerar aviseringar. Lägg till taggar (valfritt) och fortsätt att skapa klustret.

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

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

    Skärmbilden av fliken Kom igång på översiktsbladet när du har skapat ett AKS-automatiskt kluster 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. kubectl Installera lokalt genom att köra kommandot az aks install-cli. AUTOMATISKA AKS-kluster konfigureras med Microsoft Entra ID för Rollbaserad åtkomstkontroll (RBAC) för Kubernetes. När du skapar ett kluster med hjälp av Azure Portal tilldelas användaren inbyggda roller för Azure Kubernetes Service RBAC Cluster Admin.

Konfigurera kubectl för att ansluta till kubernetes-klustret med kommandot az aks get-credentials . 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

Kontrollera anslutningen till klustret med kommandot kubectl get . 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-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

Skapa en resursgrupp

En Azure-resursgrupp är en logisk grupp där Azure-resurser distribueras och hanteras. När du skapar en resursgrupp uppmanas du att ange en plats. Den här platsen är lagringsplatsen för dina resursgruppsmetadata och där dina resurser körs i Azure om du inte anger en annan region när du skapar resurser.

I följande exempel skapas en resursgrupp med namnet myResourceGroup i regionen eastus.

Skapa en resursgrupp med hjälp av kommandot az group create.

az group create --name myResourceGroup --location eastus

Följande exempelutdata liknar skapandet av resursgruppen:

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

Granska Bicep-filen

Den här Bicep-filen definierar ett AKS-automatiskt kluster. I förhandsversionen måste du ange poolprofilen för systemnodpoolagenten .

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

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

Distribuera Bicep-filen

  1. Spara Bicep-filen som main.bicep på den lokala datorn.

    Viktigt!

    Bicep-filen anger clusterName param 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 hjälp av Azure CLI.

    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 distribuerats innan du går vidare till nästa steg.

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. kubectl Installera lokalt genom att köra kommandot az aks install-cli. AUTOMATISKA AKS-kluster konfigureras med Microsoft Entra ID för Rollbaserad åtkomstkontroll (RBAC) för Kubernetes. När du skapar ett kluster med Bicep måste du tilldela en av de inbyggda rollerna , till exempel Azure Kubernetes Service RBAC Reader, Azure Kubernetes Service RBAC Writer, Azure Kubernetes Service RBAC Admineller Azure Kubernetes Service RBAC Cluster Admin till dina användare, begränsade till klustret eller ett specifikt namnområde. Kontrollera också att användarna har den Azure Kubernetes Service Cluster User inbyggda rollen för att kunna köra az aks get-credentialsoch hämta kubeconfig för aks-klustret med hjälp av az aks get-credentials kommandot .

Konfigurera kubectl för att ansluta till kubernetes-klustret med kommandot az aks get-credentials . 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

Kontrollera anslutningen till klustret med kommandot kubectl get . 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-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

Distribuera programmet

För att 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 orderkö.

Kommentar

Vi rekommenderar inte att du kör tillståndskänsliga containrar, till exempel Rabbit MQ, 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 hjälp av kommandot kubectl apply i 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 distribuerar kan det ta några minuter innan nodens automatiska etablering skapar en nodpool för att köra poddarna.

    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-utdata för tjänsten visar ursprungligen store-front tomma:

    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 hur Azure Store-appen fungerar.

    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. Kör kommandot az group delete för att ta bort resursgruppen, containertjänsten och alla relaterade resurser.

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

Kommentar

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.

Nästa steg

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.

Om du vill veta mer om AKS Automatic fortsätter du till introduktionen.