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 не підтримується, тому що змінився шлях 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 обіцяють остаточно видалити всі вбудовані драйвери.

Джерело: habr.com

Додати коментар або відгук