Samouczek: uaktualnianie platformy Kubernetes w usłudze AKS włączonej przez usługę Azure Arc
Dotyczy: AKS na platformie Azure Local 22H2, AKS na systemie Windows Server
W ramach zarządzania cyklem życia aplikacji i klastra możesz przeprowadzić uaktualnienie do najnowszej dostępnej wersji rozwiązania Kubernetes w przypadku korzystania z usługi AKS włączonej przez usługę Azure Arc.
W tym samouczku, część siedem z siedmiu, opisano sposób uaktualniania klastra Kubernetes. Dowiesz się, jak:
- Identyfikowanie bieżącej i dostępnych wersji rozwiązania Kubernetes
- Uaktualnianie wersji węzłów Kubernetes platformy Kubernetes
- Uaktualnianie wersji systemu operacyjnego węzłów Kubernetes
- Uaktualnianie klastra Kubernetes do najnowszej wersji
- Weryfikowanie pomyślnego uaktualnienia
- Usuwanie klastra Kubernetes
Jakie są dostępne opcje aktualizacji?
Istnieje kilka typów aktualizacji, które mogą być wykonywane niezależnie od siebie i w niektórych obsługiwanych kombinacjach:
- Zaktualizuj hosta usługi AKS do najnowszej wersji.
- Zaktualizuj klaster obciążenia usługi AKS do nowej wersji rozwiązania Kubernetes.
- Zaktualizuj hosty kontenera usługi AKS do nowszej wersji systemu operacyjnego.
- Połączona aktualizacja systemu operacyjnego i wersji kubernetes.
Wszystkie aktualizacje są wykonywane w przepływie kroczącym, aby uniknąć przestojów w dostępności obciążenia. Gdy nowy węzeł roboczy platformy Kubernetes z nowszą kompilacją zostanie przeniesiony do klastra, zasoby zostaną przeniesione ze starego węzła do nowego węzła. Po pomyślnym zakończeniu starego węzła zostanie zlikwidowany i usunięty z klastra.
W przykładach w tym samouczku założono, że klaster obciążeń, mycluster
, jest obecnie w usłudze Kubernetes w wersji 1.18.8 i używa systemu operacyjnego w wersji ponad 30 dni.
Zanim rozpoczniesz
W poprzednich samouczkach pokazano, jak spakować aplikację do obrazu kontenera, przekazać ją do usługi Azure Container Registry i utworzyć klaster Kubernetes. Następnie wdrożono aplikację w klastrze. Jeśli te kroki nie zostały wykonane, zacznij od samouczka 1 — tworzenie obrazów kontenerów.
Aktualizowanie wersji klastra obciążenia Kubernetes
Przed zaktualizowaniem wersji platformy Kubernetes należy najpierw uaktualnić moduły programu PowerShell i hosta usługi AKS.
Ważne
Aktualizowanie klastra obciążenia do nowszej wersji rozwiązania Kubernetes działa tylko wtedy, gdy docelowa wersja rozwiązania Kubernetes jest obsługiwana przez bieżącą wersję systemu operacyjnego. Aby sprawdzić obsługiwane kombinacje wersji systemu operacyjnego i platformy Kubernetes, użyj Get-AksHciUpdates
polecenia .
Aby zaktualizować wersję platformy Kubernetes, wykonaj następujące kroki:
Aby uzyskać bieżącą wersję klastra obciążenia, uruchom następujące polecenie:
Get-AksHciCluster
ProvisioningState : provisioned KubernetesVersion : v1.20.7 NodePools : linuxnodepool WindowsNodeCount : 0 LinuxNodeCount : 0 ControlPlaneNodeCount : 1 Name : mycluster
Aby uzyskać dostępne wersje platformy Kubernetes, uruchom następujące polecenie:
Get-AksHciKubernetesVersion
OrchestratorType OrchestratorVersion OS IsPreview ---------------- ------------------- -- --------- Kubernetes v1.19.9 Linux False Kubernetes v1.19.11 Linux False Kubernetes v1.20.5 Linux False Kubernetes v1.20.7 Linux False Kubernetes v1.21.1 Linux False Kubernetes v1.19.9 Windows False Kubernetes v1.19.11 Windows False Kubernetes v1.20.5 Windows False Kubernetes v1.20.7 Windows False Kubernetes v1.21.1 Windows False
W danych wyjściowych są wyświetlane wersje i systemy operacyjne Kubernetes, w których jest dostępna wersja. Widać, że dostępnych jest więcej wersji uaktualnienia. Jednak podczas uaktualniania klastrów nie można pominąć wersji. Na przykład wersja 1.18.xx --> v1.19.xx jest dozwolona, ale wersja 1.18.xx --> v1.20.xx nie jest.
Inicjowanie aktualizacji wersji rozwiązania Kubernetes
Aby zaktualizować wersję platformy Kubernetes, uruchom następujące polecenie:
Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
Uwaga
To polecenie aktualizuje tylko istniejące węzły klastra w
mycluster
klastrze obciążenia do nowej wersji platformy Kubernetes.
Aktualizowanie tylko wersji systemu operacyjnego
Ważne
Klaster obciążenia można zaktualizować do nowszej wersji systemu operacyjnego bez zmiany wersji platformy Kubernetes, ale działa to tylko wtedy, gdy nowa wersja systemu operacyjnego nie wymaga innej wersji rozwiązania Kubernetes.
Wykonaj kroki opisane w poniższym przykładzie, aby zaktualizować wersję systemu operacyjnego:
Aby uzyskać dostępne aktualizacje klastra obciążeń, uruchom następujące polecenie:
Get-AksHciClusterUpdates -name mycluster
details kubernetesversion operatingsystemversion ------- ----------------- ---------------------- This is a patch kubernetes upgrade. (i.e v1.1.X to v1.1.Y) v1.19.9 @{mariner=April 2021; windows=April 2021} This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1) v1.20.5 @{mariner=April 2021; windows=April 2021}
Aby zainicjować aktualizację wersji systemu operacyjnego, uruchom następujące polecenie:
Update-AksHciCluster -clusterName mycluster -kubernetesVersion v1.21.1 -operatingSystem
Aktualizowanie zarówno systemu operacyjnego, jak i wersji platformy Kubernetes
Ważne
Obsługiwana jest aktualizacja klastra obciążenia do nowszej wersji systemu operacyjnego i wersji platformy Kubernetes.
W poniższym przykładzie przyjęto założenie, że jest dostępna nowa wersja platformy Kubernetes, a bieżący numer wersji to v1.20.7.
Aby uzyskać wszystkie dostępne aktualizacje klastra obciążeń, uruchom następujące polecenie:
Get-AksHciClusterUpdates -name mycluster
details kubernetesversion operatingsystemversion ------- ----------------- ---------------------- This is a patch kubernetes upgrade. (i.e v1.1.X to v1.1.Y) v1.19.9 @{mariner=April 2021; windows=April 2021} This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1) v1.20.5 @{mariner=April 2021; windows=April 2021}
Aby zainicjować aktualizację klastra obciążenia, uruchom następujące polecenie:
Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
Weryfikowanie uaktualnienia
Upewnij się, że uaktualnienie zakończyło się pomyślnie, używając polecenia Get-AksHciCluster w następujący sposób:
Get-AksHciCluster -name mycluster
Następujące przykładowe dane wyjściowe pokazują, że klaster uruchamia platformę KubernetesVersion w wersji 1.21.1:
ProvisioningState : provisioned
KubernetesVersion : v1.21.1
NodePools : linuxnodepool
WindowsNodeCount : 0
LinuxNodeCount : 0
ControlPlaneNodeCount : 1
Name : mycluster
Usuwanie klastra
Ponieważ ten samouczek jest ostatnią częścią serii, możesz usunąć klaster. Użyj polecenia Remove-AksHciCluster, aby usunąć grupę zasobów, usługę kontenera i wszystkie powiązane zasoby:
Remove-AksHciCluster -name mycluster
Następne kroki
W tym samouczku uaktualniono platformę Kubernetes w klastrze Kubernetes w usłudze AKS z włączoną usługą Arc. Wiesz już, jak wykonać następujące działania:
- Identyfikowanie bieżącej i dostępnych wersji rozwiązania Kubernetes
- Uaktualnianie wersji węzłów Kubernetes platformy Kubernetes
- Uaktualnianie wersji systemu operacyjnego węzłów Kubernetes
- Uaktualnianie klastra Kubernetes do najnowszej wersji
- Weryfikowanie pomyślnego uaktualnienia
Aby uzyskać więcej informacji na temat usługi AKS włączonej przez usługę Azure Arc, zobacz Omówienie usługi AKS oraz klastry i obciążenia.