เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ Kubernetes clusters เปƒเบ™เบชเบนเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™

เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ Kubernetes clusters เปƒเบ™เบชเบนเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™
เบเบดเบ™เบ”เบตเบ•เป‰เบญเบ™เบฎเบฑเบšเบชเบนเปˆเบŠเบธเบ” Kubernetes Quick Start เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เบ™เบตเป‰เปเบกเปˆเบ™เบ„เปเบฅเปเบฒเบ›เบปเบเบเบฐเบ•เบดเบ—เบตเปˆเบกเบตเบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบญเบญเบ™เป„เบฅเบ™เปŒเปเบฅเบฐเปƒเบ™เบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบกเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เบ„เปเบฒเบ•เบญเบšเบ‚เบญเบ‡เบœเบนเป‰เบŠเปˆเบฝเบงเบŠเบฒเบ™ Kubernetes.

เบœเบนเป‰เบŠเปˆเบฝเบงเบŠเบฒเบ™เปƒเบ™เบกเบทเป‰เบ™เบตเป‰เปเบกเปˆเบ™ Daniel Polenchik (Daniele Polencic). Daniel เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เป€เบ›เบฑเบ™ instructor เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบžเบฑเบ”โ€‹เบ—เบฐโ€‹เบ™เบฒโ€‹เบŠเบญเบšโ€‹เปเบงโ€‹เบ—เบตเปˆ เบฎเบฝเบ™เบฎเบนเป‰ 8s.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบซเป‰เบ„เปเบฒเบ–เบฒเบกเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบ•เบญเบšเปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ•เปเปˆเป„เบ›, เบ•เบดเบ”เบ•เปเปˆเบžเบงเบเป€เบฎเบปเบฒเบ—เบฒเบ‡เบญเบตเป€เบกเบง เบซเบผเบท Twitter: @learnk8s.

เบžเบฒเบ”เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเบšเป? เบŠเบญเบเบซเบฒเบžเบงเบเบกเบฑเบ™เป„เบ”เป‰เบ—เบตเปˆเบ™เบตเป‰.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบธเปˆเบก Kubernetes เปƒเบ™เบชเบนเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™?

เป„เบฅเบเบฐเบชเบฑเป‰เบ™เป†: Kubefed v2 เปƒเบ™เป„เบงเป†เบ™เบตเป‰, เปเบฅเบฐเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบเบฑเบ‡เปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบญเปˆเบฒเบ™เบเปˆเบฝเบงเบเบฑเบš เบœเบนเป‰เบ‚เบปเบ™เบชเบปเปˆเบ‡ ะธ เป‚เบ„เบ‡เบเบฒเบ™ multi-cluster-scheduler.

เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบกเบฑเบ, เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เป„เบ”เป‰เบ–เบทเบเบˆเปเบฒเบฅเบญเบ‡เปเบฅเบฐเปเบˆเบเบขเบฒเบเปƒเบ™เบ—เบปเปˆเบงเบžเบฒเบเบžเบทเป‰เบ™เบ•เปˆเบฒเบ‡เป†, เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ„เบงเบšเบ„เบธเบก.

เบ–เป‰เบฒเบžเบฒเบเบžเบทเป‰เบ™เบซเบ™เบถเปˆเบ‡เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰, เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบˆเบฐเบ–เบทเบเป‚เบญเบ™เป„เบ›เบซเบฒเบญเบตเบเป€เบ‚เบ”เบซเบ™เบถเปˆเบ‡เป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡.

เบ”เป‰เบงเบ Kubernetes, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบเบธเบ”เบ—เบฐเบชเบฒเบ”เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™ เปเบฅเบฐเปเบˆเบเบขเบฒเบเบงเบฝเบเปƒเบ™เบ—เบปเปˆเบงเบžเบฒเบเบžเบทเป‰เบ™เบ•เปˆเบฒเบ‡เป†.

เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบกเบตโ€‹เบซเบ™เบถเปˆเบ‡โ€‹เบซเบผเบทโ€‹เบซเบผเบฒเบโ€‹เบเบธเปˆเบกโ€‹เบ•เปเปˆโ€‹เบ—เบตเบกโ€‹เบ‡เบฒเบ™โ€‹, เบžเบฒเบโ€‹เบžเบทเป‰เบ™โ€‹, เบชเบฐโ€‹เบžเบฒเบšโ€‹เปเบงเบ”โ€‹เบฅเป‰เบญเบกโ€‹, เบซเบผเบทโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบชเบปเบกโ€‹เบ‚เบญเบ‡โ€‹เบญเบปเบ‡โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เป€เบซเบผเบปเปˆเบฒโ€‹เบ™เบตเป‰โ€‹.

เบเบธเปˆเบกเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเป‚เบฎเบ”เบขเบนเปˆเปƒเบ™เบ„เบฅเบฒเบงเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™ เปเบฅเบฐเบขเบนเปˆเปƒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆ.

เปเบ•เปˆเป€เบˆเบปเป‰เบฒเบงเบฒเบ‡เปเบœเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เปเบ™เบงเปƒเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบœเปˆเบเบฐเบˆเบฒเบเบ—เบฒเบ‡เบžเบนเบกเบชเบฒเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง?
เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบชเป‰เบฒเบ‡เบเบธเปˆเบกเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบซเบ™เบถเปˆเบ‡เบชเปเบฒเบฅเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ„เบฅเบฒเบงเบซเบผเบฒเบเป†เบ„เบฑเป‰เบ‡เบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ”เบฝเบงเบšเป?
เบซเบผเบทเบกเบตเบซเบผเบฒเบเบเบธเปˆเบกเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเปเบฅเบฐเบŠเบญเบเบซเบฒเบงเบดเบ—เบตเบ—เบตเปˆเบˆเบฐเบ„เบงเบšเบ„เบธเบกเปเบฅเบฐ synchronize เปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ?

เปœเบถเปˆเบ‡เบเบธเปˆเบกเบœเบนเป‰เบ™เบณ

เบเบฒเบ™เบชเป‰เบฒเบ‡เบเบธเปˆเบกเบ”เบฝเบงเบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ”เบฝเบงเบšเปเปˆเปเบกเปˆเบ™เป€เบฅเบทเปˆเบญเบ‡เบ‡เปˆเบฒเบ.

เบˆเบดเบ™เบ•เบฐเบ™เบฒเบเบฒเบ™เบงเปˆเบฒเบ—เปˆเบฒเบ™เบกเบตเบญเบธเบ›เบฐเบ•เบดเป€เบซเบ”, เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบธเปˆเบกเบเบธเปˆเบกเปเบกเปˆเบ™เบชเบนเบ™เป€เบชเบ.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบซเบ™เบถเปˆเบ‡, เป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบซเบกเปˆเป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เปเปˆเบเบฑเบšเปเบกเปˆเบšเบปเบ”เป„เบ”เป‰.

เปเบฅเบฐเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เบ—เปˆเบฒเบ™เบกเบตเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป€เบเบปเปˆเบฒ (kube-proxy เบšเปเปˆโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ”เบฒเบงโ€‹เบ™โ€‹เปŒโ€‹เป‚เบซเบฅเบ”โ€‹เปƒเบซเบกเปˆโ€‹) เปเบฅเบฐโ€‹เบšเปเปˆโ€‹เบกเบต pods เป€เบžเบตเปˆเบกโ€‹เป€เบ•เบตเบก (kubelet เบšเปเปˆโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบฎเป‰เบญเบ‡โ€‹เบ‚เปโ€‹เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹)โ€‹.

เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบšเบฑเบ™เบซเบฒเบฎเป‰เบฒเบเปเบฎเบ‡เบเบงเปˆเบฒเป€เบเบปเปˆเบฒ, เบ–เป‰เบฒ Kubernetes เบšเปเปˆเป€เบซเบฑเบ™ node, เบกเบฑเบ™เบˆเบฐเบซเบกเบฒเบเบกเบฑเบ™เบงเปˆเบฒเป€เบ›เบฑเบ™เป€เบ”เบฑเบเบเปเบฒเบžเป‰เบฒเปเบฅเบฐเปเบˆเบเบขเบฒเบ pods เบ—เบตเปˆเบšเปเปˆเบกเบตเบขเบนเปˆเบเบฑเบš nodes.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบกเบตเบเบฑเบเบซเบผเบฒเบเบชเบญเบ‡เป€เบ—เบปเปˆเบฒ.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบชเป‰เบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปเบกเปˆเบšเบปเบ”เบซเบ™เบถเปˆเบ‡เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบžเบฒเบเบžเบทเป‰เบ™, เบกเบฑเบ™เบˆเบฐเบกเบตเบšเบฑเบ™เบซเบฒเบเบฑเบšเบฅเบฐเบšเบปเบš consensus algorithm เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ etcd. (เบ›เบฐเบกเบฒเบ™ ed. - เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ etcd เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš. เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเปƒเบ™เบเบธเปˆเบกเป€เบŠเบตเบŸเป€เบงเบตเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบขเบนเปˆเปƒเบ™เบžเบฒเบเบžเบทเป‰เบ™เบ”เบฝเบงเบเบฑเบ™. เบ„เบงเบฒเบกเบˆเบดเบ‡, เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เป„เบ”เป‰เบฎเบฑเบšเบˆเบธเบ”เบ‚เบญเบ‡เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบงเบ‚เบญเบ‡เบเบธเปˆเบก. เปเบ•เปˆเป„เบง.)

เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบญเบทเปˆเบ™เป†โ€‹ เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ raftเป€เบžเบทเปˆเบญเป€เบˆเบฅเบฐเบˆเบฒเบกเบนเบ™เบ„เปˆเบฒเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ‚เบฝเบ™เบกเบฑเบ™เปƒเบชเปˆเปเบœเปˆเบ™.
เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบเปเบฅเบฐเบ™เบตเบชเปˆเบงเบ™เปƒเบซเบเปˆเบˆเบฐเบ•เป‰เบญเบ‡เบšเบฑเบ™เบฅเบธเบ„เบงเบฒเบกเป€เบซเบฑเบ™เบ”เบตเบเปˆเบญเบ™เบ—เบตเปˆเบฅเบฑเบ”เบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เป€เบ›เบฑเบ™ etcd.

เบ–เป‰เบฒเป€เบงเบฅเบฒ latency เบฅเบฐเบซเบงเปˆเบฒเบ‡ etcd เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบšเบชเบฒเบกเบ•เบปเบงเบขเปˆเบฒเบ‡ etcd เปƒเบ™เบžเบฒเบเบžเบทเป‰เบ™เบ•เปˆเบฒเบ‡เป†, เบกเบฑเบ™เปƒเบŠเป‰เป€เบงเบฅเบฒเบ”เบปเบ™เปƒเบ™เบเบฒเบ™เป€เบˆเบฅเบฐเบˆเบฒเบกเบนเบ™เบ„เปˆเบฒเปเบฅเบฐเบ‚เบฝเบ™เบกเบฑเบ™เปƒเบชเปˆเปเบœเปˆเบ™.
เบญเบฑเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเบ—เป‰เบญเบ™เบขเบนเปˆเปƒเบ™เบ•เบปเบงเบ„เบงเบšเบ„เบธเบก Kubernetes.

เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบงเบฅเบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเป€เบžเบทเปˆเบญเบฎเบฝเบ™เบฎเบนเป‰เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปเบฅเบฐเบ‚เบฝเบ™เบ„เปเบฒเบ•เบญเบšเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™.

เปเบฅเบฐเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบšเปเปˆเบกเบตเบ•เบปเบงเบ„เบงเบšเบ„เบธเบกเบซเบ™เบถเปˆเบ‡, เปเบ•เปˆเบซเบผเบฒเบ, เบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰เป€เบเบตเบ”เบ›เบฐเบ•เบดเบเบดเบฅเบดเบเบฒเบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰ เปเบฅเบฐเบเบธเปˆเบกเบ—เบฑเบ‡เปเบปเบ”เป€เบฅเบตเปˆเบกเป€เบฎเบฑเบ”เบงเบฝเบเบŠเป‰เบฒเบซเบผเบฒเบ.

