Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
- Den här snabbstarten förutsätter grundläggande kunskaper om Kubernetes-begrepp. Mer information finns i Kubernetes grundläggande begrepp för Azure Kubernetes Service (AKS).
- AKS Automatic aktiverar Azure Policy på ditt AKS-kluster, men du bör föranmäla resursprovidern
Microsoft.PolicyInsightsi din prenumeration. Mer information finns i Azure resursleverantörer och typer.
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Hämta igång med Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt install Azure CLI. Om du kör på Windows eller macOS kan du överväga att köra Azure CLI i en Docker-container. Mer information finns i Hur du kör Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Authenticate to Azure using Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda och hantera tillägg med Azure CLI.
Kör az version för att hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
- Azure CLI version 2.77.0 eller senare. Hitta din version med kommandot
az --version. Information om hur du installerar eller uppgraderar finns i Installera Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad där. - 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örigheternaMicrosoft.Compute/virtualMachines/writeochMicrosoft.Resources/deployments/*. En lista över roller och behörigheter finns i Azure inbyggda roller.
Begränsningar
- AKS Automatiska klusters systemnodpool kräver distribution i Azure regioner som stöder minst tre tillgänglighetszoner, tillfälliga OS-diskar och Azure Linux OS.
- AKS Automatic är 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,northcentralus,northeurope,norwayeast,polandcentral,southafricanorth,southcentralus,southeastasia,spaincentral,swedencentral,switzerlandnorth,uaenorth,uksouth,westeurope,westus,westus2,westus3. - DET automatiska AKS-klustret har nodnedlåsning av resursgrupper förkonfigurerat, vilket inte tillåter ändringar i MC_ resursgrupp, 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.
Viktigt!
AKS Automatic försöker dynamiskt välja en virtuell datorstorlek för nodpoolen system baserat på den tillgängliga kapaciteten i prenumerationen. Kontrollera att din prenumeration har en kvot på 16 vCPU:er av någon av följande storlekar i den region som du distribuerar klustret till: 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 eller Standard_D4alds_v5. Du kan visa kvoter för specifika VM-familjer och skicka begäranden om kvotökning via Azure-portalen.
Om du har ytterligare frågor kan du läsa mer i felsökningsdokumenten.
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 eastus:
az group create --name myResourceGroup --location eastus
Följande exempelutdata visar en lyckad skapelse av resursgruppen:
{
"id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
"location": "eastus",
"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
Efter några minuter slutförs kommandot och returnerar JSON-formaterad information om klustret.
Skapa automatiskt Kubernetes-kluster
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).
På sidan Kubernetes center (förhandsversion) väljer du Skapa>automatiskt Kubernetes-kluster.
På fliken Grundläggande fyller du i alla obligatoriska fält (Prenumeration, Resursgrupp, Kubernetes-klusternamn och Region) och väljer sedan Nästa.
På fliken Monitoring väljer du önskade övervakningskonfigurationer från Azure Monitor (Container Insights), Managed Prometheus, Grafana Dashboards, Container Network Observability (ACNS) och Aviseringar och väljer sedan Nästa.
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.
Granska konfigurationerna på fliken Granska + skapa och välj sedan Skapa för att distribuera AKS Automatic-klustret.
Kom igång med att konfigurera ditt första program från GitHub och konfigurera en automatiserad distributionspipeline.
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@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 filen Bicep finns i Microsoft. ContainerService/managedClusters referens.
Distribuera Bicep-filen
Spara filen Bicep som main.bicep till den lokala datorn.
Viktigt!
Filen Bicep anger paramen
clusterNametill 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.Distribuera Bicep-filen med kommandot [
az deployment group create][az-deployment-group-create] .az deployment group create --resource-group myResourceGroup --template-file main.bicepDet 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 .
Konfigurera
kubectlför att ansluta till kubernetes-klustret med hjälp avaz aks get-credentialskommandot . 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 myAKSAutomaticClusterKontrollera anslutningen till klustret med hjälp av
kubectl getkommandot . Det här kommandot returnerar en lista över klusternoderna.kubectl get nodesFö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-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
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:
- 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.
Skapa ett namnområde
aks-store-demosom Kubernetes-resurserna ska distribueras till.kubectl create ns aks-store-demoDistribuera programmet med kommandot
kubectl applytillaks-store-demonamnområ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.yamlFö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.
Kontrollera statusen för de distribuerade poddarna med kommandot kubectl get pods . Kontrollera att alla poddar är
Runninginnan du fortsätter. Om det här är den första arbetsbelastningen du distribuerar kan det ta några minuter innan automatisk nodtilldelning skapar en nodpool för att köra pods.kubectl get pods -n aks-store-demoSök efter en offentlig IP-adress för programmet store-front. Övervaka förloppet med hjälp av kommandot kubectl get service med
--watchargumentet .kubectl get ingress store-front -n aks-store-demo --watchADDRESS-utgången för tjänsten visar ursprungligen tom:
NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 80 12mNär ADRESSEN ändras från tom till en faktisk offentlig IP-adress använder du
CTRL-Cför att stoppakubectlklockprocessen.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Öppna en webbläsare till den externa IP-adressen för din ingress för att se Azure Store-appen i funktion.
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.
Relaterat innehåll
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