Kubernetes 1.16 - ื•ื•ื™ ืฆื• ืึทืคึผื’ืจื™ื™ื“ ืึธืŸ ื‘ืจื™ื™ืงื™ื ื’ ืขืคึผืขืก

Kubernetes 1.16 - ื•ื•ื™ ืฆื• ืึทืคึผื’ืจื™ื™ื“ ืึธืŸ ื‘ืจื™ื™ืงื™ื ื’ ืขืคึผืขืก

ื”ื™ื™ึทื ื˜, 18 ืกืขืคื˜ืขืžื‘ืขืจ, ื“ื™ ื•ื•ื™ื™ึทื˜ืขืจ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹Kubernetes ืื™ื– ื‘ืืคืจื™ื™ื˜ - 1.16. ื•ื•ื™ ืฉื˜ืขื ื“ื™ืง, ืคื™ืœืข ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืื•ืŸ ื ื™ื™ึทืข ืคึผืจืึธื“ื•ืงื˜ืŸ ื“ืขืจื•ื•ืึทืจื˜ืŸ ืื•ื ื“ื–. ืึธื‘ืขืจ ืื™ืš ื•ื•ืึธืœื˜ ื•ื•ื™ ืฆื• ืฆื™ืขืŸ ื“ื™ื™ืŸ ื•ืคืžืขืจืงื–ืึทืžืงื™ื™ื˜ ืฆื• ื“ื™ ืึทืงืฉืึทื ื– ืคืืจืœืื ื’ื˜ ืกืขืงืฉืึทื ื– ืคื•ืŸ ื“ืขืจ ื˜ืขืงืข CHANGELOG-1.16.md. ื“ื™ ืกืขืงืฉืึทื ื– ืึทืจื•ื™ืกื’ืขื‘ืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ื•ื•ืึธืก ืงืขืŸ ื‘ืจืขื›ืŸ ื“ื™ื™ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ, ืงื ื•ื™ืœ ื•ื™ืฉืึทืœื˜ ืžื›ืฉื™ืจื™ื ืึธื“ืขืจ ื“ืึทืจืคืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืขืก.

ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ื–ื™ื™ ื“ืึทืจืคืŸ ืžืึทื ื•ืึทืœ ื™ื ื˜ืขืจื•ื•ืขื ื˜ื™ืึธืŸ ...

ืœืึธืžื™ืจ ื’ืœื™ื™ืš ืึธื ื”ื™ื™ื‘ืŸ ืžื™ื˜ ืึท ืขื ื“ืขืจื•ื ื’ ื•ื•ืึธืก ื•ื•ืขื˜ ืจื•ื‘ึฟ ืžืกืชึผืžื ื•ื•ื™ืจืงืŸ ืื•ื™ืฃ ืึทืœืขืžืขืŸ ื•ื•ืืก ืื™ื– ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืงื•ื‘ืขืจื ืขื˜ืขืก ืœืึทื ื’ ื’ืขื ื•ื’. ื“ื™ Kubernetes API ื ื™ื˜ ืžืขืจ ืฉื˜ื™ืฆื˜ ืœืขื’ืึทื˜ ืžื™ื˜ืœ ืึทืคึผื™ ื•ื•ืขืจืกื™ืขืก.

ืื•ื™ื‘ ืื™ื™ื ืขืจ ื”ืื˜ ื ื™ืฉื˜ ื’ืขื•ื•ืื•ืกื˜ ืื“ืขืจ ืคืืจื’ืขืกืŸ...ื“ื™ API ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ื™ ืžื™ื˜ืœ ืื™ื– ื’ืขื•ื•ื™ื–ืŸ ืื™ืŸ ื“ื™ ื‘ืึทืฉื™ื™ึทืžืคึผืขืจืœืขืš, ืื™ืŸ ื“ืขื ืคืขืœื“ apiVersion: apps/v1

ื ื™ื™ืžืœื™

ืžื™ื˜ืœ ื˜ื™ืคึผ
ืึทืœื˜ ื•ื•ืขืจืกื™ืข
ื•ื•ืึธืก ื–ืึธืœ ื–ื™ื™ืŸ ืจื™ืคึผืœื™ื™ืกื˜ ืžื™ื˜

ืึทืœืข ืจืขืกื•ืจืกืŸ
ืึทืคึผืคึผืก/v1beta1
ืึทืคึผืคึผืก/v1beta2
ืึทืคึผืคึผืก / v1

