αž›αŸ’αž”αž·αž… αž“αž·αž„αž‚αž“αŸ’αž›αžΉαŸ‡ Kubernetes αž€αŸ†αž–αžΌαž›αž‘αžΆαŸ†αž„ 10

αž›αŸ’αž”αž·αž… αž“αž·αž„αž‚αž“αŸ’αž›αžΉαŸ‡ Kubernetes αž€αŸ†αž–αžΌαž›αž‘αžΆαŸ†αž„ 10

αž˜αžΆαž“αž’αž€αŸ’αžŸαžšαžŸαž·αž›αŸ’αž”αŸαž™αŸ„αž„αž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸ…αž›αžΎαž’αŸŠαžΈαž“αž’αžΊαžŽαž·αž αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž–αŸαž›αžαŸ’αž›αŸ‡αžŠαŸ†αž”αžΌαž“αŸ’αž˜αžΆαž“αžŠαŸαžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ†αž•αž»αžαž‚αžΊαž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαž”αŸ†αž•αž»αžαŸ” αž€αŸ’αžšαž»αž˜ Kubernetes aaS αž–αžΈ Mail.ru αž”αž€αž”αŸ’αžšαŸ‚ αž‡αž˜αŸ’αžšαžΎαžŸαž“αŸƒαž›αŸ’αž”αž·αž…αž“αž·αž„αž‚αž“αŸ’αž›αžΉαŸ‡αžŠαž”αŸ‹αžŠαŸ‚αž›αž’αŸ’αž“αž€αž“αž·αž–αž“αŸ’αž’αž’αžαŸ’αžαž”αž‘αž”αŸ’αžšαž˜αžΌαž›αž”αžΆαž“αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ Kubernetes αž˜αž½αž™αž†αŸ’αž“αžΆαŸ†αŸ” αž‚αž“αŸ’αž›αžΉαŸ‡β€‹αž˜αž·αž“β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αžαž˜αŸ’αžšαŸ€αž”β€‹αžαžΆαž˜β€‹αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹β€‹αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž™αžΎαž„β€‹αž‚αž·αžβ€‹αžαžΆβ€‹αž’αŸ’αž“αž€β€‹αžšαžΆαž›αŸ‹β€‹αž‚αŸ’αž“αžΆβ€‹αž“αžΉαž„β€‹αžšαž€β€‹αžƒαžΎαž‰β€‹αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αž”αŸ’αžšαž™αŸ„αž‡αž“αŸβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αžαŸ’αž›αž½αž“β€‹αž‚αŸαŸ”

αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ†αž•αž»αžαžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ Kubernetes

αžŠαžΎαž˜αŸ’αž”αžΈαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ†αž•αž»αž αž“αž·αž„αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ Kubernetes αŸ” αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž”αžΎαž€αž€αžΆαžšαž”αŸ†αž–αŸαž‰αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ kubectl αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ‚αž› bash:

echo "source <(kubectl completion bash)" >> ~/.bashrc

αž”αŸ†αž–αŸαž‰αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· kubectl αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž‘αŸ…αž―αž€αžŸαžΆαžš .bashrc αž αžΎαž™αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαž€αž˜αŸ’αž˜αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αžšαžΆαž›αŸ‹αž–αŸαž›αžŠαŸ‚αž›αžŸαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αžœαžΆαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αžœαžΆαž™αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžœαŸ‚αž„αŸ— αž“αž·αž„αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžŠαžΌαž…αž‡αžΆ all-namespaces. αž–αŸαžαŸŒαž˜αžΆαž“αž›αž˜αŸ’αž’αž·αžαž”αž“αŸ’αžαŸ‚αž˜αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αž‡αŸ†αž“αž½αž™ bash.

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αž“αž·αž„αžŸαŸŠαžΈαž—αžΈαž™αžΌαž€αŸ’αž“αž»αž„αž…αž“αŸ’αž›αŸ„αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡

αž§αž‘αžΆαž αžšαžŽαŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ αžœαžΆαž”αžΎαž€αž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αžαŸ’αž˜αžΈαž‘αŸ…αž€αžΆαž“αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαŸ€αž„αžšαžΆαž›αŸ‹αžœαž·αž“αžΆαž‘αžΈ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αžŠαŸ‚αž›αž”αž·αž‘αžœαžΆαž‘αŸ αž“αŸ„αŸ‡αž…αž„αŸ’αž€αŸ„αž˜αž˜αžΆαž“αž€αžΆαžšαž›αŸαž…αž’αŸ’αž›αžΆαž™αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αŸ” αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž˜αž·αž“αž˜αžΆαž“αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž€αŸ†αž‘αž»αž„αž–αŸαž›αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž‘αŸ αž“αŸαŸ‡αž’αžΆαž…αž“αžΆαŸ†αž±αŸ’αž™αžαŸ’αž“αžΆαŸ†αž„αž”αžšαžΆαž‡αŸαž™αŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž”αŸ‹αžŸαŸ’αž€αžΆαžαŸ‹αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡ Kubernetes αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž“αŸ…αž›αžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡αž“αžΈαž˜αž½αž™αŸ—αŸ” αž–αž½αž€αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš yaml αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ namespace αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž―αž€αžŸαžΆαžšαž”αŸ‚αž”αž“αŸαŸ‡αŸ–

apiVersion: v1
kind: LimitRange
metadata:
  name: mem-limit-range
spec:
  limits:
  - default:
      memory: 512Mi
    defaultRequest:
      memory: 256Mi
    type: Container

αž”αž„αŸ’αž€αžΎαž yaml αž”αŸ‚αž”αž“αŸαŸ‡ αž αžΎαž™αž’αž“αž»αžœαžαŸ’αžαž‘αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžŠαžΆαž€αŸ‹αžˆαŸ’αž˜αŸ„αŸ‡αžŽαžΆαž˜αž½αž™αŸ” αž§αž‘αžΆαž αžšαžŽαŸαž‘αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžˆαŸ’αž˜αŸ„αŸ‡ limit-example. αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž€αž»αž„αžαžΊαž“αŸαžšαžŽαžΆαžŠαŸ‚αž›αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž€αŸ’αž“αž»αž„ namespace αž“αŸαŸ‡αž“αžΉαž„αž˜αžΆαž“αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹ 512Mi αž›αžΎαž€αž›αŸ‚αž„αžαŸ‚αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž”αž»αž‚αŸ’αž‚αž›αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž»αž„αžαžΊαž“αŸαžšαž“αŸαŸ‡αŸ”

αž€αžΆαžšαž”αŸ’αžšαž˜αžΌαž›αžŸαŸ†αžšαžΆαž˜αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαŸ‚αž…αžΆαžŸαŸ‹αžšαž”αžŸαŸ‹ Kubernetes

Kubelet αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ’αžšαž˜αžΌαž›αžŸαŸ†αžšαžΆαž˜αž“αŸ…αž–αŸαž›αžŽαžΆ var/lib/docker αž€αžΆαž“αŸ‹αž€αžΆαž”αŸ‹ 90% αž“αŸƒαž‘αŸ†αž αŸ†αžαžΆαžŸαžŠαŸ‚αž›αž˜αžΆαž“αŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž“αŸαŸ‡αž‚αžΊαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αžŽαžΆαžŸαŸ‹ αžšαž αžΌαžαžŠαž›αŸ‹ Kubernetes 1.7 αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž›αžΎαž…αŸ†αž“αž½αž“ inodes αžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαžΎ αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž“αžΉαž„αž…αŸ†αž“αž½αž“αž―αž€αžŸαžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžšαŸ”

αžŸαž€αŸ’αžαžΆαž“αž»αž–αž›αž“αŸƒαž’αž»αž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” var/lib/docker αž’αžΆαž…αž”αŸ’αžšαžΎαžαŸ’αžšαžΉαž˜αžαŸ‚ 50% αž“αŸƒαž‘αŸ†αž αŸ†αžαžΆαžŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αžΆαž…αž’αžŸαŸ‹αž’αŸŠαžΈαžŽαžΌαžŠ αžŠαŸ‚αž›αž“αžΉαž„αž”αž„αŸ’αž€αž”αž‰αŸ’αž αžΆαžŠαž›αŸ‹αž€αž˜αŸ’αž˜αž€αžšαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαŸ‚αž…αžΆαžŸαŸ‹αžšαž”αžŸαŸ‹ kubelet αž–αžΈ 1.4 αž‘αŸ… 1.6 αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αž“αŸ’αžαŸ‚αž˜αž‘αž„αŸ‹αž“αŸαŸ‡αŸ–

--eviction-hard
=memory.available<100Mi,nodefs.available<10%,nodefs.inodesFree<5%

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαŸ‚ 1.7 αž“αž·αž„αž€αŸ’αžšαŸ„αž™αž“αŸαŸ‡ αž‘αž„αŸ‹αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž€αŸ†αžŽαŸ‚αž˜αž»αž“αŸ—αž˜αž·αž“αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹ inode αž‘αŸαŸ”

Minikube... αžαžΌαž… αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αžΆαž“αžαžΆαž˜αž–αž› Kubernetes αž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€

Minikube αž‚αžΊαž‡αžΆαž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž”αŸ†αž•αž»αžαžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž…αž„αŸ’αž€αŸ„αž˜ Kubernetes αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹αŸ” αžœαžΆβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž…αžΆαž”αŸ‹β€‹αž•αŸ’αžαžΎβ€‹αž˜β€‹αž‡αžΆαž˜αž½αž™β€‹αž“αžΉαž„β€‹αž–αžΆαž€αŸ’αž™β€‹αž”αž‰αŸ’αž‡αžΆβ€‹αžŸαžΆαž˜αž‰αŸ’αž‰β€‹αž˜αž½αž™β€‹:

minikube start

αž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž“αŸαŸ‡αž”αžŽαŸ’αžαžΆαž›αž±αŸ’αž™αž˜αžΆαž“αž…αž„αŸ’αž€αŸ„αž˜ Kubernetes αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αž›αŸ’αž”αž·αž… αž“αž·αž„αž‚αž“αŸ’αž›αžΉαŸ‡ Kubernetes αž€αŸ†αž–αžΌαž›αž‘αžΆαŸ†αž„ 10
αž”αŸ’αžšαž—αž–αžšαžΌαž”αž—αžΆαž–

αž›αŸ’αž”αž·αž…αž‚αžΊαžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž αžΎαž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžœαžΆαž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž“αŸ…αž›αžΎαž…αž„αŸ’αž€αŸ„αž˜αž“αŸ„αŸ‡αŸ” αž›αž»αŸ‡αžαŸ’αžšαžΆαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž‡αžΆαž–αž·αžŸαŸαžŸαž“αŸ„αŸ‡ αžšαžΌαž”αž—αžΆαž– Docker αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž›αžΎαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž αžΎαž™αž˜αž·αž“αž˜αŸ‚αž“αž“αŸ…αž›αžΎαž…αž„αŸ’αž€αŸ„αž˜αž“αŸ„αŸ‡αž‘αŸαŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αžαŸ† Docker αž±αŸ’αž™αžšαž»αž‰αžšαžΌαž”αž—αžΆαž–αž‘αŸ…αž…αž„αŸ’αž€αŸ„αž˜ Kubernetes αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ docker αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

eval $(minikube docker-env)

αž₯αž‘αžΌαžœαž“αŸαŸ‡αž™αžΎαž„αž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž›αžΎαž…αž„αŸ’αž€αŸ„αž˜ Kubernetes αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹αŸ”

αž€αž»αŸ†αž•αŸ’αžαž›αŸ‹αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎ kubectl αžŠαž›αŸ‹αž˜αž“αž»αžŸαŸ’αžŸαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆ

αžœαžΆαž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αŸ’αžšαž»αž˜αž‡αžΆαž…αŸ’αžšαžΎαž“αž€αŸ†αž–αž»αž„αž”αŸ’αžšαžΎαž…αž„αŸ’αž€αŸ„αž˜αžŠαžΌαž…αž‚αŸ’αž“αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ (αžŠαŸ‚αž›αž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž› Kubernetes αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹) αž’αŸ’αž“αž€αž˜αž·αž“αž‚αž½αžšαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆαž“αŸ„αŸ‡αž‘αŸαŸ” kubectl. αžœαžΆαž‡αžΆαž€αžΆαžšαž”αŸ’αžšαžŸαžΎαžšαž‡αžΆαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ αžŠαŸ„αž™αž€αŸ†αžŽαžαŸ‹αž±αŸ’αž™αž–αž½αž€αžœαžΆαž“αžΈαž˜αž½αž™αŸ—αž˜αžΆαž“αž›αŸ†αž αžˆαŸ’αž˜αŸ„αŸ‡αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“ αž“αž·αž„αž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ„αž™αž”αŸ’αžšαžΎαž‚αŸ„αž›αž€αžΆαžšαžŽαŸ RBAC αŸ”

αž’αŸ’αž“αž€αž’αžΆαž…αž™αž›αŸ‹αž…αŸ’αžšαž›αŸ†αžŠαŸ„αž™αž€αŸ†αžŽαžαŸ‹αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎ αž’αžΆαž“ αž”αž„αŸ’αž€αžΎαž αž›αž»αž” αž“αž·αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αžαž“αžΈαž˜αž½αž™αŸ—αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžšαžΏαž„αžŸαŸ†αžαžΆαž“αŸ‹αž‚αžΊαž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž’αžΆαžαŸŒαž€αŸ†αž”αžΆαŸ†αž„αžŠαŸ„αž™αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžœαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αžœαž·αž’αžΈαž“αŸαŸ‡ αž™αžΎαž„αž“αžΉαž„αž”αŸ‚αž„αž…αŸ‚αž€αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαžšαžœαžΆαž„αž’αŸ’αž“αž€αžŠαŸ‚αž›αž’αžΆαž…αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž…αž„αŸ’αž€αŸ„αž˜ αž“αž·αž„αž’αŸ’αž“αž€αžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžΎαžœαžΆαžŠαŸ„αž™αžŸαžΆαž˜αž‰αŸ’αž‰αŸ”

αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžαžœαž·αž€αžΆ Pod

αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαž’αžΆαž“αžΆαžαžΆαž˜αž·αž“αž˜αžΆαž“αž–αŸαž›αžœαŸαž›αžΆαžšαž„αž…αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜ Kubernetes? PodDisruptionBudget αž αžΎαž™αž˜αŸ’αžαž„αž‘αŸ€αž PodDisruptionBudget αŸ”

αž…αž„αŸ’αž€αŸ„αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž‡αžΆαž‘αŸ€αž„αž‘αžΆαžαŸ‹ αž αžΎαž™αžαŸ’αž“αžΆαŸ†αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αž‘αŸαŸ” αž‚αŸ’αž˜αžΆαž“αž’αŸ’αžœαžΈαž“αŸ…αžŸαŸ’αž„αŸ€αž˜αž‘αŸ αž“αŸ„αŸ‡αž‡αžΆαž€αžΆαžšαž–αž·αžαŸ” αžšαžΆαž›αŸ‹αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αžŠαŸ‚αž›αž˜αžΆαž“αž§αž‘αžΆαž αžšαžŽαŸαž…αŸ’αžšαžΎαž“αž‡αžΆαž„αž˜αž½αž™αž‚αž½αžšαžαŸ‚αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž› PDB (PodDisruptionBudget) αŸ” αžœαžΆβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αž„αŸ’αž€αžΎαžβ€‹αž€αŸ’αž“αž»αž„β€‹αž―αž€αžŸαžΆαžš yaml αžŸαžΆαž˜αž‰αŸ’αž‰β€‹αžŠαŸ‚αž›β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž’αž“αž»αžœαžαŸ’αžβ€‹αž‘αŸ…β€‹αž“αžΉαž„β€‹αž…αž„αŸ’αž€αŸ„αž˜αŸ” αžαŸ†αž”αž“αŸ‹αž‚αŸ’αžšαž”αžŠαžŽαŸ’αžαž”αŸ‹αž“αŸƒ PDB αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžŠαŸ„αž™αž’αŸ’αž“αž€αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžŸαŸ’αž›αžΆαž€αŸ”

αž…αŸ†αžŽαžΆαŸ†: αžαžœαž·αž€αžΆ PDB αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž™αž€αž˜αž€αž–αž·αž…αžΆαžšαžŽαžΆαžαŸ‚αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αžΆαžšαž”αŸ†αž–αžΆαž“αžαžœαž·αž€αžΆαž’αžΆαž…αžαŸ’αžšαž‘αž”αŸ‹αžœαž·αž‰αž”αžΆαž“ (αž€αžΆαžšαžšαŸ†αžαžΆαž“αžŠαŸ„αž™αžŸαŸ’αž˜αŸαž‚αŸ’αžšαž…αž·αžαŸ’αž) αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž”αžšαžΆαž‡αŸαž™αž•αŸ’αž“αŸ‚αž€αžšαžΉαž„ PDB αž“αžΉαž„αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸαŸ”

