αžšαž”αŸ€αž”αž—αŸ’αž‡αžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜ Kubernetes αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αž‡αŸ’αžˆαž˜αžŽαŸ’αžŒαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆ

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

αž’αŸ’αž“αž€αž‡αŸ†αž“αžΆαž‰αžαŸ’αž„αŸƒαž“αŸαŸ‡αž‚αžΊ Daniel Polenchik (Daniele Polencic) αžŠαžΆαž“αžΈαž™αŸ‰αŸ‚αž› αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž‚αŸ’αžšαžΌαž”αž„αŸ’αžšαŸ€αž“ αž“αž·αž„αž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ… Learnk8s.

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž±αŸ’αž™αžŸαŸ†αžŽαž½αžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž†αŸ’αž›αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž”αž“αŸ’αž‘αžΆαž”αŸ‹, αž‘αžΆαž€αŸ‹αž‘αž„αž˜αž€αž™αžΎαž„αžαžΆαž˜αž’αŸŠαžΈαž˜αŸ‚αž› ឬ TwitterαŸ– @learnk8s.

αž“αžΉαž€β€‹αž€αžΆαžšβ€‹αž”αž„αŸ’αž αŸ„αŸ‡β€‹αž˜αž»αž“β€‹? αžŸαŸ’αžœαŸ‚αž„αžšαž€αž–αž½αž€αž‚αŸαž“αŸ…αž‘αžΈαž“αŸαŸ‡.

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

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

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

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžαŸ†αž”αž“αŸ‹αž˜αž½αž™αž˜αž·αž“αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αž‘αŸ αž…αžšαžΆαž…αžšαžŽαŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αž”αž“αŸ’αžαž‘αŸ…αžαŸ†αž”αž“αŸ‹αž˜αž½αž™αž‘αŸ€αž αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαžšαŸ†αžαžΆαž“αŸ”

αž‡αžΆαž˜αž½αž™ Kubernetes αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαž™αž»αž‘αŸ’αž’αžŸαžΆαžŸαŸ’αžαŸ’αžšαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆ αž“αž·αž„αž…αŸ‚αž€αž…αžΆαž™αž”αž“αŸ’αž‘αž»αž€αž€αžΆαžšαž„αžΆαžšαž“αŸ…αž‘αžΌαž‘αžΆαŸ†αž„αžαŸ†αž”αž“αŸ‹αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαŸ”

αž’αŸ’αž“αž€αž’αžΆαž…αž˜αžΆαž“αž…αž„αŸ’αž€αŸ„αž˜αž˜αž½αž™ αž¬αž…αŸ’αžšαžΎαž“αž€αŸ’αž“αž»αž„αž˜αž½αž™αž€αŸ’αžšαž»αž˜ αžαŸ†αž”αž“αŸ‹ αž”αžšαž·αžŸαŸ’αžαžΆαž“ αž¬αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αŸƒαž’αžΆαžαž»αž‘αžΆαŸ†αž„αž“αŸαŸ‡αŸ”

αž…αž„αŸ’αž€αŸ„αž˜αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αŸ„αŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αž–αž–αž€αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆ αž“αž·αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αžœαŸαžŽαŸ”

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

αž…αž„αŸ’αž€αŸ„αž˜αž—αžΆαž–αž‡αžΆαž’αŸ’αž“αž€αžŠαžΉαž€αž“αžΆαŸ†αž˜αž½αž™αŸ”

αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž…αž„αŸ’αž€αŸ„αž˜αž˜αž½αž™αž“αŸ…αž›αžΎαž”αžŽαŸ’αžαžΆαž‰αžαŸ‚αž˜αž½αž™αž‚αžΊαž˜αž·αž“αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž“αŸ„αŸ‡αž‘αŸαŸ”

αžŸαŸ’αžšαž˜αŸƒαžαžΆαž’αŸ’αž“αž€αž˜αžΆαž“αž§αž”αž‘αŸ’αž‘αžœαž αŸαžαž»αž˜αž½αž™ αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžšαžœαžΆαž„αž•αŸ’αž“αŸ‚αž€αž…αž„αŸ’αž€αŸ„αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΆαžαŸ‹αž”αž„αŸ‹αŸ”

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