ื“ื™ืคึผืœื•ื™ืžืึทื ืฅ
daemonset
ืจืขืคึผืœื™ืงืขืกืขื˜
extension/v1beta1
ืึทืคึผืคึผืก / v1

ื ืขืฅ ืคึผืึธืœื™ื˜ื™ืง
ื™ืงืกื˜ืขื ืฉืึทื ื–/v1beta1
networking.k8s.io/v1

ืคึผืึธื“ืกืขืงื•ืจื™ื˜ื™ ืคึผืึธืœื™ื˜ื™ืง
ื™ืงืกื˜ืขื ืฉืึทื ื–/v1beta1
ืคึผืึธืœื™ื˜ื™ืง/v1beta1

ืื™ืš ื•ื•ืึธืœื˜ ืื•ื™ืš ื•ื•ื™ ืฆื• ืฆื™ืขืŸ ื“ื™ื™ืŸ ื•ืคืžืขืจืงื–ืึทืžืงื™ื™ึทื˜ ืฆื• ื“ื™ ืคืึทืงื˜ ืึทื– ืึทื‘ื“ื–ืฉืขืงืฅ ืคื•ืŸ ื˜ื™ืคึผ Ingress ืื•ื™ืš ื’ืขื‘ื™ื˜ืŸ apiVersion ืื•ื™ืฃ networking.k8s.io/v1beta1. ืึทืœื˜ ื˜ื™ื™ึทื˜ืฉ extensions/v1beta1 ืื™ื– ื ืึธืš ื’ืขืฉื˜ื™ืฆื˜, ืึธื‘ืขืจ ืขืก ืื™ื– ืึท ื’ื•ื˜ ืกื™ื‘ื” ืฆื• ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ื“ืขื ื•ื•ืขืจืกื™ืข ืื™ืŸ ื“ื™ ืžืึทื ื™ืคืขืกืฅ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜.

ืขืก ื–ืขื ืขืŸ ื’ืึทื ืฅ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ืคืึทืจืฉื™ื“ืŸ ืกื™ืกื˜ืขื ืœืึทื‘ืขืœืก (ื ืึธื“ืข ืœืึทื‘ืขืœืก) ื•ื•ืึธืก ื–ืขื ืขืŸ ืื™ื ืกื˜ืึทืœื™ืจืŸ ืื•ื™ืฃ ื ืึธื•ื“ื–.