etcd เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบญเปˆเบญเบ™เป„เบซเบง latency เบ™เบฑเป‰เบ™ เป€เบญเบเบฐเบชเบฒเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เปƒเบŠเป‰ SSDs เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบฎเบฒเบ”เป„เบ”เบ›เบปเบเบเบฐเบ•เบด.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบšเปเปˆเบกเบตเบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบ”เบตเบ‚เบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบกเบ”เบฝเบง.

เป‚เบ”เบเบžเบทเป‰เบ™เบ–เบฒเบ™เปเบฅเป‰เบง, เบŠเบธเบกเบŠเบปเบ™เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบฅเบฐเบเบธเปˆเบก SIG-cluster เบเปเบฒเบฅเบฑเบ‡เบžเบฐเบเบฒเบเบฒเบกเบŠเบญเบเบซเบฒเบงเบดเบ—เบตเบเบฒเบ™เบˆเบฑเบ”เบเบธเปˆเบกเปเบšเบšเบ”เบฝเบงเบเบฑเบ™เบเบฑเบš Kubernetes orchestrates containers.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบ 1: เบเบธเปˆเบกเบชเบฐเบซเบฐเบžเบฑเบ™เบเบฑเบš kubefed

เบ„เปเบฒเบ•เบญเบšเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบˆเบฒเบ SIG-cluster - kubefed2, เบฎเบธเปˆเบ™เปƒเบซเบกเปˆเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเปเบฅเบฐเบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™ kube เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš.

เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบžเบฐเบเบฒเบเบฒเบกเบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบเบธเปˆเบกเป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเบ”เบฝเบงเป‚เบ”เบเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเบฐเบซเบฐเบžเบฑเบ™ kube.

เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™เบ”เบต, เปเบ•เปˆเปƒเบ™เบ—เบตเปˆเบชเบธเบ”เบชเบฐเบซเบฐเบžเบฑเบ™ kube เบšเปเปˆเป€เบ„เบตเบเป„เบ”เป‰เบฎเบฑเบšเบ„เบงเบฒเบกเบ™เบดเบเบปเบกเป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”.

เบกเบฑเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡เปเบฅเบฐเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบชเบฐเบซเบฐเบžเบฑเบ™, เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™ StatefulSets, เบ•เบปเบงเบขเปˆเบฒเบ‡.
เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเบฐเบซเบฐเบžเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ–เปˆเบฒเบเบ—เบญเบ”เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบ„เปเบฒเบšเบฑเบ™เบเบฒเบเปเบฅเบฐเบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰.

เบˆเบดเบ™เบ•เบฐเบ™เบฒเบเบฒเบ™เบงเบดเบ—เบตเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบญเบฐเบ—เบดเบšเบฒเบเบเบฒเบ™เปเบšเปˆเบ‡เบ›เบฑเบ™เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบเบธเปˆเบกเปƒเบ™เบชเบฐเบซเบฐเบžเบฑเบ™เป‚เบ”เบเปƒเบŠเป‰เบžเบฝเบ‡เปเบ•เปˆเบ„เปเบฒเบšเบฑเบ™เบเบฒเบ.

เบกเบฑเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เบฅเบฑเบ‡เบเบดเบ™เบญเบฒเบซเบฒเบ™เบ—เบตเปˆเบชเบปเบกเบšเบนเบ™.

SIG-cluster เป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเบซเบผเบฒเบเบซเบผเบฑเบ‡เบˆเบฒเบ kubefed v1 เปเบฅเบฐเบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเป€เบ‚เบปเป‰เบฒเบซเบฒเบšเบฑเบ™เบซเบฒเบˆเบฒเบเบกเบธเบกเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™.

เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบ„เปเบฒเบšเบฑเบ™เบเบฒเบ, เบžเบงเบเป€เบ‚เบปเบฒเบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ›เปˆเบญเบเบ•เบปเบงเบ„เบงเบšเบ„เบธเบกเบ—เบตเปˆเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบเบธเปˆเบก. เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ›เบฑเบšเปเบ•เปˆเบ‡เป‚เบ”เบเปƒเบŠเป‰ Custom Resource Definitions (CRDs).

เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบชเบฐเบซเบฐเบžเบฑเบ™, เบ—เปˆเบฒเบ™เบกเบตเบ„เปเบฒเบ™เบดเบเบฒเบก CRD เปเบšเบšเบเปเบฒเบ™เบปเบ”เป€เบญเบ‡เบ—เบตเปˆเบกเบตเบชเบฒเบกเบžเบฒเบ:

  • เบ„เปเบฒเบ™เบดเบเบฒเบกเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰;
  • เบชเปˆเบงเบ™ placement, เบšเปˆเบญเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบเปเบฒเบ™เบปเบ”เบงเบดเบ—เบตเบเบฒเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบˆเบฐเบ–เบทเบเปเบˆเบเบขเบฒเบเบขเบนเปˆเปƒเบ™เบชเบฐเบซเบฐเบžเบฑเบ™;
  • เบชเปˆเบงเบ™ override, เบšเปˆเบญเบ™เบ—เบตเปˆเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบชเบฐเป€เบžเบฒเบฐเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ” override เบ™เป‰เปเบฒเบซเบ™เบฑเบเปเบฅเบฐเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบˆเบฒเบเบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡.

เบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡เบฅเบงเบกเบเบฑเบšเบžเบฒเบเบชเปˆเบงเบ™เบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡ เปเบฅเบฐ 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.

เบเบธเปˆเบกเบ—เปเบฒเบญเบดเบ”เบชเบฐเบซเบ™เบญเบ‡เบชเบฒเบก replicas, เปเบฅเบฐเบ—เบตเบชเบญเบ‡เปเบกเปˆเบ™เบเปเบฒเบ™เบปเบ” 5.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ replicas, kubefed2 เบชเบฐเบซเบ™เบญเบ‡เบงเบฑเบ”เบ–เบธ ReplicaSchedulingPreference เปƒเปเปˆ เบšเปˆเบญเบ™เบ—เบตเปˆ replicas เบชเบฒเบกเบฒเบ”เบ™เป‰เปเบฒเบซเบ™เบฑเบเป„เบ”เป‰:

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 เบˆเบฒเบ เบšเบปเบ”เบ„เบงเบฒเบกเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบเปˆเบฝเบงเบเบฑเบš kubefed2 เปƒเบ™ blog เบเปˆเบฝเบงเบเบฑเบš Kubernetes เปเบฅเบฐเปƒเบ™ repository เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ kubefed.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบ 2: เบเบฒเบ™เบฅเบงเบกเบเบธเปˆเบกเบขเบนเปˆเปƒเบ™เปเบšเบš Booking.com

เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบญเบ‡ Booking.com เบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ kubefed v2, เปเบ•เปˆเบžเบงเบเป€เบ‚เบปเบฒเบกเบฒเบžเป‰เบญเบกเบเบฑเบš Shipper - เบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡เปƒเบ™เบซเบผเบฒเบเป†เบเบธเปˆเบก, เปƒเบ™เบซเบผเบฒเบเป†เบžเบฒเบเบžเบทเป‰เบ™เปเบฅเบฐเปƒเบ™เบซเบผเบฒเบเป† clouds.

เบœเบนเป‰เบ‚เบปเบ™เบชเบปเปˆเบ‡ เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบš kubefed2.

เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบฑเบ‡เบชเบญเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฑเบšเปเบ•เปˆเบ‡เบเบธเบ”เบ—เบฐเบชเบฒเบ”เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบซเบผเบฒเบเบเบธเปˆเบกเบ‚เบญเบ‡เบ—เปˆเบฒเบ™ (เบเบธเปˆเบกเปƒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปเบฅเบฐเบˆเปเบฒเบ™เบงเบ™ replicas เบ—เบตเปˆเบžเบงเบเป€เบ‚เบปเบฒเบกเบต).

เปเบ•เปˆเบงเปˆเบฒ เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ‚เบญเบ‡เบœเบนเป‰เบ‚เบปเบ™เบชเบปเปˆเบ‡เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบซเบผเบธเบ”เบœเปˆเบญเบ™เบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ‚เบญเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡.

เปƒเบ™ Shipper, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบŠเบธเบ”เบ‚เบญเบ‡เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡ replicas เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเปเบฅเบฐเบ›เบฐเบˆเบธเบšเบฑเบ™เปเบฅเบฐเบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ‚เบฒเป€เบ‚เบปเป‰เบฒ.

เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เบเบนเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เป„เบ›เบซเบฒเบเบธเปˆเบกเปƒเบ”เปœเบถเปˆเบ‡, เบ•เบปเบงเบ„เบงเบšเบ„เบธเบก Shipper เบ„เปˆเบญเบเป†เบญเบญเบเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ™เบฑเป‰เบ™เปƒเบ™เบ—เบปเปˆเบงเบเบธเปˆเบกเบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบ—เบฑเบ‡เปเบปเบ”.

เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, Shipper เปเบกเปˆเบ™เบˆเปเบฒเบเบฑเบ”เบซเบผเบฒเบ.

เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เบกเบฑเบ™เบเบญเบกเบฎเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบซเบกเบงเบเบเบฑเบ™เบเบฐเบ—เบปเบšเป€เบ›เบฑเบ™เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™ เปเบฅเบฐเบšเปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ vanilla.
เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, 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 เปเบฅเบฐเบ›เบฑเบ”เบŠเบฐเบเบฒเบ‚เบญเบ‡เบกเบฑเบ™เป„เบ”เป‰เบ—เบตเปˆ เบ–เบฐเปเบซเบผเบ‡เบ‚เปˆเบฒเบงเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบ™เบตเป‰.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบธเบ”เบ„เบปเป‰เบ™เบฅเบฐเบซเบฑเบ”, เป„เบ›เบซเบฒเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เป‚เบ„เบ‡เบเบฒเบ™เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบ 3: เบเบฒเบ™เบฅเบงเบกเบเบธเปˆเบก โ€œmagicโ€

Kubefed v2 เปเบฅเบฐ Shipper เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบชเบฐเบซเบฐเบžเบฑเบ™เบเบธเปˆเบก, เบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปƒเบซเบกเปˆเปƒเบซเป‰เปเบเปˆเบเบธเปˆเบกเป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบเปเบฒเบซเบ™เบปเบ”เป€เบญเบ‡.

เปเบ•เปˆเบˆเบฐเป€เบฎเบฑเบ”เปเบ™เบงเปƒเบ”เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบฝเบ™เบ„เบทเบ™เบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”, StatefulSets, DaemonSets, เปเบฅเบฐเบญเบทเปˆเบ™เป†.

เบงเบดเบ—เบตเบเบฒเบ™เบฅเบงเบกเป€เบญเบปเบฒเบเบธเปˆเบกเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเบขเบนเปˆเปƒเบ™เบชเบฐเบซเบฐเบžเบฑเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™ YAML?

multi-cluster-scheduler เปเบกเปˆเบ™เป‚เบ„เบ‡เบเบฒเบ™ Admirality, เป€เบŠเบดเปˆเบ‡เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒเบงเบฝเบเบขเบนเปˆเปƒเบ™เบเบธเปˆเบก.

เปเบ•เปˆเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบกเบตเบงเบดเบ—เบตเบเบฒเบ™เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบžเบปเบงเบžเบฑเบ™เบเบฑเบšเบเบธเปˆเบกเปเบฅเบฐเบซเปเปˆเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปƒเบ™เบ„เปเบฒเบ™เบดเบเบฒเบกเบ—เบตเปˆเบเปเบฒเบซเบ™เบปเบ”เป€เบญเบ‡, multi-cluster-scheduler เป„เบ”เป‰เบ–เบทเบเบเบฑเบ‡เบขเบนเปˆเปƒเบ™เบงเบปเบ‡เบˆเบญเบ™เบŠเบตเบงเบดเบ” Kubernetes เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เปเบฅเบฐเบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบเบฒเบ™เป‚เบ—เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบชเป‰เบฒเบ‡ pods.

เปเบ•เปˆเบฅเบฐเบเบฑเบเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบˆเบฐเบ–เบทเบเปเบ—เบ™เบ—เบตเปˆเบ—เบฑเบ™เบ—เบตเบ”เป‰เบงเบ dummy.

