Ne. Kvě 25th, 2025
Ukázka erroru s nepovedeným upgradem Azure Kubernetes Service

Hlavně nepanikařte, dokud cluster a služby jedou, je to v pohodě. K této situaci se můžete dostat jak terraformem, tak ručním kliknutím na upgrade clusteru přímo v Azure, nebo AZ commandy, je to jedno.

Může to být způsobeno několika různými faktory, nicméně v tomto článku vám ukážu, jak to vyřešit naprosto elegantně a čistě. Sice přímo v AZURE, ale pokud nemáte v tenantovi povoleno vstoupit do AZ konzole, tak paradoxně „ruční“ vyklikání pro vás může být řešení. Na konci návodu si přesto ukážeme řešení přes AZ commandy. Řešení Terraformem ukazovat nebudeme, protože ten se vždy liší napříč firmami i jednotlivými implementacemi, moduly, šablony, které se neustále mění a je velká pravděpodobnost toho, že jak bych to tu uváděl, nemuselo by vám to fungovat, kdybyste to zkoušeli na vlastní „testovací“ infrastruktuře.

Je to na první pohled nepříjemná hláška, ale překvapivě snadno řešitelná, když víte, co s tím.

 

Klikněte si na problémový cluster v Azure,


Vlevo vyberte Settings / Node pools

 

Klikněte na scale node pool:

 

Pokud jste doposud měli nastavený autoscaling a ten byl např. naškálovaný na 5 nodů aktuálně, přepněte na chvíli na Manual a dejte o 1 nodu víc, než jste měli. Je to jen po dobu nezbytně nutnou, aby sběhl upgrade a potom to vrátíte zpět na autoscaling.
Best practicies: Pokud to děláte ve firmě, vždy informujte o vašem postupu management a udržujte management informovaný po celou dobu provádění těchto operací, které musíte mít managementem schváleny, aby na vás v případě totálního failu nespadla plná zodpovědnost za neschválený zákrok v infrastruktuře.
Ukázka probíhajícího drain node z nody, která teprve proběhne upgradem. (červeně)

Jakmile tak uděláte, tak např. v nástrojích K9s už uvidíte, že začíná drain node, vytáčení další nody v nové verzi a proces upgradu se automaticky zase rozbíhá. Klíčové k úspěchu je, aby se upgradovala master noda a pak už jste v pohodě.

Totéž s AZ commandy

Nyní si ukážeme totéž, ale s AZ commandy. Pojmenoval jsem si cluster kubernetovina.
Prvně zjistíme, jak na tom jsme:

# Zobraz aktuální verzi a informace o clusteru
az login    
#vyplivne to url a kód pro přihlášení, otevřete v novém panelu prohlížeče https://login.microsoftonline.com/devicelogin, vložíte kód k přihlášení a po přihlášení uvidíte tohle:

Pak zvolíte tenant. Stačí číslo úplně vlevo [1], [2], [3], [4]...
az aks show \
  --resource-group <vaše-resource-groupa> \
  --name kubernetovina \
  --output table
#vypíše:


# Zobraz dostupné verze pro upgrade
az aks get-upgrades \
  --resource-group <vaše-resource-groupa> \
  --name kubernetovina \
  --output table

Potom se můžem vrhnout do upgradu:

Ukáže (po upgradu na 1.30.10 nabízí novější verze):

az aks upgrade \
  --resource-group <vaše-resource-groupa> \
  --name kubernetovina \
  --kubernetes-version 1.30.10 \
  --yes
# V ukázce upgraduji na 1.31.7
- Running ..

A teď už jen upgradujeme všechny node pooly, které v kubernetes clusteru jsou. Pozor! Některé clustery mohou mít více než 1 nodepoolů, je proto nutné upgradovat jeden za druhým.

az aks nodepool upgrade \
  --resource-group <vaše-resource-groupa> \
  --cluster-name kubernetovina \
  --name <nodepool-name> \
  --kubernetes-version 1.30.10 \
  --yes

zdroj

zdroj2

Avatar

By mirra

Hardwaru a počítačům se věnuji již od roku 2003. Za tu dobu jsem poskládal stovky počítačů, opravil tisíce počítačů a vyřešil nespočetně problémů, vad a chyb, se kterými se setkávali uživatelé. Od roku 2005 se zabývám servery, zejména těmi herními, v roce 2007 jsem se začal věnovat Valve Source SDK level designu, který šel od roku 2009 k ledu kvůli studiu Informatiky na univerzitě. Podílel jsem se chvíli i na provozu síťové laboratoře MENDELU, dnes spravuji v jedné osobě cca 100 serverů/diskových polí na univerzitě, řeším IT v malých a středních firmách tak, aby firmy ušetřily nemalé částky při zlepšení kvality a soustředím se na snižování nákladů na IT od licencí až po hardware, software, provádím konsolidace a audity platnosti licencí, které firmám šetří rovněž nemalé peníze. Z velkých firem jsem měl příležitost s dalšími kolegy řešit správu 8000 serverů po celé západní Evropě s vysokou mírou automatizace a poznávání nejrůznějších evropských pracovních mentalit. Dále jsem řešil hybridní cloud ve velké firmě, orientované na trhy střední a východní Evropy. Posledních několik let se věnuji Devops pro velké zákazníky v Azure cloudu, spravuji kubernetes (AKS), Gitlab.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

16 − three =