ืงื•ื‘ืขืœืขื˜ ืื™ื– ื’ืขื•ื•ืขืŸ ืคึผืจืึธื•ื›ื™ื‘ืึทื˜ืึทื“ ืคื•ืŸ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืึทืจื‘ื™ื˜ืจืึทืจื™ืฉ ืœืึทื‘ืขืœืก (ืคืจื™ืขืจ ื–ื™ื™ ืงืขืŸ ื–ื™ื™ืŸ ื‘ืึทืฉื˜ื™ืžื˜ ื“ื•ืจืš ืงืึทื˜ืขืจ ืฉืœื™ืกืœืขืŸ 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 ื–ืขื ืขืŸ ื ื™ื˜ ืžืขืจ ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฆื• ื ื™ื™ึทืข ื ืึธื•ื“ื–, ืื•ืŸ ืคืึทืจืฉื™ื“ืŸ ื ืึธืš ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ื”ืึธื‘ืŸ ืกื˜ืึทืจื˜ืขื“ ื ื™ืฆืŸ ืึท ื‘ื™ืกืœ ืึทื ื“ืขืจืฉ ืœืึทื‘ืขืœืก ื•ื•ื™ ื ืึธื“ืข ืกืขืœืขืงื˜ืึธืจืก:

ืงืึธืžืคึผืึธื ืขื ื˜
ืึทืœื˜ ืคื™ืจืžืข
ืงืจืึทื ื˜ ืคื™ืจืžืข

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

ื™ืคึผ-ืžืึทืกืง-ืึทื’ืขื ื˜
beta.kubernetes.io/masq-agent-ds-ready
node.kubernetes.io/masq-agent-ds-ready

ืžืขื˜ืึทื“ืึทื˜ืึท-ืคึผืจืึธืงืกื™
beta.kubernetes.io/metadata-proxy-ready
cloud.google.com/metadata-proxy-ready

kubeadm ืื™ืฆื˜ ืจื™ืžื•ื•ื•ื– ื“ื™ ืขืจืฉื˜ ืงื•ื‘ืœืขื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข ื”ื™ื ื˜ืขืจ ืขืก bootstrap-kubelet.conf. ืื•ื™ื‘ ื“ื™ื™ืŸ ืžื›ืฉื™ืจื™ื ื–ืขื ืขืŸ ืึทืงืกืขืกื˜ ื“ืขื ื˜ืขืงืข, ื‘ืึทืฉื˜ื™ืžืขืŸ ืฆื• ื ื™ืฆืŸ kubelet.conf, ื•ื•ืึธืก ืกื˜ืึธืจื– ืงืจืึทื ื˜ ืึทืงืกืขืก ืกืขื˜ื˜ื™ื ื’ืก.

ืงืึทื“ื•ื•ื™ืกืึธืจ ื ื™ื˜ ืžืขืจ ื’ื™ื˜ ืžืขื˜ืจื™ืงืก pod_name ะธ container_nameืื•ื™ื‘ ืื™ืจ ื’ืขื•ื•ื™ื™ื ื˜ ื–ื™ื™ ืื™ืŸ ืคึผืจืึธืžืขื˜ื”ืขื•ืก, ื’ื™ื™ืŸ ืฆื• ืžืขื˜ืจื™ืงืก pod ะธ container ืจื™ืกืคึผืขืงื˜ื™ื•ื•ืœื™.

ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ื“ื™ ืฉืœื™ืกืœืขืŸ ืžื™ื˜ ื“ื™ ืฉื•ืจื” ื‘ืึทืคึฟืขืœ:

ืงืึธืžืคึผืึธื ืขื ื˜
ืจื™ื˜ืจืึทืงื˜ื™ื“ ืฉืœื™ืกืœ

ื”ื™ืคึผืขืจืงื•ื‘ืข
--ืžืึทื›ืŸ-ืกื™ืžืœื™ื ืง

kube-proxy
-- ืจื™ืกืึธืจืก - ืงืึทื ื˜ื™ื™ื ืขืจ

ื“ื™ ืกืงืขื“ื–ืฉื•ืœืขืจ ืื ื’ืขื”ื•ื™ื‘ืŸ ื ื™ืฆืŸ ื•ื•ืขืจืกื™ืข ื•ื•1ื‘ืขื˜ืึท1 ืคื•ืŸ ื“ื™ ืขื•ื•ืขื ื˜ ืึทืคึผื™. ืื•ื™ื‘ ืื™ืจ ื ื•ืฆืŸ ื“ืจื™ื˜-ืคึผืึทืจื˜ื™ื™ ืžื›ืฉื™ืจื™ื ืฆื• ื™ื ื˜ืขืจืึทืงื˜ ืžื™ื˜ ื“ื™ Event API, ื‘ืึทืฉื˜ื™ืžืขืŸ ืฆื• ื“ื™ ืœืขืฆื˜ืข ื•ื•ืขืจืกื™ืข.

ื ืžืึธืžืขื ื˜ ืคื•ืŸ ื”ื•ืžืึธืจ. ื‘ืขืฉืึทืก ื“ืขืจ ืฆื•ื’ืจื™ื™ื˜ื•ื ื’ ืคื•ืŸ ืžืขืœื“ื•ื ื’ 1.16, ื“ื™ ืคืืœื’ืขื ื“ืข ืขื ื“ืขืจื•ื ื’ืขืŸ ื–ืขื ืขืŸ ื’ืขืžืื›ื˜:

  • ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ื“ื™ ืึทื ืึธื˜ืึทืฆื™ืข scheduler.alpha.kubernetes.io/critical-pod ืื™ืŸ ื•ื•ืขืจืกื™ืข ื•ื•1.16.0-ืึทืœืคืึท.1
  • ื”ืึธื˜ ืื•ืžื’ืขืงืขืจื˜ ื“ื™ ืึทื ืึธื˜ืึทืฆื™ืข scheduler.alpha.kubernetes.io/critical-pod ืื™ืŸ ื•ื•ืขืจืกื™ืข ื•ื•1.16.0-ืึทืœืคืึท.2
  • ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ื“ื™ ืึทื ืึธื˜ืึทืฆื™ืข scheduler.alpha.kubernetes.io/critical-pod ืื™ืŸ ื•ื•ืขืจืกื™ืข ื•ื•1.16.0-ื‘ื™ืชื.1

ื ื™ืฆืŸ ื“ื™ ืคืขืœื“ spec.priorityClassName ืฆื• ืึธื ื•ื•ื™ื™ึทื–ืŸ ื“ื™ ื•ื•ื™ื›ื˜ื™ืงื™ื™ื˜ ืคื•ืŸ ื“ื™ ืคึผืึธื“.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’