αž αžΎαž™αž€αŸ’αž“αž»αž„αž–αŸαž›αžαŸ‚αž˜αž½αž™ αž’αŸ’αž“αž€αž˜αžΆαž“αžαžΆαžšαžΆαž„αž•αŸ’αž›αžΌαžœαž…αžΆαžŸαŸ‹ (kube-proxy αž˜αž·αž“β€‹αž’αžΆαž…β€‹αž‘αžΆαž‰β€‹αž™αž€β€‹αžαŸ’αž˜αžΈβ€‹) αž“αž·αž„β€‹αž‚αŸ’αž˜αžΆαž“β€‹αž•αžβ€‹αž”αž“αŸ’αžαŸ‚αž˜β€‹αž‘αŸ€αž (kubelet αž˜αž·αž“β€‹αž’αžΆαž…β€‹αžŸαŸ’αž“αžΎβ€‹αžŸαž»αŸ†β€‹αž€αžΆαžšβ€‹αž’αŸ’αžœαžΎβ€‹αž±αŸ’αž™β€‹αž‘αžΆαž“αŸ‹β€‹αžŸαž˜αŸαž™β€‹) αŸ”

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

αž‡αžΆαž›αž‘αŸ’αž’αž•αž›αž’αŸ’αž“αž€αž˜αžΆαž“αž•αžαžαž›αž…αŸ’αžšαžΎαž“αž‡αžΆαž„αž–αžΈαžšαžŠαž„αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαžαž˜αŸαž˜αŸαž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ†αž”αž“αŸ‹αž“αžΈαž˜αž½αž™αŸ— αžœαžΆαž“αžΉαž„αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αžΆαžšαž™αž›αŸ‹αžŸαŸ’αžšαž”αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ etcd αŸ” (αž”αŸ’αžšαž αŸ‚αž› ed αŸ” - αžαžΆαž˜αž–αž·αž αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ etcd αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž˜αžΆαž“αž‘αžΈαžαžΆαŸ†αž„αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‘αŸαŸ” αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž›αžΎαž€αŸ’αžšαž»αž˜αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹αžαŸ‚αž˜αž½αž™αŸ” αž–αž·αž αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž‘αž‘αž½αž›αž”αžΆαž“αž…αŸ†αžŽαž»αž…αž”αžšαžΆαž‡αŸαž™αž“αŸƒαž…αž„αŸ’αž€αŸ„αž˜αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαŸ”)

αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ etcd αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αŸ’αž”αžΌαž“αžŠαžΎαž˜αŸ’αž”αžΈαž…αžšαž…αžΆαžαž˜αŸ’αž›αŸƒαž˜αž»αž“αž–αŸαž›αžŸαžšαžŸαŸαžšαžœαžΆαž‘αŸ…αžαžΆαžŸαŸ”
αž“αŸ„αŸ‡αž‚αžΊ αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž“αŸƒαž€αžšαžŽαžΈαžαŸ’αžšαžΌαžœαžαŸ‚αžˆαžΆαž“αžŠαž›αŸ‹αž€αžΆαžšαž―αž€αž—αžΆαž– αž˜αž»αž“αž–αŸαž›αžšαžŠαŸ’αž‹αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž‘αŸ… αž›αŸ”

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

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

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

etcd αž‚αžΊαž˜αžΆαž“αž—αžΆαž–αžšαžŸαžΎαž”αžαŸ’αž›αžΆαŸ†αž„αžŽαžΆαžŸαŸ‹ αž―αž€αžŸαžΆαžšαž•αŸ’αž›αžΌαžœαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž’αŸ„αž™αž”αŸ’αžšαžΎ SSDs αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™ hard drive αž’αž˜αŸ’αž˜αžαžΆαŸ”.

αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž˜αž·αž“αž˜αžΆαž“αž§αž‘αžΆαž αžšαžŽαŸαž›αŸ’αž’αž“αŸƒαž”αžŽαŸ’αžαžΆαž‰αž’αŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜αžαŸ‚αž˜αž½αž™αž‘αŸαŸ”

αž‡αžΆαž‘αžΌαž‘αŸ… αžŸαž αž‚αž˜αž“αŸαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž“αž·αž„αž€αŸ’αžšαž»αž˜ SIG-cluster αž€αŸ†αž–αž»αž„αž–αŸ’αž™αžΆαž™αžΆαž˜αžšαž€αžœαž·αž’αžΈαžšαŸ€αž”αž…αŸ†αž€αŸ’αžšαž»αž˜αžαžΆαž˜αžšαž”αŸ€αž”αžŠαžΌαž…αž‚αŸ’αž“αžΆ Kubernetes αžšαŸ€αž”αž…αŸ†αž€αž»αž„αžαžΊαž“αŸαžšαŸ”

αž‡αž˜αŸ’αžšαžΎαžŸαž‘αžΈ 1: αžŸαž αž–αŸαž“αŸ’αž’αž…αž„αŸ’αž€αŸ„αž˜αž‡αžΆαž˜αž½αž™ kubefed

αž€αžΆαžšαž†αŸ’αž›αžΎαž™αžαž”αž‡αžΆαž•αŸ’αž›αžΌαžœαž€αžΆαžšαž–αžΈ SIG-cluster - kubefed2 αžŠαŸ‚αž›αž‡αžΆαž€αŸ†αžŽαŸ‚αžαŸ’αž˜αžΈαž“αŸƒαž’αžαž·αžαž·αž‡αž“ αž“αž·αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαžŸαž αž–αŸαž“αŸ’αž’ kube ដើម.

αž‡αžΆαž›αžΎαž€αžŠαŸ†αž”αžΌαž„ αž™αžΎαž„αž”αžΆαž“αž–αŸ’αž™αžΆαž™αžΆαž˜αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αžŽαŸ’αžαž»αŸ†αž“αŸƒαž…αž„αŸ’αž€αŸ„αž˜αž‡αžΆαžœαžαŸ’αžαž»αžαŸ‚αž˜αž½αž™αžŠαŸ„αž™αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαžŸαž αž–αŸαž“αŸ’αž’ kube αŸ”

αž€αžΆαžšβ€‹αž…αžΆαž”αŸ‹β€‹αž•αŸ’αžαžΎβ€‹αž˜β€‹αž‚αžΊβ€‹αž‡αžΆβ€‹αž€αžΆαžšβ€‹αž›αŸ’αž’β€‹αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž“αŸ…β€‹αž‘αžΈβ€‹αž”αž‰αŸ’αž…αž”αŸ‹β€‹αžŸαž αž–αŸαž“αŸ’αž’ kube αž˜αž·αž“β€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αž”αŸ’αžšαž‡αžΆαž”αŸ’αžšαž·αž™αž—αžΆαž–β€‹αžŠαŸ„αž™β€‹αžŸαžΆαžšβ€‹αžαŸ‚β€‹αžœαžΆβ€‹αž˜αž·αž“β€‹αž”αžΆαž“β€‹αž‚αžΆαŸ†αž‘αŸ’αžšβ€‹αž’αž“αž’αžΆαž“β€‹αž‘αžΆαŸ†αž„β€‹αž’αžŸαŸ‹β€‹αŸ”

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

αžŸαŸ’αžšαž˜αŸƒαž˜αžΎαž›αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαž€αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€αž…αž˜αŸ’αž›αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜αž“αžΈαž˜αž½αž™αŸ—αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαž αž–αŸαž“αŸ’αž’αžŠαŸ„αž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž”αŸ’αžšαžΎαž…αŸ†αžŽαžΆαžšαž–αž“αŸ’αž™αž›αŸ‹αŸ”

αžœαžΆαž‡αžΆαž€αžΆαžšαžšαž‰αŸ‰αŸαžšαž‰αŸ‰αŸƒαž–αŸαž‰αž›αŸαž‰αŸ”

SIG-cluster αž”αžΆαž“αž’αŸ’αžœαžΎαž€αžΆαžšαž„αžΆαžšαž‡αžΆαž…αŸ’αžšαžΎαž“αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈ kubefed v1 αž αžΎαž™αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž–αžΈαž˜αž»αŸ†αž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαŸ”

αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž€αžΆαžšαž–αž“αŸ’αž™αž›αŸ‹ αž–αž½αž€αž‚αŸαž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž”αž‰αŸ’αž…αŸαž‰αž§αž”αž€αžšαžŽαŸαž”αž‰αŸ’αž‡αžΆαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αž“αŸ…αž›αžΎαž…αž„αŸ’αž€αŸ„αž˜αŸ” αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžŠαžΌαžšαžαžΆαž˜αž”αŸ†αžŽαž„αžŠαŸ„αž™αž”αŸ’αžšαžΎ Custom Resource Definitions (CRDs)αŸ”

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αž“αž’αžΆαž“αž“αžΈαž˜αž½αž™αŸ—αžŠαŸ‚αž›αž“αžΉαž„αž€αŸ’αž›αžΆαž™αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž“αŸƒαžŸαž αž–αŸαž“αŸ’αž’ αž’αŸ’αž“αž€αž˜αžΆαž“αž“αž·αž™αž˜αž“αŸαž™ CRD αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžŠαŸ‚αž›αž˜αžΆαž“αž”αžΈαž•αŸ’αž“αŸ‚αž€αŸ–

  • αž“αž·αž™αž˜αž“αŸαž™αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž“αŸƒαž’αž“αž’αžΆαž“ αž§αž‘αžΆαž αžšαžŽαŸ αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™;
  • αž•αŸ’αž“αŸ‚αž€ placementαžŠαŸ‚αž›αž’αŸ’αž“αž€αž€αŸ†αžŽαžαŸ‹αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž’αž“αž’αžΆαž“αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαž αž–αŸαž“αŸ’αž’αŸ”
  • αž•αŸ’αž“αŸ‚αž€ overrideαžŠαŸ‚αž›αž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αž“αž’αžΆαž“αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™ αž’αŸ’αž“αž€αž’αžΆαž…αž”αžŠαž·αžŸαŸαž’αž‘αž˜αŸ’αž„αž“αŸ‹ αž“αž·αž„αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž–αžΈαž€αžΆαžšαžŠαžΆαž€αŸ‹αŸ”

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αžšαž½αž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž•αŸ’αž“αŸ‚αž€αžŠαžΆαž€αŸ‹ αž“αž·αž„αž”αžŠαž·αžŸαŸαž’

apiVersion: types.federation.k8s.io/v1alpha1
kind: FederatedDeployment
metadata:
  name: test-deployment
  namespace: test-namespace
spec:
  template:
    metadata:
      labels:
        app: nginx
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
            - image: nginx
              name: nginx
  placement:
    clusterNames:
      - cluster2
      - cluster1
  overrides:
    - clusterName: cluster2
      clusterOverrides:
        - path: spec.replicas
          value: 5

αžŠαžΌαž…αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αžƒαžΎαž‰αž€αžΆαžšαž•αŸ’αž‚αžαŸ‹αž•αŸ’αž‚αž„αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αž“αŸ…αž‘αžΌαž‘αžΆαŸ†αž„αž…αž„αŸ’αž€αŸ„αž˜αž–αžΈαžš: cluster1 ΠΈ cluster2.

αž…αž„αŸ’αž€αŸ„αž˜αž‘αžΈαž˜αž½αž™αž•αŸ’αž‚αžαŸ‹αž•αŸ’αž‚αž„αŸ‹αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž…αŸ†αž“αž½αž“ 5 αž αžΎαž™αž‘αžΈαž–αžΈαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž‘αŸ… XNUMX αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αž“αŸ’αžαŸ‚αž˜αž›αžΎαž…αŸ†αž“αž½αž“αž“αŸƒαž€αžΆαžšαž…αž˜αŸ’αž›αž„αž“αŸ„αŸ‡ kubefed2 αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžœαžαŸ’αžαž» ReplicaSchedulingPreference αžαŸ’αž˜αžΈ αžŠαŸ‚αž›αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ’αž›αžΉαž„αžαŸ’αž›αŸ‚αž„αŸ–

apiVersion: scheduling.federation.k8s.io/v1alpha1
kind: ReplicaSchedulingPreference
metadata:
  name: test-deployment
  namespace: test-ns
spec:
  targetKind: FederatedDeployment
  totalReplicas: 9
  clusters:
    A:
      weight: 1
    B:
      weight: 2

αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ CRD αž“αž·αž„ API αž˜αž·αž“αž‘αžΆαž“αŸ‹αžšαž½αž…αžšαžΆαž›αŸ‹αž“αŸ…αž‘αžΎαž™αž‘αŸ αž αžΎαž™αž€αžΆαžšαž„αžΆαžšαžŸαž€αž˜αŸ’αž˜αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αž‚αž˜αŸ’αžšαŸ„αž„αž•αŸ’αž›αžΌαžœαž€αžΆαžšαŸ”

αžαžΆαž˜αžŠαžΆαž“ kubefed2 αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ’αžšαžΌαžœαž…αžΆαŸ†αžαžΆαžœαžΆαž˜αž·αž“αž‘αžΆαž“αŸ‹αžŸαžΆαž€αžŸαž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αž›αž·αžαž“αŸ…αž‘αžΎαž™αŸ”

αž˜αžΎαž›β€‹αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžβ€‹αž’αŸ†αž–αžΈ kubefed2 from αž’αžαŸ’αžαž”αž‘αž•αŸ’αž›αžΌαžœαž€αžΆαžšαž’αŸ†αž–αžΈ kubefed2 αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αž›αž€αŸ‹αž’αŸ†αž–αžΈ Kubernetes αž“αž·αž„αž€αŸ’αž“αž»αž„ αžƒαŸ’αž›αžΆαŸ†αž„αž•αŸ’αž›αžΌαžœαž€αžΆαžšαž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„ kubefed.

αž‡αž˜αŸ’αžšαžΎαžŸαž‘αžΈ 2αŸ– αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž…αž„αŸ’αž€αŸ„αž˜αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž…αž“αžΆαž”αŸαž‘αŸ’αž˜ Booking.com

αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ Booking.com αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎ kubefed v2 αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž–αž½αž€αž‚αŸαž”αžΆαž“αž”αž„αŸ’αž€αžΎαž Shipper αžŠαŸ‚αž›αž‡αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αŸ‚αž€αž…αžΆαž™αž“αŸ…αž›αžΎαž…αž„αŸ’αž€αŸ„αž˜αž‡αžΆαž…αŸ’αžšαžΎαž“ αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹ αž“αž·αž„αž€αŸ’αž“αž»αž„αž–αž–αž€αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”

αž“αžΆαžœαžΆαžŠαžΉαž€αž‘αŸ†αž“αž·αž‰ αžŸαŸ’αžšαžŠαŸ€αž„αž‘αŸ…αž“αžΉαž„ kubefed2.

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

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

αž“αŸ…αž€αŸ’αž“αž»αž„ Shipper αž’αŸ’αž“αž€αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αžŸαŸŠαŸαžšαžΈαž“αŸƒαž‡αŸ†αž αžΆαž“αžŠαŸ‚αž›αž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαž€αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€αž“αŸƒαž€αžΆαžšαž…αž˜αŸ’αž›αž„αžšαžœαžΆαž„αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž–αžΈαž˜αž»αž“ αž“αž·αž„αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ αž“αž·αž„αž”αžšαž·αž˜αžΆαžŽαž“αŸƒαž…αžšαžΆαž…αžšαž…αžΌαž›αŸ”

αž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αžšαž»αž‰αž’αž“αž’αžΆαž“αž‘αŸ…αž…αž„αŸ’αž€αŸ„αž˜ αž“αŸ„αŸ‡αž§αž”αž€αžšαžŽαŸαž”αž‰αŸ’αž‡αžΆαž’αŸ’αž“αž€αžŠαžΉαž€αž‡αž‰αŸ’αž‡αžΌαž“αž“αžΉαž„αž”αž„αŸ’αž€αžΎαž“αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸ‚αž›αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αž‚αŸ’αžšαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜αžŠαŸ‚αž›αž”αžΆαž“αž…αžΌαž›αžšαž½αž˜αŸ”

αžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αŸαŸ‡αž•αž„αžŠαŸ‚αžš Shipper αž˜αžΆαž“αž€αŸ†αžŽαžαŸ‹αžŽαžΆαžŸαŸ‹αŸ”

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

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

apiVersion: shipper.booking.com/v1alpha1
kind: Application
metadata:
  name: super-server
spec:
  revisionHistoryLimit: 3
  template:
    chart:
      name: nginx
      repoUrl: https://storage.googleapis.com/shipper-demo
      version: 0.0.1
    clusterRequirements:
      regions:
        - name: local
    strategy:
      steps:
        - capacity:
            contender: 1
            incumbent: 100
          name: staging
          traffic:
            contender: 0
            incumbent: 100
        - capacity:
            contender: 100
            incumbent: 0
          name: full on
          traffic:
            contender: 100
            incumbent: 0
    values:
      replicaCount: 3

Shipper αž‚αžΊαž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸαžŠαŸαž›αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž…αž„αŸ’αž€αŸ„αž˜αž‡αžΆαž…αŸ’αžšαžΎαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž‡αž·αžαžŸαŸ’αž“αž·αž‘αŸ’αž’αžšαž”αžŸαŸ‹αžœαžΆαž‡αžΆαž˜αž½αž™ Helm αž‘αž‘αž½αž›αž”αžΆαž“αžαŸ‚αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž›αžΌαžœαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”

αž…αž»αŸ‡αž”αžΎαž™αžΎαž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‚αŸ’αž“αžΆαž”αŸ’αžαžΌαžšαž–αžΈ Helm αž‘αŸ… αž”αŸ’αžŠαžΌαžšαžαžΆαž˜αž”αŸ†αžŽαž„ ឬ αž”αŸ’αžšαž’αžΆαž“αž€αŸ’αžšαž»αž˜?

αž˜αžΎαž›β€‹αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžβ€‹αž’αŸ†αž–αžΈ Shipper and its philosophy at αžŸαŸαž…αž€αŸ’αžαžΈαž”αŸ’αžšαž€αžΆαžŸαž–αŸαžαŸŒαž˜αžΆαž“αž•αŸ’αž›αžΌαžœαž€αžΆαžšαž“αŸαŸ‡αŸ”.

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž‡αžΈαž€αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αžΌαžŠ, αž‘αŸ…αž€αžΆαž“αŸ‹αžƒαŸ’αž›αžΆαŸ†αž„αž‚αž˜αŸ’αžšαŸ„αž„αž•αŸ’αž›αžΌαžœαž€αžΆαžš.

αž‡αž˜αŸ’αžšαžΎαžŸαž‘αžΈ 3αŸ– αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αŸƒαž…αž„αŸ’αž€αŸ„αž˜ "αžœαŸαž‘αž˜αž“αŸ’αž"

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

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž…αž»αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž”αžΎαž’αŸ’αž“αž€αž˜αž·αž“αž…αž„αŸ‹αžŸαžšαžŸαŸαžšαž‘αžΎαž„αžœαž·αž‰αž“αžΌαžœαž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ StatefulSets, DaemonSets αž‡αžΆαžŠαžΎαž˜ αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ?

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

multi-cluster-scheduler αž‚αžΊαž‡αžΆαž‚αž˜αŸ’αžšαŸ„αž„ AdmiralityαžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž€αžΆαž›αžœαž·αž—αžΆαž‚αž€αžΆαžšαž„αžΆαžšαž“αŸ…αž›αžΎαž…αž„αŸ’αž€αŸ„αž˜αŸ”

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

αž•αžαžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž“αžΈαž˜αž½αž™αŸ—αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ†αž“αž½αžŸαž—αŸ’αž›αžΆαž˜αŸ—αžŠαŸ„αž™αž’αžαŸ‹αž…αŸαŸ‡αžŸαŸ„αŸ‡αŸ”

αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ†αžŽαžαŸ‹αž–αŸαž›αž…αŸ’αžšαžΎαž“αž€αŸ’αžšαž»αž˜ webhooks αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž€αŸ‚αž”αŸ’αžšαŸ‚αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈβ€‹αžŸαŸ’αž‘αžΆαž€αŸ‹β€‹αž…αžΆαž”αŸ‹β€‹αž€αžΆαžšβ€‹αž αŸ…β€‹αž‘αžΌαžšαžŸαž–αŸ’αž‘ αž“αž·αž„β€‹αž”αž„αŸ’αž€αžΎαžβ€‹αž•αžβ€‹αž’αžαŸ‹β€‹αž…αŸαŸ‡β€‹αž‘αŸ†αž“αŸαžšαŸ”

αž•αžαžαž›αžŠαžΎαž˜αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžœαžŠαŸ’αžαž“αŸƒαž•αŸ‚αž“αž€αžΆαžšαž˜αž½αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αžŠαŸ‚αž›αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαžŸαŸ’αž‘αž„αŸ‹αž˜αžαž·αžŸαž αž–αŸαž“αŸ’αž’αž‘αžΆαŸ†αž„αž˜αžΌαž› αž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžŠαžΆαž€αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„αŸ”

αž‡αžΆαž…αž»αž„αž€αŸ’αžšαŸ„αž™ αž•αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αž‘αŸ…αž…αž„αŸ’αž€αŸ„αž˜αž‚αŸ„αž›αžŠαŸ…αŸ”

αž‡αžΆαž›αž‘αŸ’αž’αž•αž› αž’αŸ’αž“αž€αž˜αžΆαž“αž•αžαž”αž“αŸ’αžαŸ‚αž˜αžŠαŸ‚αž›αž˜αž·αž“αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαžŸαŸ„αŸ‡ αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž™αž€αž€αž“αŸ’αž›αŸ‚αž„αž‘αŸ†αž“αŸαžšαŸ”

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

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

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

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

αžœαžΆαž˜αž·αž“αž˜αžΆαž“αž™αž“αŸ’αžαž€αžΆαžšαž”αž‰αŸ’αž‡αžΌαž“αž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹αž‘αŸαŸ”

αž–αŸαžαŸŒαž˜αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈ multi-cluster-scheduler αž’αžΆαž…αžšαž€αž”αžΆαž“αž“αŸ… αž‘αŸ†αž–αŸαžšαžƒαŸ’αž›αžΆαŸ†αž„αž•αŸ’αž›αžΌαžœαž€αžΆαžš.

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž’αžΆαž“αž’αŸ†αž–αžΈ multi-cluster-scheduler αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαž€αž˜αŸ’αž˜αž—αžΆαž– Admiralty αž˜αžΆαž“ αž€αžšαžŽαžΈαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž‡αžΆαž˜αž½αž™ Argo - αž›αŸ†αž αžΌαžšαž€αžΆαžšαž„αžΆαžš αž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸ CI αž“αž·αž„ CD Kubernetes αŸ”

αž§αž”αž€αžšαžŽαŸ αž“αž·αž„αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž•αŸ’αžŸαŸαž„αŸ—

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

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

αž“αŸ„αŸ‡αž αžΎαž™αž‡αžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž„αŸƒαž“αŸαŸ‡

αž’αžšαž‚αž»αžŽαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αžΆαž“αžŠαž›αŸ‹αž…αž”αŸ‹!

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžŠαžΉαž„αž–αžΈαžšαž”αŸ€αž”αž—αŸ’αž‡αžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜αž…αŸ’αžšαžΎαž“αž±αŸ’αž™αž€αžΆαž“αŸ‹αžαŸ‚αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αŸ” αž”αŸ’αžšαžΆαž”αŸ‹β€‹αž–αžΌαž€β€‹αž™αžΎαž„β€‹αž˜αž€.

αž™αžΎαž„αž“αžΉαž„αž”αž“αŸ’αžαŸ‚αž˜αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αŸ…αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αŸ”

αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαž‡αžΆαž–αž·αžŸαŸαžŸαžŠαž›αŸ‹ Chris Nesbitt-Smith (Chris Nesbitt-Smith) αž“αž·αž„ Vincent de Sme (αž›αŸ„αž€ Vincent De Smet) (αžœαž·αžŸαŸ’αžœαž€αžšαž—αžΆαž–αž‡αžΏαž‡αžΆαž€αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ swatmobile.io) αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αžΆαž“αž’αžαŸ’αžαž”αž‘ αž“αž·αž„αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž–αŸαžαŸŒαž˜αžΆαž“αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžŸαž αž–αŸαž“αŸ’αž’αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”

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

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