Sdílet prostřednictvím


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

Důležité

Doplněk KEDA pro AKS v současné době nepodporuje úpravu požadavků nebo limitů procesoru a dalších hodnot Helm pro Metrics Server nebo Operator. Při používání doplňku mějte na paměti toto omezení. Pokud máte nějaké dotazy, neváhejte se sem spojit.

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 odpovídá každé verzi AKS, podívejte se na sloupec spravované doplňky AKS v tabulce verzí komponent Kubernetes.

Pro verze GA Kubernetes nabízí AKS plnou podporu podverze KEDA uvedené 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:

Poznámka:

KEDA verze 2.15+ zavádí zásadní změnu, která odstraňuje podporu identit podů. Pokud používáte identitu podu, doporučujeme přejít na identitu úloh pro vaše ověřování. I když spravovaný doplněk KEDA aktuálně neběží na verzi KEDA 2.15+, začne běžet ve verzi AKS Preview 1.31.

Další informace o tom, jak bezpečně škálovat aplikace pomocí identity úloh, najdete v našem kurzu. Pokud si chcete prohlédnout zásady zásadních změn nebo vyřazení ke službě KEDA, přečtěte si oficiální dokumentaci.

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 mohly být vloženy správné proměnné prostředí:

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

  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 příkazu kubectl describe pod <keda-operator-pod> -n kube-system ověřte úspěšné nastavení 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 do Azure Cloud Shellu.

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

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

Povolit doplněk 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. Vyberte 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ávce 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 + vytvořit>Vytvořit.

Připojení ke 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 také nainstalovat lokálně pomocí příkazu az aks install-cli.

  • 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 az group delete odeberte skupinu prostředků a všechny související prostředky.

    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.