Uaktualnianie obrazów węzłów usługi Azure Kubernetes Service (AKS)
Usługa Azure Kubernetes Service (AKS) regularnie udostępnia nowe obrazy węzłów, dlatego korzystne jest częste uaktualnianie obrazów węzłów w celu korzystania z najnowszych funkcji usługi AKS. Obrazy węzłów systemu Linux są aktualizowane co tydzień, a obrazy węzłów systemu Windows są aktualizowane co miesiąc. Ogłoszenia o uaktualnieniu obrazów są uwzględniane w informacjach o wersji usługi AKS i wdrożenie tych aktualizacji we wszystkich regionach może potrwać do tygodnia. Uaktualnienia obrazów węzłów można również wykonać automatycznie i zaplanować przy użyciu planowanej konserwacji. Aby uzyskać więcej informacji, zobacz Automatyczne uaktualnianie obrazów węzłów.
W tym artykule pokazano, jak uaktualnić obrazy węzłów klastra usługi AKS i jak zaktualizować obrazy puli węzłów bez uaktualniania wersji rozwiązania Kubernetes. Aby uzyskać informacje na temat uaktualniania wersji rozwiązania Kubernetes dla klastra, zobacz Uaktualnianie klastra usługi AKS.
Uwaga
Klaster usługi AKS musi używać zestawów skalowania maszyn wirtualnych dla węzłów.
Nie można obniżyć wersji obrazu węzła (na przykład AKSUbuntu-2204 do AKSUbuntu-1804 lub AKSUbuntu-2204-202308.01.0 do AKSUbuntu-2204-202307.27.0).
Sprawdzanie dostępnych uaktualnień obrazu węzła
Sprawdź dostępne uaktualnienia obrazu węzła az aks nodepool get-upgrades
przy użyciu polecenia .
az aks nodepool get-upgrades \
--nodepool-name mynodepool \
--cluster-name myAKSCluster \
--resource-group myResourceGroup
Dane wyjściowe przedstawiają element latestNodeImageVersion
, jak w poniższym przykładzie:
{
"id": "/subscriptions/XXXX-XXX-XXX-XXX-XXXXX/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/agentPools/mynodepool/upgradeProfiles/default",
"kubernetesVersion": "1.17.11",
"latestNodeImageVersion": "AKSUbuntu-1604-2020.10.28",
"name": "default",
"osType": "Linux",
"resourceGroup": "myResourceGroup",
"type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles",
"upgrades": null
}
Przykładowe dane wyjściowe są wyświetlane AKSUbuntu-1604-2020.10.28
jako latestNodeImageVersion
.
Porównaj najnowszą wersję z bieżącą wersją obrazu węzła az aks nodepool show
przy użyciu polecenia .
az aks nodepool show \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--query nodeImageVersion
Dane wyjściowe powinny wyglądać mniej więcej tak jak w tym przykładzie:
"AKSUbuntu-1604-2020.10.08"
W tym przykładzie istnieje dostępne uaktualnienie wersji obrazu węzła, które pochodzi z wersji do wersji AKSUbuntu-1604-2020.10.08
AKSUbuntu-1604-2020.10.28
.
Uaktualnianie wszystkich obrazów węzłów we wszystkich pulach węzłów
Uaktualnij obraz węzła przy użyciu az aks upgrade
polecenia z flagą --node-image-only
.
az aks upgrade \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-image-only
Stan obrazów węzłów można sprawdzić za pomocą kubectl get nodes
polecenia .
Uwaga
To polecenie może się nieco różnić w zależności od używanej powłoki. Aby uzyskać więcej informacji na temat środowisk systemu Windows i programu PowerShell, zobacz dokumentację narzędzia Kubernetes JSONPath.
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
Po zakończeniu uaktualniania użyj az aks show
polecenia , aby uzyskać zaktualizowane szczegóły puli węzłów. Bieżący obraz węzła jest pokazywany we właściwości nodeImageVersion
.
az aks show \
--resource-group myResourceGroup \
--name myAKSCluster
Uaktualnianie określonej puli węzłów
Aby zaktualizować obraz systemu operacyjnego puli węzłów bez wykonywania uaktualnienia klastra Kubernetes, użyj az aks nodepool upgrade
polecenia z flagą --node-image-only
.
az aks nodepool upgrade \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--node-image-only
Stan obrazów węzłów można sprawdzić za kubectl get nodes
pomocą polecenia .
Uwaga
To polecenie może się nieco różnić w zależności od używanej powłoki. Aby uzyskać więcej informacji na temat środowisk systemu Windows i programu PowerShell, zobacz dokumentację narzędzia Kubernetes JSONPath.
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
Po zakończeniu uaktualniania użyj az aks nodepool show
polecenia , aby uzyskać zaktualizowane szczegóły puli węzłów. Bieżący obraz węzła jest pokazywany we właściwości nodeImageVersion
.
az aks nodepool show \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool
Uaktualnianie obrazów węzłów za pomocą skoku węzła
Aby przyspieszyć proces uaktualniania obrazu węzła, możesz uaktualnić obrazy węzłów przy użyciu dostosowywanej wartości wzrostu węzła. Domyślnie usługa AKS używa jednego dodatkowego węzła do konfigurowania uaktualnień.
Jeśli chcesz zwiększyć szybkość uaktualnień, użyj az aks nodepool update
polecenia z flagą --max-surge
, aby skonfigurować liczbę węzłów używanych do uaktualniania. Aby dowiedzieć się więcej o kompromisach różnych --max-surge
ustawień, zobacz Dostosowywanie uaktualniania skoków węzłów.
az aks nodepool update \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--max-surge 33% \
--no-wait
Stan obrazów węzłów można sprawdzić za kubectl get nodes
pomocą polecenia .
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
Użyj az aks nodepool show
polecenia , aby uzyskać zaktualizowane szczegóły puli węzłów. Bieżący obraz węzła jest pokazywany we właściwości nodeImageVersion
.
az aks nodepool show \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool
Następne kroki
- Aby uzyskać informacje o najnowszych obrazach węzłów, zobacz informacje o wersji usługi AKS.
- Dowiedz się, jak uaktualnić wersję rozwiązania Kubernetes przy użyciu polecenia Uaktualnianie klastra usługi AKS.
- Automatyczne stosowanie uaktualnień klastra i puli węzłów za pomocą funkcji GitHub Actions.
- Dowiedz się więcej o wielu pulach węzłów za pomocą polecenia Tworzenie wielu pul węzłów.
- Szczegółowe omówienie najlepszych rozwiązań dotyczących uaktualniania i innych zagadnień można znaleźć w artykule AKS patch and upgrade guidance (Wskazówki dotyczące poprawek i uaktualniania usługi AKS).