Rövid útmutató: Azure Kubernetes Service (AKS) Automatikus fürt létrehozása

A következőkre vonatkozik: ✔️ AKS Automatic

Automatikus Azure Kubernetes Szolgáltatás (AKS) egy felügyelt Kubernetes-élmény, amely automatizálja az AKS-fürtök beállítását és műveleteit, és beágyazza a best practice konfigurációkat. Az AKS Automatic tartalmaz egy [pod-készültségi SLA][azure-sla] megállapodást is, amely 99,9%-ban garantálja, hogy a podok készültségi műveletei 5 percen belül befejeződnek, biztosítva az alkalmazások megbízható, öngyógyító infrastruktúráját. Ezen rövid útmutató segítségével megtanulhatja a következőket:

  • AKS-alapú automatikus fürt üzembe helyezése.
  • Többtárolós mintaalkalmazás futtatása mikroszolgáltatások és webes kezelőfelületek egy kiskereskedelmi forgatókönyvet szimuláló csoportjával.

Mielőtt hozzákezdene

  • Azure CLI 2.86.0-s vagy újabb verziót. A verzió megkereséséhez futtassa az --version a parancsot. Ha telepítenie vagy frissítenie kell, tekintse meg a Install Azure CLI című témakört.
  • Ha több Azure előfizetéssel rendelkezik, válassza ki a megfelelő előfizetés-azonosítót az erőforrások számlázásához a az account set parancs használatához.
  • Egy Bicep-fájl üzembe helyezéséhez írási hozzáférést kell adnia a létrehozott erőforrásokhoz, és hozzá kell férnie az Microsoft.Resources/deployments erőforrástípus összes műveletéhez. Virtuális gép (VM) létrehozásához például Microsoft.Compute/virtualMachines/write és Microsoft.Resources/deployments/* engedélyekre van szükség. A szerepkörök és engedélyek listáját a Azure beépített szerepkörök című témakörben találja.

Megjegyzés

Ez a minta az AzureRM-szolgáltató azurerm_kubernetes_automatic_cluster erőforrásával hozza létre az AKS Automatic-fürtöt, amelyhez az AzureRM-szolgáltató v4.81 vagy újabb verziója szükséges. Az AzAPI-szolgáltatót használó egyenértékű minta esetében lásd: 101-aks-automatic-azapi. Használja az AzAPI-t, ha közvetlen irányításra van szüksége a felügyelt fürt API-adattartalma felett, vagy ha olyan API-verzióra vagy tulajdonságra van szüksége, amelyet az AzureRM-szolgáltató még nem tett elérhetővé.

Fontos

Az AKS 1.36-os verziójától kezdve az új AKS Automatic-fürtökben alapértelmezés szerint a Kubernetes Gateway API az alkalmazásútválasztási bővítményen keresztül lesz engedélyezve a Managed NGINX ingress helyett az alkalmazásútválasztási bővítménnyel, az upstream Ingress NGINX kivezetése miatt.

A meglévő automatikus fürtöket ez nem érinti, de meg kell kezdeniük az alkalmazásútválasztási bővítményen keresztül a Kubernetes Gateway API-ra való migrálást.

Korlátozások

Az AKS Automatikus fürtökre a következő korlátozások vonatkoznak:

  • Az AKS Automatic már általánosan elérhető a következő régiókban: australiacentral, australiaeast, australiasoutheast, austriaeast, belgiumcentral, canadacentral, centralus, southeastasia, chilecentral, southindia, denmarkeast, spaincentral, eastasia, swedencentral, eastus, westus3, germanywestcentral, westus2, francecentral, westus, indonesiacentral, westeurope, eastus2, westcentralus, israelcentral, centralindia, polandcentral, italynorth, southafricanorth, japaneast, southcentralus, uksouth, norwayeast, ukwest, uaenorth, switzerlandnorth, northeurope, northcentralus, newzealandnorth, mexicocentral, koreasouth, japanwest, malaysiawest, brazilsouth, canadaeast, koreacentral.
  • Az új AKS Automatikus fürtök alapértelmezés szerint engedélyezik a felügyelt rendszercsomópontok készleteit és a LocalDNS-t. AKS Automatikus fürtök nem hozhatók létre felügyelt rendszercsomópontkészletek nélkül egyetlen régióban sem.
  • Az AKS Automatikus klaszterben a csomópont-erőforráscsoport zárolása előre be van állítva, ami nem teszi lehetővé a MC_ erőforráscsoport módosítását, így megakadályozza a virtuális hálózati hivatkozások létrehozását az alapértelmezett privát DNS-zónában. Virtuális hálózatok közötti vagy egyéni DNS-forgatókönyvek esetén használja az egyéni hálózati és privát DNS-t A privát Azure Kubernetes Service (AKS) Automatikus fürt létrehozása egyéni virtuális hálózaton.
  • Azure CLI 2.86.0-s vagy újabb verzió szükséges. A verzió megkereséséhez futtassa az --version a parancsot. Ha telepítenie vagy frissítenie kell, tekintse meg a Install Azure CLI című témakört.
  • A következő bővítmények nem támogatottak:
  • A Windows-csomópontok nem támogatottak.
  • Az AKS alap termékváltozatáról az automatikus termékváltozatra való migrálás nem támogatott.
  • A felügyelt rendszercsomópont-készletek nélküli meglévő AKS Automatic-fürtről a felügyelt rendszercsomópont-készletekkel rendelkező AKS Automaticra történő migrálás előzetes verzióban támogatott azokban a régiókban, ahol a felügyelt rendszercsomópont-készletek általánosan elérhetők. A felügyelt rendszercsomópontkészletekkel rendelkező AKS Automatic-ból a felügyelt rendszercsomópontkészletek nélküli AKS Automatic-ba való migrálás nem támogatott.

Erőforráscsoport létrehozása

A Azure erőforráscsoport egy logikai csoport, amelyben Azure erőforrásokat helyeznek üzembe és kezelnek.

Hozzon létre egy erőforráscsoportot a az group create paranccsal. Az alábbi példa létrehoz egy myResourceGroup nevű erőforráscsoportot a canadacentrális helyen:

az group create --name myResourceGroup --location canadacentral

Az alábbi mintakimenet hasonlít az erőforráscsoport sikeres létrehozására:

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

AKS automatikus cluster létrehozása

Hozzon létre egy AKS Automatikus fürtöt a az aks create parancs használatával, ahol a --sku paraméter automatic értékre van állítva. Az alábbi példa létrehoz egy fürtöt myAKSAutomaticCluster néven a Felügyelt Prometheus és a Container Insights integrációjának engedélyezésével.

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

Amikor az üzembe helyezés befejeződik, a kimenetben egy hostedSystemProfile tulajdonság jelenik meg, amelyben a enabled tulajdonság értéke true. A hostedSystemProfile tulajdonságainak megjelenítéséhez a következő parancsot is futtathatja:

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

Automatikus Kubernetes-fürt létrehozása

  1. AKS Automatikus fürt létrehozásához keresse meg és válassza ki a Kubernetes-szolgáltatásokat. Ekkor megjelenik a Kubernetes center (előzetes verzió) oldala.

  2. A Kubernetes-központ (előzetes verzió) lapján válassza azAutomatikus Kubernetes-fürt>.

    Az Azure portál "Automatikus AKS-fürt létrehozása" gombjának képernyőképe.

  3. Az Alapszintű beállítások lapon töltse ki az összes kötelező mezőt (előfizetés, erőforráscsoport, Kubernetes-fürt neve és régió), majd válassza a Tovább gombot.

    Az Azure portál AKS Automatikus fürt - Alapszintű beállítások fülének képernyőképe

  4. A Monitoring lapon válassza ki a kívánt monitorozási konfigurációkat a Azure Monitor (Container Insights), a Managed Prometheus, a Grafana Irányítópultok és a Riasztások lapon, majd válassza a Next lehetőséget.

    A Monitoring fül képernyőképe, miközben az AKS automatizált fürtöt hoz létre az Azure portálon.

  5. A Advanced lapon válassza ki a kívánt speciális konfigurációkat: Privát hozzáférés, Azure Virtuális hálózatkezelés, Felügyelt identitás, Tárolóhálózat-biztonság (ACNS) és Felügyelt Kubernetes-névterek, majd válassza a Review + create lehetőséget.

    A Speciális lap képernyőképe az AKS automatikus fürt létrehozása közben az Azure portálon.

  6. Tekintse át a konfigurációkat az "Áttekintés + létrehozás" lapon, majd válassza a Létrehozás lehetőséget az AKS automatikus fürt üzembe helyezéséhez.

  7. Első lépések az első alkalmazás GitHub-ból való konfigurálásával és egy automatizált üzembe helyezési folyamat beállításával.

    Az Azure portálon egy AKS automatikus fürt létrehozása után az Áttekintés panel Első lépések fülének képernyőképe.

A Bicep fájl áttekintése

Az alábbi Bicep fájl definiál egy AKS Automatikus fürtöt:

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

A Bicep fájlban definiált erőforrásról további információt a Microsoft.ContainerService/managedClusters referenciában találhat.

A Bicep fájl üzembe helyezése

  1. Mentse a Bicep fájlt main.bicep a helyi számítógépre.

    Fontos

    A Bicep fájl a clusterName paramétert a myAKSAutomaticCluster sztringre állítja. Ha másik fürtnevet szeretne használni, frissítse a karakterláncot az előnyben részesített fürtnévre, mielőtt a fájlt a számítógépére menti.

  2. Telepítse a Bicep fájlt a [az deployment group create][az-deployment-group-create] paranccsal.

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

    Az AKS-fürt létrehozása néhány percet vesz igénybe. Várja meg, amíg a fürtöt sikeresen üzembe helyezik, mielőtt továbblép a következő lépéshez.

A Terraform-kód áttekintése

Megjegyzés

A cikk mintakódja az Azure Terraform GitHub-adattárban található. Megtekintheti a Terraform aktuális és korábbi verzióinak teszteredményeit tartalmazó naplófájlt.

További cikkek és mintakódok, amelyek bemutatják, hogyan használható a Terraform az Azure erőforrások kezelésére.

  1. Hozzon létre egy könyvtárat a Terraform-mintakód teszteléséhez és jelenlegi könyvtárként való beállításához.

  2. Hozzon létre egy providers.tf nevű fájlt, és szúrja be a következő kódot:

    terraform {
      required_version = ">= 1.0"
      required_providers {
        azurerm = {
          source  = "hashicorp/azurerm"
          version = "~>5.0"
        }
        random = {
          source  = "hashicorp/random"
          version = "~>3.0"
        }
      }
    }
    
    provider "azurerm" {
      features {}
    }
    
  3. Hozz létre egy fájlt néven main.tf , és add hozzá a következő kódot:

    # Create a random name for the resource group using random_pet
    resource "random_pet" "rg_name" {
      prefix = var.resource_group_name_prefix
    }
    
    # Create a resource group using the generated random name
    resource "azurerm_resource_group" "rg" {
      location = var.resource_group_location
      name     = random_pet.rg_name.id
    }
    
    # Create a random name for the AKS Automatic cluster
    resource "random_pet" "cluster_name" {
      prefix = var.cluster_name_prefix
    }
    
    # Create the AKS Automatic cluster
    resource "azurerm_kubernetes_automatic_cluster" "aks_automatic" {
      name                = random_pet.cluster_name.id
      location            = azurerm_resource_group.rg.location
      resource_group_name = azurerm_resource_group.rg.name
    
      identity {
        type = "SystemAssigned"
      }
    }
    
  4. Hozz létre egy fájlt néven variables.tf , és add hozzá a következő kódot:

    variable "resource_group_location" {
      type        = string
      default     = "westus2"
      description = "Location of the resource group."
    }
    
    variable "resource_group_name_prefix" {
      type        = string
      default     = "rg"
      description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription."
    }
    
    variable "cluster_name_prefix" {
      type        = string
      default     = "aks-automatic"
      description = "Prefix of the AKS Automatic cluster name that's combined with a random ID so the name is unique in your Azure subscription."
    }
    
  5. Hozzon létre egy outputs.tf nevű fájlt, és szúrja be a következő kódot:

    output "resource_group_name" {
      value = azurerm_resource_group.rg.name
    }
    
    output "cluster_name" {
      value = azurerm_kubernetes_automatic_cluster.aks_automatic.name
    }
    
    output "cluster_id" {
      value = azurerm_kubernetes_automatic_cluster.aks_automatic.id
    }
    
    output "node_resource_group_id" {
      value = azurerm_kubernetes_automatic_cluster.aks_automatic.node_resource_group_id
    }
    
    output "fully_qualified_domain_name" {
      value = azurerm_kubernetes_automatic_cluster.aks_automatic.fully_qualified_domain_name
    }
    

Terraform inicializálása

Futtassa a Terraform init parancsot a Terraform üzembe helyezésének inicializálásához. Ez a parancs letölti a Azure-erőforrások kezeléséhez szükséges Azure szolgáltatókat.

terraform init -upgrade

Terraform végrehajtási terv létrehozása

Végrehajtási terv létrehozásához futtassa a Terraform-tervet .

terraform plan -out main.tfplan

A Terraform végrehajtási terv alkalmazása

Használja a terraform apply parancsot a végrehajtási terv felhőinfrastruktúrára való alkalmazásához.

terraform apply main.tfplan

Egy automatikus AKS-klaszter létrehozása több percet vesz igénybe.

Ellenőrizze a klasztert

  1. Az Azure-erőforráscsoport neve és a fürt neve lekérése.

    resource_group_name=$(terraform output -raw resource_group_name)
    cluster_name=$(terraform output -raw cluster_name)
    
  2. A fürt megjelenítéséhez futtassa a az aks show parancsot, és erősítse meg, hogy a fürt a Automatic SKU-t használja.

    az aks show --resource-group $resource_group_name --name $cluster_name --query "{name:name, sku:sku, provisioningState:provisioningState}"
    

Csatlakozzon a klaszterhez

A Kubernetes-fürt kezeléséhez használja a Kubernetes parancssori klienst, a kubectl-t. kubectl már telepítve van, ha Azure Cloud Shell használ. A kubectl parancsot használva helyben telepítheti a az aks install-cli-t. Az AKS automatikus fürtök Microsoft Entra ID-vel Kubernetes szerepköralapú hozzáférés-vezérléshez (RBAC) vannak konfigurálva.

Megjegyzés

Amikor az Azure CLI használatával hoz létre fürtöt, a felhasználó számára hozzá vannak rendelve a beépített szerepkörök .

  1. Konfigurálja a kubectl-t, hogy csatlakozzon a Kubernetes-fürthöz a az aks get-credentials paranccsal. Ez a parancs letölti a hitelesítő adatokat, és konfigurálja a Kubernetes parancssori felületét a használatukhoz.

    az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticCluster
    
  1. Állítsa be a(z) kubectl elemet úgy, hogy a(z) az aks get-credentials paranccsal csatlakozzon a Kubernetes-klaszteréhez. Ez a parancs letölti a hitelesítő adatokat, és konfigurálja a Kubernetes parancssori felületét a használatukhoz.

    az aks get-credentials --resource-group $resource_group_name --name $cluster_name
    
  1. Ellenőrizze a klaszterhez való kapcsolatot a kubectl get paranccsal. Ez a parancs a fürtcsomópontok listáját adja vissza.

    kubectl get nodes
    

    Az alábbi mintakimenet bemutatja, hogyan kell bejelentkeznie:

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

    A bejelentkezés után az alábbi mintakimenet a felügyelt rendszercsomópontkészleteket jeleníti meg. Győződjön meg arról, hogy a csomópont állapota kész.

    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
    

Az alkalmazás üzembe helyezése

Az alkalmazás üzembe helyezéséhez egy jegyzékfájl használatával hozza létre a AKS Store-alkalmazás futtatásához szükséges összes objektumot. A Kubernetes-jegyzékfájl meghatározza a klaszter kívánt állapotát, például hogy mely konténerképeket kell futtatni. A manifest a következő Kubernetes üzembe helyezéseket és szolgáltatásokat tartalmazza:

Az Azure Store mintaarchitektúra képernyőképe.

  • Áruházi előtér: Webalkalmazás az ügyfelek számára termékek megtekintésére és megrendelések leadására.
  • Termékszolgáltatás: A termékinformációkat jeleníti meg.
  • Rendelési szolgáltatás: Rendeléseket rendel.
  • Rabbit MQ: Üzenetsor egy rendelési sorhoz.

Megjegyzés

Nem javasoljuk állapotalapú konténerek, mint például a Rabbit MQ, futtatását tartós tárolás nélkül éles környezetben. Ezeket itt az egyszerűség kedvéért használjuk, de azt javasoljuk, hogy felügyelt szolgáltatásokat használjunk, például Azure Cosmos DB vagy Azure Service Bus.

  1. Hozzon létre egy névteret aks-store-demo a Kubernetes-erőforrások üzembe helyezéséhez.

    kubectl create ns aks-store-demo
    
  2. Helyezze üzembe az alkalmazást a kubectl apply parancs használatával a aks-store-demo névtérben. Az üzembe helyezést meghatározó YAML-fájl GitHub.

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

    Az alábbi mintakimenet a telepítéseket és szolgáltatásokat mutatja meg.

    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
    

Az alkalmazás tesztelése

Az alkalmazás futtatásakor egy Kubernetes-szolgáltatás elérhetővé teszi az alkalmazás előtérét az interneten. A folyamat eltarthat pár percig.

  1. Ellenőrizze az üzembe helyezett podok állapotát a kubectl get pods paranccsal. Győződjön meg arról, hogy az összes pod Running, mielőtt folytatja. Ha ez az első üzembe helyezendő számítási feladat, a csomópontok automatikus kiépítése eltarthat néhány percig, amíg létrejön egy csomópontkészlet a podok futtatásához.

    kubectl get pods -n aks-store-demo
    
  2. Ellenőrizze, hogy van-e nyilvános IP-cím az áruházi előtéralkalmazáshoz. Figyelje a folyamatot a kubectl get service paranccsal az --watch argumentummal.

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

    A szolgáltatás CÍM kimenete store-front kezdetben üres:

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *                      80      12m
    
  3. Ha a CÍM üresről tényleges nyilvános IP-címre változik, állítsa le a CTRL-C figyelési folyamatot kubectl használva.

    Az alábbi mintakimenet a szolgáltatáshoz rendelt érvényes nyilvános IP-címet jeleníti meg:

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *       4.255.22.196   80      12m
    
  4. Nyisson meg egy webböngészőt a bejövő forgalom külső IP-címére a Azure Store-alkalmazás működés közbeni megtekintéséhez.

    Képernyőkép az AKS Store mintaalkalmazásról.

A fürt törlése

Ha nem tervezi végigjárni a AKS oktatóanyagot, törölje a felesleges erőforrásokat a Azure költségek elkerülése érdekében.

Távolítsa el az erőforráscsoportot, a tárolószolgáltatást és az összes kapcsolódó erőforrást a az group delete parancs használatával.

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

Megjegyzés

Az AKS-fürt egy rendszer által hozzárendelt felügyelt identitással lett létrehozva, amely az ebben a gyorsútmutatóban használt alapértelmezett identitásbeállítás. A platform kezeli ezt az identitást, így nem kell manuálisan eltávolítania.

Ha már nincs szüksége a Terraform használatával létrehozott erőforrásokra, futtassa a Terraform-tervet , és adja meg a jelölőt destroy .

terraform plan -destroy -out main.destroy.tfplan

A végrehajtási terv alkalmazásához futtassa a terraform apply parancsot.

terraform apply main.destroy.tfplan

Egy gyors kezdő lépés során egy Kubernetes-fürtöt helyezett üzembe az AKS Automatikus használatával, majd egy egyszerű, több konténerből álló alkalmazást telepített rá. Ez a mintaalkalmazás csak bemutató célokra készült, és nem képviseli a Kubernetes-alkalmazások ajánlott eljárásait. Az AKS éles környezetben történő alkalmazásával kapcsolatos teljes megoldások létrehozásának útmutatásáért lásd az AKS-megoldások útmutatóját.

Az AKS Automatic szolgáltatással kapcsolatos további információkért tekintse meg az Azure Kubernetes Service (AKS) Automatikus bevezetését.