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:
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ě nespouští KEDA verze 2.15, začne ho spouštět 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
- Musíte mít předplatné Azure. Pokud ještě nemáte předplatné Azure, můžete si vytvořit bezplatný účet.
- Potřebujete nainstalované Rozhraní příkazového řádku Azure.
- Tento článek předpokládá, že máte existující skupinu prostředků Azure. Pokud nemáte existující skupinu prostředků, můžete ji vytvořit pomocí
az group create
příkazu. - Ujistěte se, že máte nakonfigurovaná pravidla brány firewall tak, aby povolovala přístup k serveru rozhraní API Kubernetes. Další informace najdete v tématu Odchozí síť a pravidla plně kvalifikovaného názvu domény pro clustery Azure Kubernetes Service (AKS).
- Vytvořte pár klíčů SSH.
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í:
Restartujte pody spuštěním
kubectl rollout restart deployment keda-operator -n kube-system
příkazu .Získejte pody operátorů KEDA pomocí
kubectl get pod -n kube-system
a hledání podů, které začínajíkeda-operator
.Spuštěním
kubectl describe pod <keda-operator-pod> -n kube-system
příkazu ověřte úspěšné injektáže proměnných prostředí . V částiEnvironment
by se měly zobrazit hodnoty proAZURE_TENANT_ID
,AZURE_FEDERATED_TOKEN_FILE
aAZURE_AUTHORITY_HOST
.
Vytvoření páru klíčů SSH
Přejděte na Azure Cloud Shell.
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
Vyberte Upravit šablonu.
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 } }
Zvolte Uložit.
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.
Vyberte Zkontrolovat a 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 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.
Azure Kubernetes Service