Upgrade OpenShift klastra bez výpadku
OTA update, EUS release-y a rolling upgrade workers.
OpenShift má over-the-air (OTA) update model – Cluster Version Operator (CVO) stiahne novú release image, aplikuje CVO manifest a postupne aktualizuje všetky cluster operators v definovanom poradí. Ty len povieš verziu, zvyšok je automatizovaný.
Update channels určujú frekvenciu. `stable-4.15` dostáva iba z-stream fixy (4.15.1, 4.15.2...), `fast-4.15` a `candidate-4.15` sú predpremiérové kanály. EUS (Extended Update Support) channel `eus-4.14` má 18-24 mesiacov support a dovoľuje preskočiť minor verziu pri EUS→EUS upgrade (4.14 → 4.16 v jednom kroku, s medzi-krokom cez 4.15).
Sekvencia upgradov je striktná. CVO najprv upgraduje control plane operators, potom worker nodes cez MachineConfigPool. Každý MCP node je cordoned, drained, rebootovaný s novou RHCOS verziou a znovu joined. Rýchlosť riadiš cez `maxUnavailable` v MCP (default 1) – vyššia hodnota = rýchlejší upgrade, ale menšia rezerva kapacity.
PodDisruptionBudget je kritický. Bez PDB môže drain vypnúť všetky repliky Deploymentu naraz, ak sú na tom istom node. Nastav PDB `minAvailable: 1` (alebo percento) pre všetky produkčné workloady. HA cross-AZ topologySpreadConstraints tiež pomôže – rôzne pody na rôznych AZ, drain jednej AZ neovplyvní inú.
Pre-upgrade checklist z praxe: (1) prečítaj release notes a známe issue; (2) skontroluj `oc adm upgrade` – ukáže deprecated API, ktoré musíš opraviť pred upgradom; (3) etcd backup cez `etcd-backup.sh` (support tool); (4) test upgrade najprv na staging klastri s tou istou verziou; (5) sleduj `ClusterOperatorDegraded` alerty počas upgrade a `oc get co` – ak nejaký operator visi Degraded > 30 min, otvor support case skôr ako to bude produkčný incident.