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

Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½ΠΈΡ
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 ΠΈ 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 ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ.

ΠŸΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ΠΈ са ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅:

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚
ΠŸΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ ΠΊΠ»ΡŽΡ‡

Ρ…ΠΈΠΏΠ΅Ρ€ΠΊΡŽΠ±
β€”ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° символна Π²Ρ€ΡŠΠ·ΠΊΠ°

kube-proxy
β€”ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€-рСсурс

ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΡŠΡ‚ Π·Π°ΠΏΠΎΡ‡Π½Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° вСрсия 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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster