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. Można również automatycznie przeprowadzać uaktualnienia obrazów węzłów i planować je 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).
Sprawdzenia 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 <node-pool-name> \ --cluster-name <cluster-name> \ --resource-group <resource-group>
W danych wyjściowych znajdź i zanotuj
latestNodeImageVersion
wartość. Ta wartość to najnowsza wersja obrazu węzła dostępna dla puli węzłów.Sprawdź bieżącą wersję obrazu węzła, aby porównać najnowszą wersję przy użyciu
az aks nodepool show
polecenia .az aks nodepool show \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --query nodeImageVersion
nodeImageVersion
Jeśli wartość różni się odlatestNodeImageVersion
wartości , możesz uaktualnić obraz węzła.
Uaktualnianie wszystkich obrazów węzłów we wszystkich pulach węzłów
Uaktualnij wszystkie obrazy węzłów we wszystkich pulach węzłów w klastrze przy użyciu
az aks upgrade
polecenia z flagą--node-image-only
.az aks upgrade \ --resource-group <resource-group> \ --name <cluster-name> \ --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ścinodeImageVersion
.az aks show \ --resource-group <resource-group> \ --name <cluster-name>
Uaktualnianie określonej puli węzłów
Zaktualizuj obraz systemu operacyjnego puli węzłów bez wykonywania uaktualnienia klastra Kubernetes przy użyciu
az aks nodepool upgrade
polecenia z flagą--node-image-only
.az aks nodepool upgrade \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --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ścinodeImageVersion
.az aks nodepool show \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name>
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ń.
Uaktualnij obrazy węzłów za pomocą operacji wzrostu węzła za pomocą
az aks nodepool update
polecenia z--max-surge
flagą , aby skonfigurować liczbę węzłów używanych do uaktualniania.Uwaga
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 <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --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}'
Pobierz zaktualizowane szczegóły puli węzłów przy użyciu elementu
az aks nodepool show
, aby uzyskać zaktualizowane szczegóły puli węzłów. Bieżący obraz węzła jest pokazywany we właściwościnodeImageVersion
.az aks nodepool show \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name>
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.
- Dowiedz się więcej o uaktualnianiu najlepszych rozwiązań za pomocą wskazówek dotyczących poprawek i uaktualniania usługi AKS.
Azure Kubernetes Service