Kubernetes 1.16 β€” ΠΊΠ°ΠΊ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ

Kubernetes 1.16 — ΠΊΠ°ΠΊ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ

БСгодня, 18 сСнтября, Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ очСрСдная вСрсия Kubernetes β€” 1.16. Как всСгда нас ΠΆΠ΄Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ ΠΈ Π½ΠΎΠ²ΠΈΠ½ΠΎΠΊ. Но я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ вашС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Π΄Π΅Π»Ρ‹ Action Required Ρ„Π°ΠΉΠ»Π° CHANGELOG-1.16.md. Π’ этих Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽΡ‚ΡΡ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ вашСго прилоТСния, инструмСнтов ΠΏΠΎ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π½ΠΈΡŽ кластСра ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°β€¦

НачнСм сразу с измСнСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅, скорСС всСго, Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅Ρ‚ всСх, ΠΊΡ‚ΠΎ достаточно Π΄ΠΎΠ»Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с kubernetes. Kubernetes API пСрСстал ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ вСрсии API рСсурсов.

Если ΠΊΡ‚ΠΎ Π½Π΅ Π·Π½Π°Π», ΠΈΠ»ΠΈ Π·Π°Π±Ρ‹Π»…ВСрсия API рСсурса указываСтся Π² манифСстС, Π² ΠΏΠΎΠ»Π΅ apiVersion: apps/v1

А имСнно:

Π’ΠΈΠΏ рСсурса
Бтарая вСрсия
На Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ

ВсС рСсурсы
apps/v1beta1
apps/v1beta2
apps/v1

deployments
daemonset
replicaset
extension/v1beta1
apps/v1

networkpolicies
extensions/v1beta1
networking.k8s.io/v1

podsecuritypolicies
extensions/v1beta1
policy/v1beta1

Π’Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ‡Ρƒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° Ingress Ρ‚Π°ΠΊΠΆΠ΅ смСнился apiVersion Π½Π° networking.k8s.io/v1beta1. Π‘Ρ‚Π°Ρ€ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ extensions/v1beta1 Π΅Ρ‰Π΅ поддСрТиваСтся, Π½ΠΎ Π΅ΡΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΠΎΠ²ΠΎΠ΄ Π·Π°ΠΎΠ΄Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ эту Π²Π΅Ρ€ΡΠΈΡŽ Π² манифСстах.

Достаточно ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСмных ΠΌΠ΅Ρ‚ΠΊΠ°Ρ… (Node labels), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° ΡƒΠ·Π»Ρ‹.

Kubelet Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΠ»ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ (Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ»ΡŽΡ‡ΠΈ запуска kubelet --node-labels), оставили Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎΡ‚ этот список Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ…:

kubernetes.io/hostname
kubernetes.io/instance-type
kubernetes.io/os
kubernetes.io/arch

beta.kubernetes.io/instance-type
beta.kubernetes.io/os
beta.kubernetes.io/arch

failure-domain.beta.kubernetes.io/zone
failure-domain.beta.kubernetes.io/region

failure-domain.kubernetes.io/zone
failure-domain.kubernetes.io/region

[*.]kubelet.kubernetes.io/*
[*.]node.kubernetes.io/*

ΠœΠ΅Ρ‚ΠΊΠΈ beta.kubernetes.io/metadata-proxy-ready, beta.kubernetes.io/metadata-proxy-ready and beta.kubernetes.io/kube-proxy-ds-ready большС Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° Π½ΠΎΠ²Ρ‹Π΅ ΡƒΠ·Π»Ρ‹, ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ стали ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΊΠΈ Π² качСствС node selector:

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚
Бтарая ΠΌΠ΅Ρ‚ΠΊΠ°
ΠΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ ΠΌΠ΅Ρ‚ΠΊΠ°

kube-proxy
beta.kubernetes.io/kube-proxy-ds-ready
node.kubernetes.io/kube-proxy-ds-ready

ip-mask-agent
beta.kubernetes.io/masq-agent-ds-ready
node.kubernetes.io/masq-agent-ds-ready

metadata-proxy
beta.kubernetes.io/metadata-proxy-ready
cloud.google.com/metadata-proxy-ready

kubeadm Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ удаляСт Π·Π° собой Ρ„Π°ΠΉΠ» Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΊΡƒΠ±Π»Π΅Ρ‚Π° bootstrap-kubelet.conf. Если ваши инструмСнты ΠΎΠ±Ρ€Π°Ρ‰Π°Π»ΠΈΡΡŒ ΠΊ этому Ρ„Π°ΠΉΠ»Ρƒ, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° использованиС kubelet.conf, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ настройки доступа.

Cadvisor большС Π½Π΅ ΠΎΡ‚Π΄Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ pod_name ΠΈ container_name, Ссли Π²Ρ‹ использовали ΠΈΡ… Π² Prometheus, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ pod ΠΈ container соотвСтствСнно.

Π£Π±Ρ€Π°Π»ΠΈ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ строки:

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚
Π£Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡

hyperkube
—make-symlink

kube-proxy
—resource-container

Π¨Π΅Π΄ΡƒΠ»Π΅Ρ€ стал ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ v1beta1 Event API. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ сторонниС инструмСнты для взаимодСйствия с Event API, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ.

ΠœΠΈΠ½ΡƒΡ‚ΠΊΠ° ΡŽΠΌΠΎΡ€Π°. Π’ процСссС ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Ρ€Π΅Π»ΠΈΠ·Π° 1.16 Π±Ρ‹Π»ΠΈ сдСланы ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния:

  • ΡƒΠ±Ρ€Π°Π»ΠΈ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ scheduler.alpha.kubernetes.io/critical-pod Π² вСрсии v1.16.0-alpha.1
  • Π²Π΅Ρ€Π½ΡƒΠ»ΠΈ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ scheduler.alpha.kubernetes.io/critical-pod Π² вСрсии v1.16.0-alpha.2
  • ΡƒΠ±Ρ€Π°Π»ΠΈ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ scheduler.alpha.kubernetes.io/critical-pod Π² вСрсии v1.16.0-beta.1

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ»Π΅ spec.priorityClassName для указания ваТности ΠΏΠΎΠ΄Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com