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

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

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 обещают окончательно удалить все встроенные драйверы.
Источник: https://habr.com/ru/company/southbridge/blog/479534/


Интересные статьи

Интересные статьи

TL;DR, уважаемые хабровчане. Наступила осень, в который раз перевернулся лист календаря и третье сентября наконец-то снова минуло. А значит пора возвращаться к работе — и не только к ...
Разберём основы логирования в Docker и Kubernetes, а затем рассмотрим два инструмента, которые можно смело использовать на продакшене: Grafana Loki и стек EFK (Elasticsearch + Fluent ...
Последние ~полгода для работы с Cassandra в Kubernetes мы использовали Rook operator. Однако, когда нам потребовалось выполнить весьма тривиальную, казалось бы, операцию: поменять параметры в...
Приступая к животрепещущей теме резервного копирования на «Битрикс», прежде всего хотелось бы поблагодарить разработчиков, реализовавших автоматическое резервное копирование в облачное хранилище в вер...
Это история в двух частях — о новом витке развития automotive. Эта «серия» посвящена собственной разработке EPAM – Aos Connected Vehicle Platform. Алекс Агизим, CTO, Automotive & Embedded Sys...