Kubernetes 1.17 — как да се обновите, без да изразходвате целия error budget

Kubernetes 1.17 — как да се обновите, без да изразходвате целия error budget

На 9 декември излезе поредната версия на Kubernetes — 1.17. Нейният слоган е „Стабилност“, множество функции получиха статус GA, а определено количество остарели функции бяха премахнати…

И, както винаги, нашата любима секция Action Required на файла CHANGELOG-1.17.md изисква внимание.

Да поработим на ръка…

Внимание, Storage!

Обновяването на kubelet в движение в версия 1.17 не се поддържа, тъй като пътят до блоковите обеми е променен. Преди обновяване на възела е необходимо да се преместят всички подове от него с помощта на командата kubectl drain.

Флагове и врати…

В changelog обикновено пишат, че е премахнат или добавен определен флаг или feature gate, но по някаква причина никога не посочват приложението, при което е настъпила тази промяна…

  • Премахнат е флагът --include-uninitialized block kubectl;
  • Функционалност, разрешавана от feature gates GCERegionalPersistentDisk, EnableAggregatedDiscoveryTimeout и PersistentLocalVolumes, сега винаги се използва и не може да бъде деактивиран. Тези опции са премахнати от възможните ключове api-server и controller-manager;
  • Мрежата от IP адреси за услуги вече не се задава по подразбиране. Необходимо е да я указвате с помощта на флага --service-cluster-ip-range при стартиране на API сървъра и controller-manager.

kubeadm

  • Kubeadm научи как да конфигурира автоматично обновление на сертификатите за kubelet на всички възли в клъстера, включително и на първия майстор, където беше изпълнена командата kubeadm init. Страничен ефект беше изискването за файл с начална конфигурация на kubelet bootstrap-kubelet.conf вместо kubelet.conf по време на изпълнението kubeadm init;
  • Когато добавяте режими на разрешаване в API сървър kubeadm вече не включва режимите Node, RBAC в манифеста на статичния под, позволявайки напълно да промените конфигурацията.

RBAC

Премахнати са вградените кластерни роли system:csi-external-provisioner и system:csi-external-attacher.

Устарели…

Определено количество функции бяха обявени за остарели, но все още се поддържат. Особено важно е да се подчертае преходът към използване на ContainerStorageInterface. Администраторите, които са разположили свои (не управлявани) клъстери в AWS и GCE, трябва да планират миграция към использовать CSI Driver за работа с постоянни томове — вместо вградените драйвери в Kubernetes. Тук ще им помогне процедурата CSIMigration — очакваме появата на ръководство стъпка по стъпка. Администраторите, които ползват други доставчици за свързване на постоянни дискове, е време да търсят и четат документацията: в версия 1.21 обещават окончателно да премахнат всички вградени драйвери.

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster