Lab 16 – Operace s uzly
Lab 16 – Operace s uzly
InfodiscoveryCíl: bezpečně odstavit uzel kvůli údržbě a vrátit ho zpět. Kapitola: Uzly (nodes)
Všechno tady jsou pod kapotou tainty – viz lab 13, pokud si je chcete vyzkoušet ručně.
# příprava – ať máme čím hýbat
kubectl create deploy filler --image nginx:1.27 --replicas 6
kubectl get pods -o wide | sort -k7
Úkol 1. Zabraňte plánování nových podů na worker03, aniž byste narušili to,
co tam běží. Očekávaný výsledek: kubectl get nodes ukazuje u worker03
Ready,SchedulingDisabled a jeho pody jsou netknuté.
Úkol 2. Doložte, že cordon funguje: naškálujte Deployment na 9 a ukažte, že na worker03 nepřistál žádný nový pod.
Úkol 3. Teď worker03 skutečně vyprázdněte, aby šel restartovat. Očekávaný výsledek: žádné aplikační pody na něm, všechny běží jinde.
Úkol 4. Vysvětlete, proč příkaz potřeboval --ignore-daemonsets. Ukažte,
kterých podů se to týká.
Úkol 5. Vraťte worker03 do provozu a rozprostřete zátěž zpět na všechny tři
workery. Očekávaný výsledek: kubectl get pods -o wide ukazuje pody i na
worker03.
Úkol 6. Vytvořte pod, který nespravuje žádný kontroler, přišpendlený na worker03, a zkuste uzel vyprázdnit znovu. Očekávaný výsledek: drain odmítne a řekne proč.
Úkol 7. Zjistěte, kolik CPU a paměti je na worker01 aktuálně requestováno a jak se to má ke skutečnému vytížení.
Úklid
kubectl delete deploy filler
kubectl get nodes # všechny Ready, žádný SchedulingDisabled
kubectl delete node worker03 smaže jen objekt v API. Kubelet běží dál a znovu
se zaregistruje. Skutečné odebrání je drain → delete node → kubeadm reset na
stroji.