multi-cluster-scheduler เปƒเบŠเป‰ webhooks เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เบฑเบ”เปเบเป‰เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป€เบžเบทเปˆเบญเบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบเบฒเบ™เป‚เบ—เปเบฅเบฐเบชเป‰เบฒเบ‡เบเบฑเบ dummy เบ—เบตเปˆเบšเปเปˆเบกเบตเบ›เบฐเป‚เบซเบเบ”.

เบเบฑเบเบ•เบปเป‰เบ™เปเบกเปˆเบ™เบœเปˆเบฒเบ™เบงเบปเบ‡เบˆเบญเบ™เบเบฒเบ™เบงเบฒเบ‡เปเบœเบ™เบญเบตเบเบญเบฑเบ™เปœเบถเปˆเบ‡, เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบฅเบปเบ‡เบ„เบฐเปเบ™เบ™เบชเบฝเบ‡เบ‚เบญเบ‡เบชเบฐเบซเบฐเบžเบฑเบ™เบ—เบฑเบ‡เปเบปเบ”, เบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบšเบฑเบ™เบˆเบธเป€เบ‚เบปเป‰เบฒเบฎเบฝเบ™เปเบกเปˆเบ™เป€เบฎเบฑเบ”.

เบชเบธเบ”เบ—เป‰เบฒเบ, เบเบฑเบเบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเบเบธเปˆเบกเป€เบ›เบปเป‰เบฒเปเบฒเบ.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบกเบตเบเบฑเบเบžเบดเป€เบชเบ”เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบซเบเบฑเบ‡, เบžเบฝเบ‡เปเบ•เปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเป€เบ–เบดเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆ.

เบ›เบฐเป‚เบซเบเบ”เปเบกเปˆเบ™เบงเปˆเบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ‚เบฝเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบชเบปเบกเบ—เบปเบšเบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡.

เปเบ•เปˆเบฅเบฐเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบชเป‰เบฒเบ‡ pod เปเบกเปˆเบ™เบžเป‰เบญเบกเบ—เบตเปˆเบˆเบฐเบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.

เบ™เบตเป‰เปเบกเปˆเบ™เบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆ, เป€เบžเบฒเบฐเบงเปˆเบฒเปƒเบ™เบ—เบฑเบ™เบ—เบตเบ—เบฑเบ™เปƒเบ”เป€เบˆเบปเป‰เบฒเบกเบตเป€เบ„เบทเปˆเบญเบ‡เปƒเบŠเป‰เปเบˆเบเบขเบฒเบเบขเบนเปˆเบ—เบปเปˆเบงเบ—เบธเบเบ‚เบปเบ‡เป€เบ‚เบ”, เปเบฅเบฐเป€เบˆเบปเป‰เบฒเบšเปเปˆเป„เบ”เป‰เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบกเบตเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡, เป€เบžเบฒเบฐเบงเปˆเบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰ rests เบชเบธเบ” magic.

เปเบ•เปˆเปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ Shipper เบžเบฐเบเบฒเบเบฒเบกเบชเปˆเบงเบ™เบซเบผเบฒเบเปเบกเปˆเบ™เบซเบผเบธเบ”เบœเปˆเบญเบ™เบœเบปเบ™เบเบฐเบ—เบปเบšเบ‚เบญเบ‡เบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡, multi-cluster-scheduler เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เบ—เบปเปˆเบงเป„เบ›เบซเบผเบฒเบเบ‚เบถเป‰เบ™เปเบฅเบฐเบšเบฒเบ‡เบ—เบตเบญเบฒเบ”เป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบงเบฝเบ batch.

เบกเบฑเบ™เบšเปเปˆเบกเบตเบเบปเบ™เป„เบเบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡เป€เบ—เบทเปˆเบญเบฅเบฐเบเป‰เบฒเบงเบ—เบตเปˆเบเป‰เบฒเบงเบซเบ™เป‰เบฒ.

เบ‚เปเป‰เบกเบนเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบš multi-cluster-scheduler เบชเบฒเบกเบฒเบ”เบžเบปเบšเป„เบ”เป‰เบ—เบตเปˆ เบซเบ™เป‰เบฒ repository เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบญเปˆเบฒเบ™เบเปˆเบฝเบงเบเบฑเบš 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

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™