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

в 12:43, , рубрики: 1.17, devops, kubeadm, kubernetes, update, Блог компании Southbridge

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 обещают окончательно удалить все встроенные драйверы.

Автор: LuckySB

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js