Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W ramach cyklu życia aplikacji i klastra możesz przeprowadzić uaktualnienie do najnowszej dostępnej wersji rozwiązania Kubernetes. Klaster usługi Azure Kubernetes Service (AKS) można uaktualnić przy użyciu interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell lub witryny Azure Portal.
W tym samouczku zaktualizujesz klaster AKS. Nauczysz się, jak:
- Zidentyfikuj bieżące i dostępne wersje platformy Kubernetes.
- Zaktualizuj węzły Kubernetes.
- Zweryfikuj pomyślne uaktualnienie.
Zanim rozpoczniesz
W poprzednich samouczkach spakowałeś aplikację do obrazu kontenerowego i przekazałeś obraz kontenerowy do usługi Azure Container Registry (ACR). Utworzyłeś również klaster AKS i wdrożyłeś w nim aplikację. Jeśli te kroki nie zostały wykonane i chcesz wykonać te czynności, zacznij od samouczka 1 — Przygotowywanie aplikacji dla usługi AKS.
W przypadku korzystania z interfejsu wiersza polecenia platformy Azure ten samouczek wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.34.1 lub nowszej. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
W przypadku korzystania z programu Azure PowerShell ten samouczek wymaga programu Azure PowerShell w wersji 5.9.0 lub nowszej. Uruchom polecenie Get-InstalledModule -Name Az, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie programu Azure PowerShell.
Aby uaktualnić klaster usługi AKS, musisz mieć rolę współautora Azure Kubernetes Service lub równoważne uprawnienia.
Przed uaktualnieniem przejrzyj informacje o wersji usługi AKS pod kątem zmian powodujących niezgodność i przestarzałych interfejsów API. Zweryfikuj również budżety zakłóceń podów (PDB) dla obciążenia, dostępny limit zasobów obliczeniowych oraz pojemność adresów IP w podsieci dla węzłów nadmiarowych. Aby uzyskać więcej informacji, zobacz Opcje uaktualniania i zalecenia dotyczące klastrów usługi AKS.
Uzyskiwanie dostępnych wersji klastra przy użyciu Azure CLI
Przed uaktualnieniem sprawdź, które wersje platformy Kubernetes są dostępne dla klastra az aks get-upgrades przy użyciu polecenia .
az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster
Poniższe przykładowe dane wyjściowe pokazują bieżącą wersję klastra i wyświetla listę nowszych wersji w obszarze upgrades:
{
"agentPoolProfiles": null,
"controlPlaneProfile": {
"kubernetesVersion": "1.33.7",
...
"upgrades": [
{
"isPreview": null,
"kubernetesVersion": "1.34.10"
},
{
"isPreview": null,
"kubernetesVersion": "1.34.9"
}
]
},
...
}
Uzyskiwanie dostępnych wersji klastra przy użyciu Azure PowerShell
Przed uaktualnieniem sprawdź bieżącą wersję klastra Kubernetes i jego region za pomocą polecenia cmdlet
Get-AzAksCluster.Get-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster | Select-Object -Property Name, CurrentKubernetesVersion, LocationNastępujące przykładowe dane wyjściowe pokazują bieżącą wersję i lokalizację klastra:
Name CurrentKubernetesVersion Location ---- ------------------------ -------- myAKSCluster 1.33.7 westus2Wyświetl listę wersji platformy Kubernetes dostępnych w regionie, w którym znajduje się klaster przy użyciu
Get-AzAksVersionpolecenia cmdlet .Get-AzAksVersion -Location westus2 | Where-Object OrchestratorVersionW poniższych przykładowych danych wyjściowych przedstawiono wersje regionalne w obszarze
OrchestratorVersion:Default IsPreview OrchestratorType OrchestratorVersion ------- --------- ---------------- ------------------- Kubernetes 1.34.10 Kubernetes 1.34.9 True Kubernetes 1.33.7 ...Aby zidentyfikować potencjalne cele uaktualniania, porównaj wersje nowsze niż bieżąca wersja klastra z regułami uaktualniania wersji platformy Kubernetes. To polecenie wyświetla informacje o dostępności regionalnej i nie weryfikuje ścieżki aktualizacji dla określonego klastra.
Uzyskiwanie dostępnych wersji klastra przy użyciu portalu Azure
Zaloguj się w witrynie Azure Portal.
Przejdź do zasobu w swoim klastrze AKS.
Z menu usługi w obszarze Ustawienia wybierz pozycję Uaktualnienia.
W obszarze Wersja rozwiązania Kubernetes wybierz pozycję Uaktualnij wersję.
Na stronie Uaktualnianie wersji rozwiązania Kubernetes wybierz listę rozwijaną Wersja rozwiązania Kubernetes , aby wyświetlić dostępne wersje rozwiązania Kubernetes na potrzeby uaktualnienia.
Jeśli nie są dostępne żadne uaktualnienia, klaster może już znajdować się w najnowszej dostępnej wersji lub wersja klastra może znajdować się poza oknem pomocy technicznej. Jeśli wersja nie jest obsługiwana, a usługa AKS nie oferuje aktualizacji naprawczej, utwórz nowy klaster z obsługiwaną wersją Kubernetes i przenieś swoje obciążenia. Aby uzyskać więcej informacji, zobacz Zasady pomocy technicznej usługi AKS dla wersji platformy Kubernetes.
Proces uaktualniania klastra usługi AKS
Węzły usługi AKS są starannie kordonowane i opróżniane, aby zminimalizować wszelkie potencjalne zakłócenia działania aplikacji. Podczas tego procesu AKS wykonuje następujące czynności:
- Dodaje nowy węzeł buforowy (lub taką liczbę węzłów, jak określono w maksymalnym wzroście) do klastra, który ma uruchomioną określoną wersję Kubernetes.
- Zakordonować i opróżnić zasoby jednego ze starych węzłów, aby zminimalizować zakłócenia działających aplikacji. Jeśli używasz maksymalnego limitu, ogranicza i opróżnia tyle węzłów jednocześnie, ile wynosi określona liczba węzłów buforowych.
- Gdy stary węzeł zostanie w pełni opróżniony, zostanie ponownie zainstalowany, aby zainstalować nową wersję i staje się węzłem buforowym dla następnego węzła, który ma zostać uaktualniony.
- Ten proces powtarza się do momentu uaktualnienia wszystkich węzłów w klastrze.
- Na końcu procesu ostatni węzeł buforu jest usuwany, zachowując istniejącą liczbę węzłów agenta i równowagę stref.
Uwaga
Jeśli nie określono poprawki, klaster automatycznie uaktualnia do najnowszej ogólnie dostępnej poprawki określonej wersji podrzędnej. Na przykład ustawienie --kubernetes-version na 1.28 powoduje uaktualnienie klastra do 1.28.9.
Aby uzyskać więcej informacji, zobacz Obsługiwane uaktualnienia wersji pomocniczej Kubernetes w usłudze AKS.
Możesz ręcznie uaktualnić klaster lub skonfigurować automatyczne uaktualnienia klastra. Konfigurowanie automatycznych uaktualnień klastra w celu zachowania klastra w obsługiwanej wersji rozwiązania Kubernetes.
Ręczne uaktualnianie klastra przy użyciu Azure CLI
Uaktualnij klaster przy użyciu az aks upgrade polecenia . W tym przykładzie klaster jest uaktualniany do wersji 1.34.10:
az aks upgrade \
--resource-group myResourceGroup \
--name myAKSCluster \
--kubernetes-version 1.34.10
Uwaga
Obsługiwane klastry inne niż LTS muszą być aktualizowane kolejno do każdej następnej wersji podrzędnej. Na przykład, aby uaktualnić z wersji 1.33.x do wersji 1.35.x, najpierw uaktualnij do wersji 1.34.x. Klaster LTS może pominąć wersje podrzędne podczas przechodzenia na nowszą wersję LTS oferowaną przez usługę AKS, jeśli uaktualnienie spełnia wymagania dotyczące rozbieżności wersji oraz przejdzie kontrole walidacyjne. Aby uzyskać więcej informacji, zobacz Reguły uaktualniania wersji platformy Kubernetes.
Poniższe przykładowe dane wyjściowe pokazują wynik uaktualnienia. Wartość kubernetesVersion jest teraz zgodna z wersją określoną w przykładowym poleceniu:
{
...
"agentPoolProfiles": [
{
...
"count": 3,
"currentOrchestratorVersion": "1.34.10",
"maxPods": 110,
"name": "nodepool1",
"nodeImageVersion": "AKSUbuntu-2204gen2containerd-202608.26.0",
"orchestratorVersion": "1.34.10",
"osType": "Linux",
"upgradeSettings": {
"drainTimeoutInMinutes": null,
"maxSurge": "10%",
"nodeSoakDurationInMinutes": null,
"undrainableNodeBehavior": null
},
"vmSize": "Standard_DS2_v2",
...
}
],
...
"currentKubernetesVersion": "1.34.10",
"dnsPrefix": "myAKSClust-myResourceGroup-12ab34",
"enableRbac": false,
"fqdn": "myaksclust-myresourcegroup-12ab34-cd56e7fg.hcp.westus2.azmk8s.io",
"id": "/subscriptions/<Subscription ID>/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster",
"kubernetesVersion": "1.34.10",
"location": "westus2",
"name": "myAKSCluster",
"type": "Microsoft.ContainerService/ManagedClusters"
...
}
Ręczne uaktualnianie klastra przy użyciu Azure PowerShell
Uaktualnij klaster za pomocą polecenia cmdlet Set-AzAksCluster. W tym przykładzie klaster jest uaktualniany do wersji 1.34.10:
Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -KubernetesVersion 1.34.10
Uwaga
Obsługiwane klastry inne niż LTS muszą być aktualizowane sekwencyjnie, po jednej wersji minor. Na przykład, aby uaktualnić z wersji 1.33.x do wersji 1.35.x, najpierw uaktualnij do wersji 1.34.x. Klaster LTS może pominąć wersje podrzędne podczas przechodzenia na wyższą wersję LTS udostępnianą przez usługę AKS, jeśli uaktualnienie spełnia wymagania dotyczące rozbieżności wersji oraz kontrole poprawności. Aby uzyskać więcej informacji, zobacz Reguły uaktualniania wersji platformy Kubernetes.
Poniższe przykładowe dane wyjściowe pokazują wynik uaktualnienia. Wartość KubernetesVersion jest teraz zgodna z wersją określoną w przykładowym poleceniu cmdlet:
...
ProvisioningState : Succeeded
MaxAgentPools : 100
KubernetesVersion : 1.34.10
CurrentKubernetesVersion : 1.34.10
...
ResourceGroupName : myResourceGroup
Name : myAKSCluster
Type : Microsoft.ContainerService/ManagedClusters
Location : westus2
Tags :
Ręczne uaktualnianie klastra przy użyciu portalu Azure
W portalu Azure przejdź do zasobu klastra AKS.
Z menu usługi w obszarze Ustawienia wybierz pozycję Uaktualnienia.
W obszarze Wersja rozwiązania Kubernetes wybierz pozycję Uaktualnij wersję.
Na stronie Uaktualnianie wersji rozwiązania Kubernetes wybierz listę rozwijaną Wersja rozwiązania Kubernetes , aby wyświetlić dostępne wersje rozwiązania Kubernetes na potrzeby uaktualnienia.
Wybierz wersję platformy Kubernetes, do której chcesz przeprowadzić uaktualnienie, a następnie wybierz pozycję Zapisz.
Czas trwania uaktualnienia zależy od czynników, takich jak liczba węzłów, ustawienia wzrostu, ograniczenia zakłóceń obciążenia, limit czasu opróżniania i czas trwania moczenia węzła. Domyślny limit czasu opróżniania wynosi 30 minut na węzeł i można go skonfigurować od pięciu minut do 24 godzin. Czas trwania moczenia węzła może dodać zero do 30 minut na węzeł. Aby uzyskać więcej informacji, zobacz Dostosowywanie wzrostu puli węzłów i niedostępnych ustawień.
Konfigurowanie automatycznych uaktualnień klastra przy użyciu Azure CLI
Konfigurowanie automatycznych uaktualnień klastra przy użyciu Azure PowerShell
Konfigurowanie automatycznych uaktualnień klastra przy użyciu portalu Azure
Automatyczne klastry AKS używają kanału stable i nie trzeba konfigurować żadnego kanału. W przypadku klastrów AKS w warstwie Standard wybierz kanał zgodnie z zasadami obsługi wersji. Kanały stable i rapid aktualizują pomniejsze wersje Kubernetes i pomagają utrzymać klaster w obsługiwanym zakresie wersji. Kanał patch instaluje tylko poprawki dla bieżącej wersji podrzędnej i nie aktualizuje klastra do nowszej wersji podrzędnej.
W klastrze AKS w warstwie Standard ustaw kanał automatycznej aktualizacji za pomocą polecenia az aks update. W poniższym przykładzie użyto kanału stable :
az aks update --resource-group myResourceGroup --name myAKSCluster --auto-upgrade-channel stable
W klastrze AKS w warstwie Standard ustaw kanał automatycznych uaktualnień za pomocą polecenia cmdlet Set-AzAksCluster. W poniższym przykładzie użyto kanału Stable :
Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -AutoUpgradeChannel Stable
W portalu Azure przejdź do zasobu klastra AKS.
Z menu usługi w obszarze Ustawienia wybierz pozycję Uaktualnienia.
W obszarze Wersja rozwiązania Kubernetes wybierz pozycję Uaktualnij wersję.
W przypadku klastra usługi AKS w warstwie Standardowa na stronie Uaktualnianie wersji rozwiązania Kubernetes wybierz listę rozwijaną Automatyczne uaktualnianie , wybierz pozycję Włączone ze stabilną, a następnie wybierz pozycję Zapisz.
Aby uzyskać więcej informacji, zobacz Automatyczne uaktualnianie klastra usługi Azure Kubernetes Service (AKS).
Uaktualnianie obrazów węzłów
AKS regularnie udostępnia nowe obrazy węzłów. Obrazy węzłów systemu Linux są aktualizowane co tydzień, a obrazy węzłów systemu Windows są aktualizowane co miesiąc. Zalecamy częste uaktualnianie obrazów węzłów w celu korzystania z najnowszych funkcji i aktualizacji zabezpieczeń usługi AKS. Aby uzyskać więcej informacji, zobacz Uaktualnianie obrazów węzłów w usłudze Azure Kubernetes Service (AKS). Aby skonfigurować automatyczne aktualizacje obrazów systemów operacyjnych węzłów klastra usługi Azure Kubernetes Service (AKS), zobacz Automatyczne aktualizacje obrazów systemów operacyjnych węzłów usługi Azure Kubernetes Service (AKS).
Wyświetl zdarzenia uaktualnienia
Uwaga
Podczas aktualizacji klastra w węzłach mogą wystąpić następujące zdarzenia Kubernetes:
- Surge: utwórz węzeł Surge.
- Opróżnianie: Eksmituj zasobniki z węzła. Usługa AKS umożliwia domyślnie opróżnianie węzła przez 30 minut. Limit czasu opróżniania można skonfigurować z pięciu minut do 24 godzin.
- Aktualizacja: aktualizacja węzła zakończyła się powodzeniem lub niepowodzeniem.
- Usuń: usuń węzeł przeciążeniowy.
kubectl get Użyj polecenia z selektorem pól, aby wyświetlić zdarzenia uaktualniania usługi AKS w domyślnej przestrzeni nazw.
kubectl get events --field-selector source=upgrader
W poniższych przykładowych danych wyjściowych przedstawiono niektóre z powyższych zdarzeń wymienionych podczas uaktualniania:
LAST SEEN TYPE REASON OBJECT MESSAGE
...
5m Normal Drain node/aks-nodepool1-12345678-vmss000000 Draining node: aks-nodepool1-12345678-vmss000000
5m Normal Upgrade node/aks-nodepool1-12345678-vmss000000 Deleting node aks-nodepool1-12345678-vmss000000 from API server
4m Normal Upgrade node/aks-nodepool1-12345678-vmss000000 Successfully reimaged node: aks-nodepool1-12345678-vmss000000
4m Normal Upgrade node/aks-nodepool1-12345678-vmss000000 Successfully upgraded node: aks-nodepool1-12345678-vmss000000
4m Normal Drain node/aks-nodepool1-12345678-vmss000000 Draining node: aks-nodepool1-12345678-vmss000000
...
Weryfikowanie uaktualnienia przy użyciu Azure CLI
Upewnij się, że uaktualnienie zakończyło się pomyślnie, używając az aks show polecenia .
az aks show --resource-group myResourceGroup --name myAKSCluster --output table
Następujące przykładowe dane wyjściowe pokazują, że klaster usługi AKS uruchamia docelową wersję rozwiązania Kubernetes:
Name Location ResourceGroup KubernetesVersion CurrentKubernetesVersion ProvisioningState Fqdn
------------ ---------- --------------- ------------------- ------------------------ ------------------- ----------------------------------------------------------------
myAKSCluster westus2 myResourceGroup 1.34.10 1.34.10 Succeeded myaksclust-myresourcegroup-12ab34-cd56e7fg.hcp.westus2.azmk8s.io
Weryfikowanie uaktualnienia przy użyciu Azure PowerShell
Potwierdź, że uaktualnienie zakończyło się pomyślnie, za pomocą polecenia cmdlet Get-AzAksCluster.
Get-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster |
Select-Object -Property Name, Location, KubernetesVersion, ProvisioningState
Następujące przykładowe dane wyjściowe pokazują, że klaster usługi AKS uruchamia docelową wersję rozwiązania Kubernetes:
Name Location KubernetesVersion ProvisioningState
---- -------- ----------------- -----------------
myAKSCluster westus2 1.34.10 Succeeded
Weryfikowanie uaktualnienia przy użyciu portalu Azure
- W portalu Azure przejdź do zasobu klastra AKS.
- Na stronie Przegląd w obszarze Podstawy sprawdź wersję rozwiązania Kubernetes , aby potwierdzić pomyślne uaktualnienie.
Usuwanie klastra przy użyciu Azure CLI
Usuwanie klastra przy użyciu Azure PowerShell
Usuwanie klastra przy użyciu portalu Azure
Ponieważ ten samouczek jest ostatnią częścią serii, możesz usunąć klaster usługi AKS, aby uniknąć naliczania opłat za platformę Azure.
Usuń grupę zasobów, usługę kontenera i wszystkie powiązane zasoby przy użyciu az group delete polecenia .
az group delete --name myResourceGroup --yes --no-wait
Usuń grupę zasobów, usługę kontenera i wszystkie powiązane zasoby przy użyciu Remove-AzResourceGroup polecenia cmdlet .
Remove-AzResourceGroup -Name myResourceGroup
- W portalu Azure przejdź do zasobu klastra AKS.
- Na stronie Przegląd wybierz pozycję Usuń.
- Na stronie potwierdzenia usunięcia klastra, wybierz pozycję Usuń.
Uwaga
Po usunięciu klastra jednostka usługi Microsoft Entra używana przez klaster usługi AKS nie zostanie usunięta. Aby sprawdzić, jak usunąć jednostkę usługi, zobacz AKS service principal considerations and deletion (Uwagi dotyczące jednostki usługi AKS i jej usuwanie). Jeśli użyto tożsamości zarządzanej, tożsamość ta jest zarządzana przez platformę i nie wymaga od Ciebie zarządzania ani obrotu żadnymi tajemnicami.
Następne kroki
W tym samouczku zaktualizowałeś Kubernetes w klastrze AKS. Nauczyłeś się, jak:
- Zidentyfikuj bieżące i dostępne wersje platformy Kubernetes.
- Zaktualizuj węzły Kubernetes.
- Zweryfikuj pomyślne uaktualnienie.
Aby uzyskać więcej informacji na temat usługi AKS, zobacz Omówienie usługi AKS. Aby uzyskać wskazówki dotyczące tworzenia pełnych rozwiązań za pomocą usługi AKS, zobacz wskazówki dotyczące rozwiązania AKS.