Pull to refresh
70.11
Слёрм
Учебный центр для тех, кто работает в IT

Kubernetes 1.17 — как обновиться и не потратить весь error budget

Reading time 2 min
Views 3.5K
image

9 декабря вышла очередная версия Kubernetes — 1.17. Ее девиз — «Стабильность», множество фич получили статус GA, некоторое количество устаревших фич было удалено…

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

Поработаем руками…

Внимание, Storage !


Обновление kubelet на лету в версии 1.17 не поддерживается, потому что изменился путь к block volumes. Перед обновлением узла необходимо эвакуировать с него все поды с помощью команды kubectl drain.

Флаги и ворота...


В changelog обычно пишут, что был удален или добавлен такой-то flag или feature gate, но почему-то никогда не пишут приложение, у которого произошло это изменение...:

  • Убран флаг --include-uninitialized у kubectl;
  • Функционал, который разрешали feature gates GCERegionalPersistentDisk, EnableAggregatedDiscoveryTimeout и PersistentLocalVolumes, теперь всегда используется и его нельзя отключить. Эти опции убраны из возможных ключей api-server и controller-manager;
  • Сеть ip адресов для сервисов теперь не назначается по умолчанию. Необходимо указывать ее с помощью флага --service-cluster-ip-range при запуске API server и 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.

Deprecated...


Некоторое количество фич было объявлено устаревшими, однако они все еще продолжают поддерживаться. Но особенно хотелось бы отметить процесс перехода на использование ContainerStorageInterface. Администраторы, развернувшие собственные (не managed) кластеры в AWS и GCE, должны запланировать переезд на использование CSI Driver для работы с постоянными томами — вместо драйверов, встроенных в Kubernetes. В этом им должна помочь процедура CSIMigration — ждем появления пошагового руководства. Администраторам, которые используют другие провайдеры для подключения постоянных дисков, пора искать и читать документацию: в версии 1.21 обещают окончательно удалить все встроенные драйверы.
Tags:
Hubs:
+14
Comments 3
Comments Comments 3

Articles

Information

Website
slurm.io
Registered
Founded
Employees
51–100 employees
Location
Россия
Representative
Антон Скобин