Instalowanie dodatku do automatycznego skalowania opartego na zdarzeniach platformy Kubernetes (KEDA) przy użyciu interfejsu wiersza polecenia platformy Azure
W tym artykule pokazano, jak zainstalować dodatek do automatycznego skalowania opartego na zdarzeniach platformy Kubernetes (KEDA) platformy Kubernetes Service (AKS) przy użyciu interfejsu wiersza polecenia platformy Azure.
Ważne
Wersja klastra Kubernetes określa, jaka wersja KEDA zostanie zainstalowana w klastrze usługi AKS. Aby zobaczyć, która wersja KEDA jest mapowana na każdą wersję usługi AKS, zobacz kolumnę AKS managed add-ons ( Dodatki zarządzane przez usługę AKS) tabeli wersji składnika Kubernetes.
W przypadku wersji ogólnodostępnych platformy Kubernetes usługa AKS oferuje pełną obsługę odpowiedniej wersji pomocniczej KEDA w tabeli. Wersje wersji zapoznawczej platformy Kubernetes i najnowsza poprawka KEDA są częściowo objęte pomocą techniczną dla klientów. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:
Uwaga
Usługa KEDA w wersji 2.15 wprowadza zmianę powodującą niezgodność, która usuwa obsługę tożsamości zasobnika. Zalecamy przejście do tożsamości obciążenia na potrzeby uwierzytelniania, jeśli używasz tożsamości zasobnika. Chociaż dodatek zarządzany przez usługę KEDA nie uruchamia obecnie usługi KEDA w wersji 2.15, rozpocznie uruchamianie go w wersji zapoznawczej usługi AKS w wersji 1.31.
Aby uzyskać więcej informacji na temat bezpiecznego skalowania aplikacji przy użyciu tożsamości obciążenia, przeczytaj nasz samouczek. Aby wyświetlić zasady zmiany powodujące niezgodność/wycofanie usługi KEDA, przeczytaj oficjalną dokumentację.
Zanim rozpoczniesz
- Wymagana jest subskrypcja platformy Azure. Jeśli nie masz subskrypcji Azure, możesz utworzyć bezpłatne konto Azure.
- Potrzebny jest zainstalowany interfejs wiersza polecenia platformy Azure.
- Upewnij się, że masz skonfigurowane reguły zapory umożliwiające dostęp do serwera interfejsu API Kubernetes. Aby uzyskać więcej informacji, zobacz Reguły sieci wychodzącej i nazwy FQDN dla klastrów usługi Azure Kubernetes Service (AKS).
Uwaga
Jeśli używasz Tożsamość obciążeń Microsoft Entra i włączysz funkcję KEDA przed Tożsamość obciążeń, musisz ponownie uruchomić zasobniki operatora KEDA, aby można było wstrzyknąć odpowiednie zmienne środowiskowe:
Uruchom ponownie zasobniki, uruchamiając polecenie
kubectl rollout restart deployment keda-operator -n kube-system
.Uzyskaj zasobniki operatorów KEDA przy użyciu
kubectl get pod -n kube-system
zasobników i znajdowanie zasobników rozpoczynających się odkeda-operator
.Sprawdź pomyślne wstrzyknięcie zmiennych środowiskowych, uruchamiając polecenie
kubectl describe pod <keda-operator-pod> -n kube-system
. W obszarzeEnvironment
powinna zostać wyświetlona wartość ,AZURE_FEDERATED_TOKEN_FILE
AZURE_TENANT_ID
iAZURE_AUTHORITY_HOST
.
Instalowanie dodatku KEDA za pomocą interfejsu wiersza polecenia platformy Azure
Aby zainstalować dodatek KEDA, użyj polecenia --enable-keda
podczas tworzenia lub aktualizowania klastra.
Włączanie dodatku KEDA w klastrze usługi AKS
Uwaga
Chociaż KEDA oferuje różne opcje dostosowywania, dodatek KEDA obecnie zapewnia podstawową typową konfigurację.
Jeśli potrzebujesz konfiguracji niestandardowych, możesz ręcznie edytować pliki YAML KEDA, aby dostosować instalację. Platforma Azure nie oferuje obsługi konfiguracji niestandardowych.
Tworzenie nowego klastra AKS z włączonym dodatkiem KEDA
Utwórz grupę zasobów przy użyciu
az group create
polecenia .az group create --name myResourceGroup --location eastus
Utwórz nowy klaster usługi AKS przy użyciu
az aks create
polecenia i włącz dodatek KEDA przy użyciu flagi--enable-keda
.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-keda \ --generate-ssh-keys
Włączanie dodatku KEDA w istniejącym klastrze usługi AKS
Zaktualizuj istniejący klaster przy użyciu
az aks update
polecenia i włącz dodatek KEDA przy użyciu flagi--enable-keda
.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-keda
Pobieranie poświadczeń dla klastra
Pobierz poświadczenia dla klastra usługi AKS przy użyciu
az aks get-credentials
polecenia .az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Sprawdź, czy dodatek KEDA jest zainstalowany w klastrze
Sprawdź, czy dodatek KEDA jest zainstalowany w klastrze przy użyciu
az aks show
polecenia i ustaw--query
parametr naworkloadAutoScalerProfile.keda.enabled
.az aks show --resource-group myResourceGroup --name myAKSCluster --query "workloadAutoScalerProfile.keda.enabled"
Następujące przykładowe dane wyjściowe pokazują, że dodatek KEDA jest zainstalowany w klastrze:
true
Sprawdź, czy usługa KEDA jest uruchomiona w klastrze
Sprawdź, czy dodatek KEDA jest uruchomiony w klastrze przy użyciu
kubectl get pods
polecenia .kubectl get pods -n kube-system
Następujące przykładowe dane wyjściowe pokazują, że operator KEDA, punkt zaczepienia przyjęć i serwer interfejsu API metryk są instalowane w klastrze:
keda-admission-webhooks-**********-2n9zl 1/1 Running 0 3d18h keda-admission-webhooks-**********-69dkg 1/1 Running 0 3d18h keda-operator-*********-4hb5n 1/1 Running 0 3d18h keda-operator-*********-pckpx 1/1 Running 0 3d18h keda-operator-metrics-apiserver-**********-gqg4s 1/1 Running 0 3d18h keda-operator-metrics-apiserver-**********-trfcb 1/1 Running 0 3d18h
Weryfikowanie wersji usługi KEDA w klastrze
Aby sprawdzić wersję usługi KEDA, użyj polecenia kubectl get crd/scaledobjects.keda.sh -o yaml
. Na przykład:
kubectl get crd/scaledobjects.keda.sh -o yaml
Następujące przykładowe dane wyjściowe pokazują konfigurację KEDA w etykiecie app.kubernetes.io/version
:
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.9.0
meta.helm.sh/release-name: aks-managed-keda
meta.helm.sh/release-namespace: kube-system
creationTimestamp: "2023-08-09T15:58:56Z"
generation: 1
labels:
app.kubernetes.io/component: operator
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: keda-operator
app.kubernetes.io/part-of: keda-operator
app.kubernetes.io/version: 2.10.1
helm.toolkit.fluxcd.io/name: keda-adapter-helmrelease
helm.toolkit.fluxcd.io/namespace: 64d3b6fd3365790001260647
name: scaledobjects.keda.sh
resourceVersion: "1421"
uid: 29109c8c-638a-4bf5-ac1b-c28ad9aa11fa
spec:
conversion:
strategy: None
group: keda.sh
names:
kind: ScaledObject
listKind: ScaledObjectList
plural: scaledobjects
shortNames:
- so
singular: scaledobject
scope: Namespaced
# Redacted due to length
Wyłączanie dodatku KEDA w klastrze usługi AKS
Wyłącz dodatek KEDA w klastrze przy użyciu
az aks update
polecenia z flagą--disable-keda
.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --disable-keda
Następne kroki
W tym artykule pokazano, jak zainstalować dodatek KEDA w klastrze usługi AKS przy użyciu interfejsu wiersza polecenia platformy Azure.
Za pomocą dodatku KEDA zainstalowanego w klastrze możesz wdrożyć przykładową aplikację , aby rozpocząć skalowanie aplikacji.
Aby uzyskać informacje na temat rozwiązywania problemów z usługą KEDA, zobacz Rozwiązywanie problemów z dodatkiem Kubernetes Event-driven Autoscaling (KEDA).
Aby dowiedzieć się więcej, wyświetl nadrzędną dokumentacji usługi KEDA.
Azure Kubernetes Service