Instalace doplňku KeDA (Event driven Autoscaling) Kubernetes pomocí šablony ARM

Tento článek ukazuje, jak nasadit doplněk KeDA (Event-driven Autoscaling) Kubernetes do služby Azure Kubernetes Service (AKS) pomocí šablony ARM.

Důležité

Verze Kubernetes vašeho clusteru určuje, jaká verze KEDA se nainstaluje v clusteru AKS. Pokud chcete zjistit, která verze KEDA se mapuje na každou verzi AKS, podívejte se na sloupec spravovaných doplňků AKS v tabulce verzí komponent Kubernetes.

Pro verze GA Kubernetes nabízí AKS plnou podporu odpovídající podverze KEDA v tabulce. Verze Kubernetes Preview a nejnovější opravy KEDA jsou částečně pokryty zákaznickou podporou na základě maximálního úsilí. Proto tyto funkce nejsou určené pro produkční použití. Další informace najdete v následujících článcích podpory:

Než začnete

Poznámka:

Pokud používáte ID úloh Microsoft Entra a před ID úloh povolíte KEDA, musíte restartovat pody operátoru KEDA, aby bylo možné vloženého správné proměnné prostředí:

  1. Restartujte pody spuštěním kubectl rollout restart deployment keda-operator -n kube-systempříkazu .

  2. Získejte pody operátorů KEDA pomocí kubectl get pod -n kube-system a hledání podů, které začínají keda-operator.

  3. Spuštěním kubectl describe pod <keda-operator-pod> -n kube-systempříkazu ověřte úspěšné injektáže proměnných prostředí . V části Environmentby se měly zobrazit hodnoty pro AZURE_TENANT_ID, AZURE_FEDERATED_TOKEN_FILEa AZURE_AUTHORITY_HOST.

Vytvoření páru klíčů SSH

  1. Přejděte na Azure Cloud Shell.

  2. Pomocí příkazu vytvořte pár az sshkey create klíčů SSH.

    az sshkey create --name <sshkey-name> --resource-group <resource-group-name>
    

Povolení doplňku KEDA pomocí šablony ARM

  1. Nasaďte šablonu ARM pro cluster AKS.

  2. Vyberte Upravit šablonu.

  3. Povolte doplněk KEDA zadáním workloadAutoScalerProfile pole v šabloně ARM, jak je znázorněno v následujícím příkladu:

        "workloadAutoScalerProfile": {
            "keda": {
                "enabled": true
            }
        }
    
  4. Zvolte Uložit.

  5. Aktualizujte požadované hodnoty šablony ARM:

    • Předplatné: Vyberte předplatné Azure, které se má použít pro nasazení.
    • Skupina prostředků: Vyberte skupinu prostředků, která se má použít pro nasazení.
    • Oblast: Vyberte oblast, která se má použít pro nasazení.
    • Předpona DNS: Zadejte jedinečný název DNS, který se má použít pro cluster.
    • Uživatelské jméno Správa Linuxu: Zadejte uživatelské jméno clusteru.
    • Zdroj veřejného klíče SSH: Vyberte Použít existující klíč uložený v Azure.
    • Klíče úložiště: Vyberte pár klíčů, který jste vytvořili dříve v článku.
  6. Vyberte Zkontrolovat a vytvořit>Vytvořit.

Připojení do clusteru AKS

Pokud se chcete připojit ke clusteru Kubernetes z místního zařízení, použijte klienta příkazového řádku Kubernetes kubectl.

Pokud používáte Azure Cloud Shell, kubectl je už nainstalovaný. Můžete ho az aks install-cli také nainstalovat místně pomocí příkazu.

  • Nakonfigurujte kubectl připojení ke clusteru Kubernetes pomocí příkazu az aks get-credentials . Následující příklad získá přihlašovací údaje pro cluster AKS s názvem MyAKSCluster v MyResourceGroup:
az aks get-credentials --resource-group MyResourceGroup --name MyAKSCluster

Příklad nasazení

Následující fragment kódu je ukázkové nasazení, které vytvoří cluster s povoleným nástrojem KEDA s jedním fondem uzlů, který se skládá ze tří DS2_v5 uzlů.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "apiVersion": "2023-03-01",
            "dependsOn": [],
            "type": "Microsoft.ContainerService/managedClusters",
            "location": "westcentralus",
            "name": "myAKSCluster",
            "properties": {
                "kubernetesVersion": "1.27",
                "enableRBAC": true,
                "dnsPrefix": "myAKSCluster",
                "agentPoolProfiles": [
                    {
                        "name": "agentpool",
                        "osDiskSizeGB": 200,
                        "count": 3,
                        "enableAutoScaling": false,
                        "vmSize": "Standard_D2S_v5",
                        "osType": "Linux",
                        "type": "VirtualMachineScaleSets",
                        "mode": "System",
                        "maxPods": 110,
                        "availabilityZones": [],
                        "nodeTaints": [],
                        "enableNodePublicIP": false
                    }
                ],
                "networkProfile": {
                    "loadBalancerSku": "standard",
                    "networkPlugin": "kubenet"
                },
                "workloadAutoScalerProfile": {
                    "keda": {
                        "enabled": true
                    }
                }
            },
            "identity": {
                "type": "SystemAssigned"
            }
        }
    ]
}

Zahájení škálování aplikací pomocí KEDA

Aplikace můžete automaticky škálovat pomocí KEDA pomocí vlastních definic prostředků (CRD). Další informace najdete v dokumentaci KEDA.

Odebrání prostředků

  • Pomocí příkazu odeberte skupinu prostředků a všechny související prostředky az group delete .

    az group delete --name <resource-group-name>
    

Další kroky

Tento článek vám ukázal, jak nainstalovat doplněk KEDA do clusteru AKS a ověřit, jestli je nainstalovaný a spuštěný. S doplňkem KEDA nainstalovaným v clusteru můžete nasadit ukázkovou aplikaci , která začne škálovat aplikace.

Informace o řešení potíží keDA najdete v tématu Řešení potíží s doplňkem KeDA (Event-driven Autoscaling) Kubernetes (KEDA).

Další informace najdete v upstreamových dokumentech KEDA.