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
. Побочным эффектом стало требование наличия файла с начальной конфигурацией kubeletbootstrap-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