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.
W tym artykule omówiono sposób rozwiązywania błędu "NodePoolMcVersionIncompatible — pula węzłów w wersji 1.x.y i płaszczyzny sterowania w wersji 1.a.b są niezgodne" występujący podczas uaktualniania puli węzłów w klastrze usługi Microsoft Azure Kubernetes Service (AKS).
Wymagania wstępne
Objawy
Podczas uaktualniania puli węzłów w klastrze usługi AKS jest wyświetlany jeden z następujących komunikatów o błędach:
BadRequest — NodePoolMcVersionIncompatible
Błąd: pula węzłów w wersji 1.x.y i płaszczyzna sterowania w wersji 1.a.b są niezgodne. Wersja pomocnicza puli węzłów nie może być starsza o więcej niż 2 wersje w porównaniu do wersji płaszczyzny sterowania. Wersja mniejsza puli węzłów to x, a płaszczyzna sterowania to a. Aby uzyskać więcej informacji, zobacz https://aka.ms/version-skew-policy.
Identyfikator zasobu: /subscriptions/<subscription_id>/resourcegroups/<aks_cluster_resource_group>/providers/Microsoft.ContainerService/managedClusters/<aks_cluster_name>.
BadRequest — NodePoolMcVersionIncompatible
Błąd: pula węzłów w wersji 1.x.y i płaszczyzna sterowania w wersji 1.a.b są niezgodne. Wersja pomocnicza wersji puli węzłów x jest większa niż wersja płaszczyzny sterowania a. Aby uzyskać więcej informacji, zobacz https://aka.ms/version-skew-policy.
Identyfikator zasobu: /subscriptions/<subscription_id>/resourcegroups/<aks_cluster_resource_group>/providers/Microsoft.ContainerService/managedClusters/<aks_cluster_name>.
Przyczyna
Te problemy występują, jeśli spróbujesz uaktualnić pulę węzłów, która jest więcej niż dwie wersje za wersją płaszczyzny sterowania usługi AKS, lub jeśli spróbujesz dodać pulę węzłów, która jest w nowszej wersji niż wersja płaszczyzny sterowania.
Podczas aktualizowania puli węzłów należy spełnić następujące warunki:
Wersja puli węzłów nie może być większa niż <.
Wersja puli węzłów musi należeć do dwóch wersji pomocniczych wersji płaszczyzny sterowania.
Aby uzyskać więcej informacji, zobacz reguły walidacji AKS dotyczące procesu aktualizacji.
Rozwiązanie 1: Upewnij się, że wersja puli węzłów znajduje się w dwóch wersjach pomniejszych wersji płaszczyzny sterowania.
Pobierz wersję płaszczyzny sterowania , uruchamiając polecenie az aks get-upgrades za pomocą Azure CLI.
Oto przykład użycia polecenia . Kolumna
MasterVersiondanych wyjściowych zawiera wersję płaszczyzny sterowania.az aks get-upgrades --resource-group aksrg --name testcluster1 --output tableName ResourceGroup MasterVersion Upgrades ------- --------------- --------------- ----------------------- default aksrg 1.23.12 1.23.15, 1.24.6, 1.24.9Uaktualnij pulę węzłów, uruchamiając polecenie az aks nodepool upgrade w interfejsie wiersza polecenia platformy Azure, i podaj wersję Kubernetes nie więcej niż o dwie wersje pomocnicze różniącą się od wersji płaszczyzny sterowania.
Jeśli na przykład wersja płaszczyzny sterowania to
1.23.12, możesz określić wersję Kubernetes jako1.23.8lub1.23.12dla puli węzłów.Oto przykładowe użycie polecenia:
az aks nodepool upgrade \ --resource-group aksrg \ --cluster-name testcluster1 \ --name mynodepool \ --kubernetes-version 1.23.8 \ --no-wait
Rozwiązanie 2. Upewnij się, że wersja puli węzłów nie jest większa niż wersja płaszczyzny sterowania
Pobierz wersję płaszczyzny sterowania , uruchamiając polecenie az aks get-upgrades za pomocą Azure CLI.
Oto przykład użycia polecenia . Kolumna
MasterVersiondanych wyjściowych zawiera wersję płaszczyzny sterowania.az aks get-upgrades --resource-group aksrg --name testcluster1 --output tableName ResourceGroup MasterVersion Upgrades ------- --------------- --------------- ----------------------- default aksrg 1.23.12 1.23.15, 1.24.6, 1.24.9Uaktualnij pulę węzłów uruchamiając polecenie az aks nodepool upgrade interfejsu wiersza polecenia Azure i podaj wersję platformy Kubernetes, która jest mniejsza lub równa wersji płaszczyzny sterowania.
Oto przykładowe użycie polecenia:
az aks nodepool upgrade \ --resource-group aksrg \ --cluster-name testcluster1 \ --name mynodepool \ --kubernetes-version 1.23.12 \ --no-wait