Kubernetes 1.17 — jak uaktualnić i nie wydać całego budżetu na błędy

Kubernetes 1.17 — jak uaktualnić i nie wydać całego budżetu na błędy

9 grudnia ukazała się kolejna wersja Kubernetes — 1.17. Jej hasło to „Stabilność”, wiele funkcji uzyskało status GA, a pewna liczba przestarzałych funkcji została usunięta…

I, jak zawsze, nasza ulubiona sekcja Action Required w pliku CHANGELOG-1.17.md wymaga uwagi.

Pora działać…

Uwaga, Storage!

Aktualizacja kubelet w trybie na żywo w wersji 1.17 nie jest wspierana, ponieważ zmieniła się ścieżka do wolumenów blokowych. Przed aktualizacją węzła należy przenieść wszystkie pody z użyciem polecenia kubectl drain.

Flagi i bramy…

W changelogu zazwyczaj podaje się, że dany flag lub feature gate został usunięty lub dodany, ale jakoś nigdy nie podają aplikacji, w której miała miejsce ta zmiana…:

  • Usunięto flagę --include-uninitialized u kubectl;
  • Funkcjonalność, którą umożliwiały feature gates GCERegionalPersistentDisk, EnableAggregatedDiscoveryTimeout i PersistentLocalVolumes, teraz jest zawsze używana i nie można jej wyłączyć. Te opcje zostały usunięte z możliwych kluczy api-server i controller-manager;
  • Sieć adresów IP dla usług nie jest już przypisywana domyślnie. Należy ją określić za pomocą flagi --service-cluster-ip-range podczas uruchamiania serwera API i controller-managera.

kubeadm

  • Kubeadm nauczył się konfigurować automatyczne aktualizacje certyfikatów dla kubelet na wszystkich węzłach klastra, w tym również na pierwszym masterze, gdzie wykonano polecenie kubeadm init. Efektem ubocznym było wymaganie posiadania pliku z początkową konfiguracją kubelet bootstrap-kubelet.conf zamiast kubelet.conf w trakcie działania kubeadm init;
  • Przy dodawaniu trybów autoryzacji do API serwer kubeadm już nie dodaje trybów Node, RBAC do manifestu statycznego poda, co pozwala na całkowitą zmianę konfiguracji.

RBAC

Usunięto wbudowane role klastrów system:csi-external-provisioner i system:csi-external-attacher.

Zdeprecjonowane…

Niektóre funkcje zostały ogłoszone jako przestarzałe, jednak nadal są wspierane. Szczególnie warto wspomnieć o przejściu na użycie ContainerStorageInterface. Administratorzy, którzy uruchomili własne (nie zarządzane) klastry w AWS i GCE, powinni zaplanować migrację na użycie CSI Driver do obsługi trwałych wolumenów – zamiast sterowników wbudowanych w Kubernetes. W tym pomóc ma procedura CSIMigration – czekamy na pojawienie się przewodnika krok po kroku. Administratorzy, którzy korzystają z innych dostawców do podłączania trwałych dysków, powinni szukać i czytać dokumentację: w wersji 1.21 obiecano ostateczne usunięcie wszystkich wbudowanych sterowników.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster