Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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
- Potřebujete 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 mohly být vloženy správné proměnné prostředí:
Restartujte pody spuštěním příkazu
kubectl rollout restart deployment keda-operator -n kube-system
.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 příkazu
kubectl describe pod <keda-operator-pod> -n kube-system
ověřte úspěšné nastavení 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 do Azure Cloud Shellu.
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
Nasaďte šablonu ARM pro cluster AKS.
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 } }
Vyberte 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 + 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.
Azure Kubernetes Service