αž§αž‘αžΆαž αžšαžŽαŸ PDBαŸ–

apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  name: app-a-pdb
spec:
  minAvailable: 2
  selector:
      matchLabels:
        app: app-a

αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžŸαŸ†αžαžΆαž“αŸ‹αž–αžΈαžšαž‚αžΊ matchLabels ΠΈ minAvailable. αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž‘αžΈαž˜αž½αž™αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžαžΆαžαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŽαžΆαžŠαŸ‚αž›αžαžœαž·αž€αžΆαžαŸ’αžšαžΌαžœαž’αž“αž»αžœαžαŸ’αžαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžαŸ’αž‰αž»αŸ†αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž‡αžΆαž˜αž½αž™αžŸαŸ’αž›αžΆαž€ app: app-a ΠΈ app: app-bαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ PDB αž“αŸαŸ‡αž“αžΉαž„αž’αž“αž»αžœαžαŸ’αžαž…αŸ†αž–αŸ„αŸ‡αžαŸ‚αž‘αžΈαž˜αž½αž™αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”

αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš minAvailable αž™αž€αž‘αŸ…αž€αŸ’αž“αž»αž„αž‚αžŽαž“αžΈαž“αŸ…αž–αŸαž›αžŸαž˜αŸ’αž’αžΆαž (αžŸαž˜αŸ’αž’αžΆαž) αžαŸ’αž“αžΆαŸ†αž„αŸ” αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αž€αŸ’αž“αž»αž„αž§αž‘αžΆαž αžšαžŽαŸαžšαž”αžŸαŸ‹αž™αžΎαž„ αž€αŸ†αž‘αž»αž„αž–αŸαž›αž”αž‰αŸ’αž…αŸαž‰αž…αŸ„αž› αž€αžšαžŽαžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ app: app-aαž›αžΎαž€αž›αŸ‚αž„αžαŸ‚αž–αžΈαžšαŸ”

αž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžαžΆαžαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αžŠαŸ‚αž›αž‚αž½αžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž–αŸαž›αžŽαžΆαž˜αž½αž™αž“αŸ„αŸ‡αŸ”

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαžΆαž˜αžŠαžΆαž“αžŸαž»αžαž—αžΆαž–

αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž”αŸ‚αž”αž“αŸαŸ‡αž‚αžΊαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αžαžΆαž˜αžœαž·αž’αžΈαž–αžΈαžšαž™αŸ‰αžΆαž„αŸ– αžŠαŸ„αž™αž”αŸ’αžšαžΎαžαŸαžŸαŸ’αž Readiness ឬ Liveness αŸ”

αž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαžŠαŸ†αž”αžΌαž„ (αž€αžΆαžšαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“) αž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž€αž»αž„αžαžΊαž“αŸαžšαž€αŸ’αž“αž»αž„αž€αžΆαžšαž‘αž‘αž½αž›αž…αžšαžΆαž…αžšαžŽαŸαŸ”

αž‘αžΈαž–αžΈαžš (αž—αžΆαž–αžšαžŸαŸ‹αžšαžœαžΎαž€) αž”αž„αŸ’αž αžΆαž‰αžαžΆαžαžΎαž€αž»αž„αžαžΊαž“αŸαžšαž˜αžΆαž“αžŸαž»αžαž—αžΆαž–αž›αŸ’αž’ αž¬αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΎαž„αžœαž·αž‰αŸ”

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž™αŸ‰αžΆαž„αžŸαžΆαž˜αž‰αŸ’αž‰αž‘αŸ… yaml αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αŸ” αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž€αžΆαžšαž’αžŸαŸ‹αž–αŸαž› αž–αŸαž›αžœαŸαž›αžΆαž–αž“αŸ’αž™αžΆαžšαž–αŸαž› αž“αž·αž„αž…αŸ†αž“αž½αž“αž“αŸƒαž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„αž‘αžΎαž„αžœαž·αž‰αŸ” αž˜αžΎαž›αž–αŸαžαŸŒαž˜αžΆαž“αž›αž˜αŸ’αž’αž·αžαž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈαž–αž½αž€αž‚αŸαŸ” αž―αž€αžŸαžΆαžš Kubernetes.

αžŸαŸ’αž›αžΆαž€αž‚αžΊαž“αŸ…αž‚αŸ’αžšαž”αŸ‹αž‘αžΈαž€αž“αŸ’αž›αŸ‚αž„

αžŸαŸ’αž›αžΆαž€αž‚αžΊαž‡αžΆαž‚αŸ„αž›αž‚αŸ†αž“αž·αžαž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž˜αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αŸ” αž–αž½αž€αžœαžΆαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžœαžαŸ’αžαž»αž‘αžΆαž€αŸ‹αž‘αž„αž‚αŸ’αž“αžΆαžŠαŸ„αž™αžŸαŸαžšαžΈ αž€αŸαžŠαžΌαž…αž‡αžΆαž”αž„αŸ’αž€αžΎαžαžŸαŸ†αžŽαž½αžšαžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžŸαŸ’αž›αžΆαž€αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αž’αŸ’αž“αž€αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž’αžΆαž…αž‘αŸ…αž€αžΆαž“αŸ‹αž’αžαž·αžαž·αž‡αž“ αž“αž·αž„αž˜αžΎαž›αž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αž›αžΆαž€αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αŸ”

αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαŸ—αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‡αžΆαž˜αž½αž™αžŸαŸ’αž›αžΆαž€ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž§αž‘αžΆαž αžšαžŽαŸαžŠαŸαž›αŸ’αž’αž˜αž½αž™αž‚αžΊαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž”αžšαž·αžŸαŸ’αžαžΆαž“αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž›αžΎαž…αž„αŸ’αž€αŸ„αž˜αžαŸ‚αž˜αž½αž™αŸ”

αž§αž”αž˜αžΆαžαžΆαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž…αž„αŸ’αž€αŸ„αž˜αžŠαžΌαž…αž‚αŸ’αž“αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ dev ΠΈ qa. αž“αŸαŸ‡αž˜αžΆαž“αž“αŸαž™αžαžΆαž’αŸ’αž“αž€αž’αžΆαž…αž˜αžΆαž“αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ app-a, αž€αŸ’αž“αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆαž’αŸ’αžœαžΎαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αžŸαŸ’αžαžΆαž“αž‘αžΆαŸ†αž„αž–αžΈαžš qa ΠΈ dev. αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡ αž™αžΎαž„αž’αžΆαž…αž…αžΌαž›αž”αŸ’αžšαžΎαž§αž‘αžΆαž αžšαžŽαŸαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ„αž™αž‘αŸ‚αž€αž–αžΈαž‚αŸ’αž“αžΆαž€αŸ’αž“αž»αž„αž”αžšαž·αž™αžΆαž€αžΆαžŸαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αžŠαŸ„αž™αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžŸαž˜αžŸαŸ’αžšαž” environmentαŸ” αž§αž‘αžΆαž αžšαžŽαŸαŸ” app: app-a ΠΈ environment: dev αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αžšαž·αžŸαŸ’αžαžΆαž“αžαŸ‚αž˜αž½αž™ αž“αž·αž„ app: app-a ΠΈ environment: qa αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αžΈαž–αžΈαžšαŸ”

αž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž…αžΌαž›αž”αŸ’αžšαžΎαž§αž‘αžΆαž αžšαžŽαŸαž‘αžΆαŸ†αž„αž–αžΈαžšαž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„αž€αŸ’αž“αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆαŸ”

αžšαŸ€αž”αž…αŸ†

Kubernetes αž‚αžΊαž‡αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž˜αžΆαž“αžαžΆαž˜αž–αž›αžαŸ’αž›αžΆαŸ†αž„ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŽαžΆαž˜αž½αž™αž’αžΆαž…αž€αŸ’αž›αžΆαž™αž‡αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž‡αžΆαž”αŸ‹αž‚αžΆαŸ†αž„αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž…αŸ’αžšαžΎαž“αž–αŸαž€αŸ” Kubelet αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αž“αž·αž„αž–αž·αž“αž·αžαŸ’αž™αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αž‰αŸ’αž‡αžΆαž€αŸ‹ αž€αŸαžŠαžΌαž…αž‡αžΆαžšαž”αžŸαŸ‹αžœαžΆαž•αŸ’αž‘αžΆαž›αŸ‹αŸ”

αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αžŸαŸαžœαžΆαž€αž»αž˜αžΆαžšαž€αŸ†αž–αŸ’αžšαžΆαž˜αž½αž™αž“αžΉαž„αž˜αž·αž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αžΊαžαž‘αŸ αž αžΎαž™ Kubernetes αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αž–αžΈαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž˜αž½αž™αž›αžΆαž“αž›αŸαž…αž‘αžΎαž„ kubelet αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‰αžΆαž€αŸ‹αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž αŸαžαž»αž•αž›αž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαŸ‚αž›αž’αŸ’αž“αž€αž›αž»αž”αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ (αž€αž»αž„αžαžΊαž“αŸαžš αžšαžΌαž”αž—αžΆαž– αž’αŸ’αžœαžΈαž€αŸαžŠαŸ„αž™) αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆαž’αŸ’αžœαžΎαž€αžΆαžšαžŸαž˜αŸ’αž’αžΆαžαž–αŸαž‰αž›αŸαž‰αŸ”

αž‡αž½αž” Go

αž™αžΎαž„αž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžŠαŸ†αž”αžΌαž“αŸ’αž˜αžΆαž“αžŸαŸ†αžαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž»αž„αž€αŸ’αžšαŸ„αž™αŸ” αžšαŸ€αž“αž—αžΆαžŸαžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Go αŸ”

Kubernetes αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„ Go αžŠαŸ‚αž›αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Go αž αžΎαž™αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœαž‘αŸ…αž’αžαž·αžαž·αž‡αž“αž€αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαž‡αžΆαž•αŸ’αž›αžΌαžœαž€αžΆαžšαž•αž„αžŠαŸ‚αžšαŸ”

αžœαžΆβ€‹αž’αžΆαž…β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžΎβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž’αŸ’αžœαžΈβ€‹αž•αŸ’αžŸαŸαž„β€‹αž‚αŸ’αž“αžΆβ€‹αž“αž·αž„β€‹αž‚αž½αžšβ€‹αž±αŸ’αž™β€‹αž…αžΆαž”αŸ‹β€‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸβ€‹αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αžŠαžΎαž˜αŸ’αž”αžΈαž–αž„αŸ’αžšαžΈαž€αž”αŸ’αžšαž–αŸαž“αŸ’αž’ Kubernetes αž‘αŸ…αžαžΆαž˜αžšαžŸαž‡αžΆαžαž·αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαž˜αžΌαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™ αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž¬αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αžŸαž˜αŸ’αž’αžΆαžαž’αž»αž„αŸ”

αž€αžΆαžšαžšαŸ€αž“αž—αžΆαžŸαžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Go αž“αž·αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž‡αžΆαž˜αŸ’αž…αžΆαžŸαŸ‹αž›αžΎαž’αžαž·αžαž·αž‡αž“αž‘αŸ…αž‚αžΊαž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαžŠαŸ†αž”αžΌαž“αŸ’αž˜αžΆαž“αžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αž”αŸ†αž•αž»αžαžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Kubernetes αžαŸ’αž˜αžΈαŸ”

αž”αž€αž”αŸ’αžšαŸ‚αžŠαŸ„αž™αž˜αžΆαž“αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž–αžΈ Mail.ru Cloud Solutions

αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž‘αŸ€αžαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž’αžΆαž“:

  1. αž€αž˜αŸ’αžšαž·αžαž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž…αŸ†αž“αž½αž“αž”αžΈαž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αž“αž·αž„αžšαž”αŸ€αž”αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž–αž½αž€αžœαžΆαž”αŸ’αžšαž€αž”αžŠαŸ„αž™αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–.
  2. αžαŸ’αž“αžΆαŸ†αž„αž€αž˜αŸ’αž˜αž€αžš KubernetesαŸ– αžαžΌαž…αž‡αžΆαž…αŸ’αžšαžΎαž“ αž¬αž’αŸ†αž–αžΈαžšαž”αžΈ?
  3. αž§αž”αž€αžšαžŽαŸαž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž…αŸ†αž“αž½αž“ 25 αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ αž“αž·αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ Kubernetes.

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