
ΠΠ½Π΅Ρ, 18 ΡΠ΅ΠΏΡΠ΅ΠΌΠ²ΡΠΈ, ΠΈΠ·Π»ΠΈΠ·Π° Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Kubernetes β 1.16. ΠΠ°ΠΊΡΠΎ Π²ΠΈΠ½Π°Π³ΠΈ, Π½ΠΈ ΠΎΡΠ°ΠΊΠ²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ. ΠΠΎ Π±ΠΈΡ
ΠΈΡΠΊΠ°Π» Π΄Π° Π½Π°ΡΠΎΡΠ° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΡΠΎ Π²ΠΈ ΠΊΡΠΌ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅ Action Required Π² ΡΠ°ΠΉΠ»Π° . Π ΡΠ΅Π·ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈ ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΎΠ²ΡΠ΅Π΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΈΠ»ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
ΠΠ±ΡΠΎ Π²Π·Π΅ΡΠΎ, ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΡΡΡΠ½Π° Π½Π°ΠΌΠ΅ΡΠ°β¦
ΠΠ° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Π½Π°ΠΏΡΠ°Π²ΠΎ Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ΅ Π·Π°ΡΠ΅Π³Π½Π°Ρ Π²ΡΠΈΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Ρ 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
