Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Dodatek KEDA dla usługi AKS nie obsługuje obecnie modyfikowania prośb dotyczących CPU ani limitów oraz innych wartości Helm dla serwera metryk lub operatora. Pamiętaj o tym ograniczeniu podczas korzystania z dodatku. Jeśli masz jakiekolwiek pytania, możesz skontaktować się tutaj.
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 lub nowszej wprowadza zmianę niekompatybilną, 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 jest obecnie uruchomiony w wersji 2.15 lub nowszej, 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-systemzasobnikó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 obszarzeEnvironmentpowinna zostać wyświetlona wartość ,AZURE_TENANT_IDAZURE_FEDERATED_TOKEN_FILEiAZURE_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 createpolecenia .az group create --name myResourceGroup --location eastusUtwórz nowy klaster usługi AKS przy użyciu
az aks createpolecenia 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 updatepolecenia 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-credentialspolecenia .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 showpolecenia i ustaw--queryparametr 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 podspolecenia .kubectl get pods -n kube-systemNastę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 updatepolecenia 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.