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