αž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž›αžΎαž—αžΆαž–αžšαžŸαŸ‹αžšαžœαžΎαž€αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αž’αžΆαž…αž˜αžΆαž“αž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹

αž…αŸ†αžŽαžΆαŸ†αŸ” αž”αž€αž”αŸ’αžšαŸ‚αŸ– αžœαž·αžŸαŸ’αžœαž€αžšαž“αžΆαŸ†αž˜αž»αžαž˜αž€αž–αžΈ Zalando αž›αŸ„αž€ Henning Jacobs αž”αžΆαž“αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžƒαžΎαž‰αž”αž‰αŸ’αž αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαž„αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Kubernetes αž€αŸ’αž“αž»αž„αž€αžΆαžšαž™αž›αŸ‹αžŠαžΉαž„αž’αŸ†αž–αžΈαž‚αŸ„αž›αž”αŸ†αžŽαž„αž“αŸƒαž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž—αžΆαž–αžšαžŸαŸ‹αžšαžœαžΎαž€ (αž“αž·αž„αž€αžΆαžšαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“) αž“αž·αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ” αž αŸαžαž»αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™ αž‚αžΆαžαŸ‹αž”αžΆαž“αž”αŸ’αžšαž˜αžΌαž›αž‚αŸ†αž“αž·αžαžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαžŠαŸαž˜αžΆαž“αžŸαž€αŸ’αžαžΆαž“αž»αž–αž›αž“αŸαŸ‡ αžŠαŸ‚αž›αž“αŸ…αž‘αžΈαž”αŸ†αž•αž»αžαž“αžΉαž„αž€αŸ’αž›αžΆαž™αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αž“αŸƒαž―αž€αžŸαžΆαžš K8s αŸ”

αž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž›αžΎαž—αžΆαž–αžšαžŸαŸ‹αžšαžœαžΎαž€αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αž’αžΆαž…αž˜αžΆαž“αž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹

αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αžŸαž»αžαž—αžΆαž– αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαžŸαŸ’αž‚αžΆαž›αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αž‡αžΆ αž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž‡αžΈαžœαž·αž (ឧ. αž–αŸ’αž™αž‰αŸ’αž‡αž“αŸˆ "αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž›αž‘αŸ’αž’αž—αžΆαž–αž‡αŸ„αž‚αž‡αŸαž™" - αž”αŸ’αžšαž αŸ‚αž›αž”αž€αž”αŸ’αžšαŸ‚αŸ” ), αž’αžΆαž…β€‹αž˜αžΆαž“β€‹αž‚αŸ’αžšαŸ„αŸ‡β€‹αžαŸ’αž“αžΆαž€αŸ‹β€‹αžαŸ’αž›αžΆαŸ†αž„β€‹αžŽαžΆαžŸαŸ‹β€‹αŸ” αžαŸ’αž‰αž»αŸ†αžŸαžΌαž˜αžŽαŸ‚αž“αžΆαŸ†αž±αŸ’αž™αž‡αŸ€αžŸαžœαžΆαž„αž–αž½αž€αžœαžΆαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αŸ– αž€αžšαžŽαžΈαž›αžΎαž€αž›αŸ‚αž„αžαŸ‚αž˜αž½αž™αž‚αžαŸ‹αž‚αžΊαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž–αž½αž€αž‚αŸαž–αž·αžαž‡αžΆαž…αžΆαŸ†αž”αžΆαž…αŸ‹ αž αžΎαž™αž’αŸ’αž“αž€αžŠαžΉαž„αž…αŸ’αž”αžΆαžŸαŸ‹αž’αŸ†αž–αžΈαž—αžΆαž–αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹ αž“αž·αž„αž•αž›αžœαž·αž”αžΆαž€αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžšαž”αžŸαŸ‹αžœαžΆαŸ” αž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž—αž•αŸ’αžŸαžΆαž™αž“αŸαŸ‡αž“αžΉαž„αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž—αžΆαž–αžšαžŸαŸ‹αžšαžœαžΎαž€ αž“αž·αž„αž€αžΆαžšαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“ αž αžΎαž™αž“αžΉαž„αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž•αž„αžŠαŸ‚αžšαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžŽαžΆ αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαžœαžΆ αž αžΎαž™αž’αŸ’αž“αž€αž˜αž·αž“αž‚αž½αžšαž”αŸ’αžšαžΎαžœαžΆαž‘αŸαŸ”

αžŸαž αžŸαŸαžœαž·αž€αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† Sandor αžαŸ’αž˜αžΈαŸ—αž“αŸαŸ‡αž”αžΆαž“αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž“αŸ…αž›αžΎ Twitter αž“αžΌαžœαž€αŸ†αž αž»αžŸαž‘αžΌαž‘αŸ…αž”αŸ†αž•αž»αžαžŠαŸ‚αž›αž‚αžΆαžαŸ‹αž”αžΆαž“αž‡αž½αž”αž”αŸ’αžšαž‘αŸ‡ αžšαž½αž˜αž‘αžΆαŸ†αž„αž”αž‰αŸ’αž αžΆαž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž€αžΆαžšαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“/αžšαžŸαŸ‹αžšαžΆαž“αž˜αžΆαž“αž‡αžΈαžœαž·αžαŸ–

αž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž›αžΎαž—αžΆαž–αžšαžŸαŸ‹αžšαžœαžΎαž€αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αž’αžΆαž…αž˜αžΆαž“αž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹

αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ livenessProbe αž’αžΆαž…αž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž•αŸ’αž‘αž»αž€αž”αž“αŸ’αž‘αž»αž€αžαŸ’αž–αžŸαŸ‹αž€αžΆαž“αŸ‹αžαŸ‚αž’αŸ’αž„αž“αŸ‹αž’αŸ’αž„αžš (αž€αžΆαžšαž”αž·αž‘αž”αžΆαž›αŸ‹αž–αŸ’αžšαž·αž› + αž’αž»αž„αž•αŸ’αž‘αž»αž€ / αž–αŸαž›αžœαŸαž›αžΆαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž™αžΌαžšαžŠαŸ‚αž›αž˜αžΆαž“αžŸαž€αŸ’αžαžΆαž“αž»αž–αž›) αž“αž·αž„αž“αžΆαŸ†αž‘αŸ…αžšαž€αž•αž›αžœαž·αž”αžΆαž€αž’αžœαž·αž‡αŸ’αž‡αž˜αžΆαž“αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž’αŸ’αž›αžΆαž€αŸ‹αž…αž»αŸ‡αž“αŸƒαž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αŸ” (αžŸαžΌαž˜β€‹αž˜αžΎαž›β€‹αž•αž„β€‹αžŠαŸ‚αžš αž’αžαŸ’αžαž”αž‘αžαŸ’αž˜αžΈαŸ—αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† αž’αŸ†αž–αžΈαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž…αŸ†αž“αž½αž“αžŸαŸ†αžŽαžΎαž€αŸ’αž“αž»αž„αž”αž“αŸ’αžŸαŸ† K3s+ACME). αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž’αžΆαž€αŸ’αžšαž€αŸ‹αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž‡αžΈαžœαž·αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžŸαŸ†αž‡αžΆαž˜αž½αž™αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αžŸαž»αžαž—αžΆαž– αžŠαŸ‚αž›αž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαžΆαž„αž€αŸ’αžšαŸ…αŸ– αž€αžΆαžšαž”αžšαžΆαž‡αŸαž™ DB αžαŸ‚αž˜αž½αž™αž“αžΉαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αž»αž„αžαžΊαž“αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αžΎαž„αžœαž·αž‰!

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

αž…αŸ†αžŽαžΆαŸ†αŸ– αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžαžΆαž„αž€αŸ’αž“αž»αž„αžšαž”αžŸαŸ‹ Zalando αŸ”

αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž€αžΆαžšαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“ αž“αž·αž„αž€αžΆαžšαžšαžŸαŸ‹αž“αŸ…

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

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

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

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

αž§αž‘αžΆαž αžšαžŽαŸ:

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž€αžΆαžšαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“αžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž•αŸ’αž›αžΌαžœαž˜αž½αž™αŸ” /health αžαžΆαž˜αžšαž™αŸˆ HTTP αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ (αž…αž“αŸ’αž›αŸ„αŸ‡αž–αŸαž›: 10 αžœαž·αž“αžΆαž‘αžΈ, αž’αžŸαŸ‹β€‹αž–αŸαž›: 1 αžœαž·αž“αžΆαž‘αžΈ, αž€αž˜αŸ’αžšαž·αžαž‡αŸ„αž‚αž‡αŸαž™: 1, αž€αž˜αŸ’αžšαž·αžαž“αŸƒαž€αžΆαžšαž”αžšαžΆαž‡αŸαž™: 3):

# Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π³ΠΎ описания deployment'Π°/стСка
podTemplate:
  spec:
    containers:
    - name: my-container
      # ...
      readinessProbe:
        httpGet:
          path: /health
          port: 8080

αž’αž“αž»αžŸαžΆαžŸαž“αŸ

  1. αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸαžœαžΆαž˜αžΈαž€αŸ’αžšαžΌαžŠαŸ‚αž›αž˜αžΆαž“αž…αŸ†αžŽαž»αž…αž”αž‰αŸ’αž…αž”αŸ‹ HTTP (REST αŸ”αž›αŸ”) αžαŸ‚αž„αžαŸ‚αž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž€αžΆαžšαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“αžŠαŸ‚αž›αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαžαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ (pod) αžšαž½αž…αžšαžΆαž›αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž™αž€αž…αžšαžΆαž…αžšαžŽαŸαž¬αž’αžαŸ‹αŸ”
  2. αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆαž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž€αžΆαžšαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“ αž‚αŸ’αžšαž”αžŠαžŽαŸ’αžαž”αŸ‹αž—αžΆαž–αž’αžΆαž…αžšαž€αž”αžΆαž“αž“αŸƒαž…αŸ’αžšαž€αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‚αŸαž αž‘αŸ†αž–αŸαžšαž–αž·αžαž”αŸ’αžšαžΆαž€αžŠ:
    • αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž…αŸ’αžšαž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸ„αž›αž”αŸ†αžŽαž„αžšαžŠαŸ’αž‹αž”αžΆαž› αž αŸ…αžαžΆ "αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„" ឬ "αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„" (αž§αž‘αžΆαž αžšαžŽαŸ 9090) αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ readinessProbeαžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆαž…αŸ†αžŽαž»αž…αž”αž‰αŸ’αž…αž”αŸ‹αž“αžΉαž„αžαŸ’αžšαž‘αž”αŸ‹αžαŸ‚αž™αž›αŸ‹αž–αŸ’αžšαž˜ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž…αŸ’αžšαž€ HTTP αž…αž˜αŸ’αž”αž„ (αžŠαžΌαž…αž‡αžΆ 8080) αžšαž½αž…αžšαžΆαž›αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž™αž€αž…αžšαžΆαž…αžšαžŽαŸ*;

      * αžαŸ’αž‰αž»αŸ†αžŠαžΉαž„αž–αžΈαž€αžšαžŽαžΈαž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αž˜αž½αž™αž“αŸ… Zalando αžŠαŸ‚αž›αžšαžΏαž„αž“αŸαŸ‡αž˜αž·αž“αž”αžΆαž“αž€αžΎαžαž‘αžΎαž„ αž–αŸ„αž›αž‚αžΊαž§αŸ” readinessProbe αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™αž…αŸ’αžšαž€ "αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„" αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαŸ’αž›αž½αž“αž―αž„αž˜αž·αž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸ αžŠαŸ„αž™αžŸαžΆαžšαž”αž‰αŸ’αž αžΆαž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αž‘αž»αž€αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αŸ”

    • αž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž€αžΆαžšαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“αž‘αŸ…αž…αŸ’αžšαž€αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž’αžΆαž…αž“αžΆαŸ†αž±αŸ’αž™αž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž›αžΎαžŸαž‘αž˜αŸ’αž„αž“αŸ‹αž“αŸ…αž›αžΎαž…αŸ’αžšαž€αžŸαŸ†αžαžΆαž“αŸ‹αž“αžΉαž„αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž†αŸ’αž›αž»αŸ‡αž”αž‰αŸ’αž…αžΆαŸ†αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αžŸαž»αžαž—αžΆαž– (αž“αŸ„αŸ‡αž‚αžΊαžαžΆαž”αžŽαŸ’αžαž»αŸ†αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž–αŸαž‰αž αžΎαž™ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αžŸαž»αžαž—αžΆαž–αž“αŸ…αžαŸ‚αž”αž„αŸ’αž αžΆαž‰αžαžΆαž’αŸ’αžœαžΈαŸ—αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž˜αž·αž“αž’αžΈαž‘αŸ )
  3. αž’αŸ’αžœαžΎβ€‹αž±αŸ’αž™β€‹αž”αŸ’αžšαžΆαž€αžŠβ€‹αžαžΆ αž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž€αžΆαžšαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜/αž€αžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™;
    • αž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž”αŸ†αž•αž»αžαžŠαžΎαž˜αŸ’αž”αžΈαžŸαž˜αŸ’αžšαŸαž…αž”αžΆαž“αž“αŸαŸ‡αž‚αžΊαž‘αžΆαž€αŸ‹αž‘αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ HTTP αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹ (αž§αž‘αžΆαž αžšαžŽαŸ αž€αžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈ αž•αŸ’αž›αžΌαžœαž αŸ„αŸ‡αž αžΎαžš αž›β€‹αž›αŸ”); αž“αŸ„αŸ‡αž‚αžΊαž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŸαŸ’αžαžΆαž“αž—αžΆαž–αž–αž·αž“αž·αžαŸ’αž™αžŸαž»αžαž—αžΆαž– αžŸαžΌαž˜αž€αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‚αŸαž αž‘αŸ†αž–αŸαžš αžšαž αžΌαžαžŠαž›αŸ‹αž€αžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹*αŸ”

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

  4. αž”αŸ’αžšαžΎ httpGet αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž€αžΆαžšαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“αžαžΆαž˜αžšαž™αŸˆαž…αŸ†αžŽαž»αž…αž”αž‰αŸ’αž…αž”αŸ‹αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αžŸαž»αžαž—αžΆαž–αž’αž˜αŸ’αž˜αžαžΆ (αž§αž‘αžΆαž αžšαžŽαŸ /health).
  5. αžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹αž–αžΈαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž–αž·αž“αž·αžαŸ’αž™αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ (interval: 10s, timeout: 1s, successThreshold: 1, failureThreshold: 3):
    • αž‡αž˜αŸ’αžšαžΎαžŸαž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž˜αžΆαž“αž“αŸαž™αžαžΆ pod αž“αžΉαž„αž€αŸ’αž›αžΆαž™αž‡αžΆ αž˜αž·αž“αž‘αžΆαž“αŸ‹β€‹αžšαž½αž…αžšαžΆαž›αŸ‹ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž”αŸ’αžšαž αŸ‚αž› 30 αžœαž·αž“αžΆαž‘αžΈ (αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž’αž“αžΆαž˜αŸαž™αž˜αž·αž“αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αŸ†αž“αž½αž“ 3) αŸ”
  6. αž”αŸ’αžšαžΎαž…αŸ’αžšαž€αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ "αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„" ឬ "αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„" αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‡αž„αŸ‹αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆ (ឧ. Java/Spring) αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžœαžΆαž”αŸ†αž”αŸ‚αž€αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŸαž»αžαž—αžΆαž– αž“αž·αž„αž˜αŸ‰αŸ‚αžαŸ’αžšαž–αžΈαž…αžšαžΆαž…αžšαžŽαŸαž’αž˜αŸ’αž˜αžαžΆαŸ–
    • αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αž»αŸ†αž—αŸ’αž›αŸαž…αž…αŸ†αžŽαž»αž… 2 αŸ”
  7. αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž…αžΆαŸ†αž”αžΆαž…αŸ‹ αž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž€αžΆαžšαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŠαŸ…αž‘αžΎαž„/αž•αŸ’αž‘αž»αž€αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž αžΎαž™αžαŸ’αžšαž‘αž”αŸ‹αž›αŸαžαž€αžΌαžŠαžŸαŸ’αžαžΆαž“αž—αžΆαž– 503 αžšαž αžΌαžαžŠαž›αŸ‹αž€αž»αž„αžαžΊαž“αŸαžšαž€αŸ’αžαŸ…αž‘αžΎαž„αŸ–

αžŠαžΆαžŸαŸ‹αžαžΏαž“

  1. αž€αž»αŸ†αž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αž›αžΎαž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αžαžΆαž„αž€αŸ’αžšαŸ… (αžŠαžΌαž…αž‡αžΆαžƒαŸ’αž›αžΆαŸ†αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™) αž“αŸ…αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“/αž€αžΆαžšαžšαžŸαŸ‹αž“αŸ… - αž“αŸαŸ‡αž’αžΆαž…αž“αžΆαŸ†αž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž”αžšαžΆαž‡αŸαž™αž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αŸ–
    • αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αž…αžΌαžšαž™αžΎαž„αž™αž€αžŸαŸαžœαžΆ REST αžšαžŠαŸ’αž‹αžŠαŸ‚αž›αž˜αžΆαž“ 10 pods αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ Postgres αž˜αž½αž™αŸ– αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸ… DB αž“αŸ„αŸ‡ pods αž‘αžΆαŸ†αž„ 10 αž’αžΆαž…αž“αžΉαž„αž”αžšαžΆαž‡αŸαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αžΆαž“αž€αžΆαžšαž–αž“αŸ’αž™αžΆαž–αŸαž›αž“αŸ…αž›αžΎαž”αžŽαŸ’αžαžΆαž‰/DB - αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαžœαžΆ αž…αž»αž„αž”αž‰αŸ’αž…αž”αŸ‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž’αžΆαž€αŸ’αžšαž€αŸ‹αž‡αžΆαž„αžœαžΆαž’αžΆαž…αž‘αŸ…αžšαž½αž…;
    • αžŸαžΌαž˜αž…αŸ†αžŽαžΆαŸ†αžαžΆ Spring Data αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜*;

      * αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž₯αžšαž·αž™αžΆαž”αž‘αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αžšαž”αžŸαŸ‹ Spring Data Redis (αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αžœαžΆαž‡αžΆαž–αŸαž›αž…αž»αž„αž€αŸ’αžšαŸ„αž™αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™) αžŠαŸ‚αž›αž“αžΆαŸ†αž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž”αžšαžΆαž‡αŸαž™ "αž˜αž αž“αŸ’αžαžšαžΆαž™"αŸ– αž“αŸ…αž–αŸαž›αžŠαŸ‚αž› Redis αž˜αž·αž“αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αžαŸ’αž›αžΈ αž•αžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹ "αž‚αžΆαŸ†αž„" αŸ”

    • "αžαžΆαž„αž€αŸ’αžšαŸ…" αž€αŸ’αž“αž»αž„αž“αŸαž™αž“αŸαŸ‡αž€αŸαž’αžΆαž…αž˜αžΆαž“αž“αŸαž™αžαžΆ pods αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαžΌαž…αž‚αŸ’αž“αžΆ αž“αŸ„αŸ‡αž‚αžΊαž‡αžΆ, αžαžΆαž˜αž§αžαŸ’αžŠαž˜αž‚αžαž·αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž˜αž·αž“αž‚αž½αžšαž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸƒ pods αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αŸƒ cluster αžŠαžΌαž…αž‚αŸ’αž“αžΆαžŠαžΎαž˜αŸ’αž”αžΈαž€αžΆαžšαž–αžΆαžšαž€αžΆαžšαž’αŸ’αž›αžΆαž€αŸ‹ cascading:
      • αž›αž‘αŸ’αž’αž•αž›αž’αžΆαž…αž”αŸ’αžšαŸ‚αž”αŸ’αžšαž½αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž…αŸ‚αž€αž…αžΆαž™ (αž§αž‘αžΆαž αžšαžŽαŸ αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž€αŸ’αž“αž»αž„αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž€αŸ’αž“αž»αž„αž•αž)αŸ”
  2. αž€αž»αŸ†αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαžŸαŸ’αž‘αž„αŸ‹αž‡αžΈαžœαž·αž αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ pods (αž€αžšαžŽαžΈαž›αžΎαž€αž›αŸ‚αž„αž‚αžΊαž‡αžΆαž€αžšαžŽαžΈαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž–αž½αž€αž‚αŸαž–αž·αžαž‡αžΆαž…αžΆαŸ†αž”αžΆαž…αŸ‹ αž αžΎαž™αž’αŸ’αž“αž€αžŠαžΉαž„αž…αŸ’αž”αžΆαžŸαŸ‹αž’αŸ†αž–αžΈαž—αžΆαž–αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹ αž“αž·αž„αž•αž›αžœαž·αž”αžΆαž€αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ)αŸ–
    • αž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž—αžΆαž–αžšαžŸαŸ‹αžšαžœαžΎαž€αž’αžΆαž…αž‡αž½αž™αžŸαŸ’αžŠαžΆαžšαž’αž»αž„αžŠαŸ‚αž›αž–αŸ’αž™αž½αžšαž”αžΆαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŠαŸ„αž™αžŸαžΆαžšαž’αŸ’αž“αž€αž˜αžΆαž“αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž–αŸαž‰αž›αŸαž‰αž›αžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž’αŸ’αžœαžΈαŸ—αžŠαžΌαž…αž‡αžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αŸ’αž™αž½αžš αž“αž·αž„αž€αžΆαžšαž‡αžΆαž”αŸ‹αž‚αžΆαŸ†αž„αž˜αž·αž“αž‚αž½αžšαž€αžΎαžαž‘αžΎαž„αžαžΆαž˜αž§αžαŸ’αžŠαž˜αž‚αžαž·αž‘αŸαŸ– αž‡αž˜αŸ’αžšαžΎαžŸαžŠαŸαž›αŸ’αž’αž”αŸ†αž•αž»αžαž‚αžΊαž€αžΆαžšαž‚αžΆαŸ†αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ„αž™αž…αŸαžαž“αžΆ αž αžΎαž™αž“αžΆαŸ†αžœαžΆαžαŸ’αžšαž‘αž”αŸ‹αž‘αŸ…αžŸαž—αžΆαž–αžŠαžΎαž˜αžœαž·αž‰αŸ”
    • αž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž—αžΆαž–αžšαžŸαŸ‹αžšαžœαžΎαž€αžŠαŸ‚αž›αž”αžšαžΆαž‡αŸαž™αž“αžΉαž„αž’αŸ’αžœαžΎαž±αŸ’αž™αž€αž»αž„αžαžΊαž“αŸαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΎαž„αžœαž·αž‰ αžŠαŸ„αž™αž αŸαžαž»αž“αŸαŸ‡αž’αžΆαž…αž’αŸ’αžœαžΎαž±αŸ’αž™αž•αž›αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αž“αŸƒαž€αŸ†αž αž»αžŸαžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž‘αžΎαž„αžœαž·αž‰αž˜αžΆαž“αžŸαž€αŸ’αžαžΆαž“αž»αž–αž›αŸ– αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž€αž»αž„αžαžΊαž“αŸαžšαž‘αžΎαž„αžœαž·αž‰αž“αžΉαž„αž“αžΆαŸ†αž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž•αŸ’αž’αžΆαž€ (αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž™αŸˆαž–αŸαž›αž“αŸƒαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž“αž·αž™αžΆαž™αžαžΆ 30+ αžœαž·αž“αžΆαž‘αžΈ) αž”αžŽαŸ’αžαžΆαž›αž±αŸ’αž™αž˜αžΆαž“αž€αŸ†αž αž»αžŸαžαŸ’αž˜αžΈ αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž“αŸ…αž›αžΎαž’αž»αž„αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αž·αž„αž”αž„αŸ’αž€αžΎαž“αž›αž‘αŸ’αž’αž—αžΆαž–αž“αŸƒαž€αžΆαžšαž”αžšαžΆαž‡αŸαž™αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ, αž›αŸ”
    • αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž—αžΆαž–αžšαžŸαŸ‹αžšαžœαžΎαž€αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ…αž‚αžΊαž‡αžΆαž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαžŠαŸαž’αžΆαž€αŸ’αžšαž€αŸ‹αž”αŸ†αž•αž»αžαžŠαŸ‚αž›αž’αžΆαž…αž‚αŸ†αžšαžΆαž˜αž€αŸ†αž αŸ‚αž„αžŠαž›αŸ‹αž€αžΆαžšαž”αžšαžΆαž‡αŸαž™αž‡αžΆαž›αŸ†αŸ—αŸ– αž€αžΆαžšαž–αž“αŸ’αž™αžΆαžšαž–αŸαž›αž”αž“αŸ’αžαž·αž…αž“αŸ…αž›αžΎαž•αŸ’αž“αŸ‚αž€αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αžΉαž„αž“αžΆαŸ†αž‘αŸ…αžŠαž›αŸ‹αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž’αž»αž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‘αžΎαž„αžœαž·αž‰!
  3. αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž“αŸƒαž—αžΆαž–αžšαžŸαŸ‹αžšαžœαžΎαž€αž“αž·αž„αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž€αžΆαžšαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“ αžαŸ’αžšαžΌαžœαžαŸ‚αžαž»αžŸαž‚αŸ’αž“αžΆ:
    • αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαž€αžΆαžšαžŸαŸ’αž‘αž„αŸ‹αž˜αžΎαž›αž—αžΆαž–αžšαžŸαŸ‹αžšαžœαžΎαž€αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžŸαž»αžαž—αžΆαž–αžŠαžΌαž…αž‚αŸ’αž“αžΆ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αž˜αŸ’αžšαž·αžαž†αŸ’αž›αžΎαž™αžαž”αžαŸ’αž–αžŸαŸ‹αž‡αžΆαž„ (failureThresholdαž§αž‘αžΆαž αžšαžŽαŸ αž€αŸ†αžŽαžαŸ‹αžŸαŸ’αžαžΆαž“αž—αžΆαž– αž˜αž·αž“αž‘αžΆαž“αŸ‹β€‹αžšαž½αž…αžšαžΆαž›αŸ‹ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž”αŸ‰αž»αž“αž”αŸ‰αž„ 3 αžŠαž„αž αžΎαž™αž–αž·αž…αžΆαžšαžŽαžΆαžαžΆαž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαžšαžŸαŸ‹αž”αžΆαž“αž”αžšαžΆαž‡αŸαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž”αŸ‰αž»αž“αž”αŸ‰αž„ 10;
  4. αž€αž»αŸ†αž”αŸ’αžšαžΎαž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™ execαž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž–αž½αž€αž‚αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžŸαžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αž‰αŸ’αž αžΆαžŠαŸ‚αž›αž‚αŸαžŸαŸ’αž‚αžΆαž›αŸ‹αžŠαŸ‚αž›αž“αžΆαŸ†αž±αŸ’αž™αž˜αžΆαž“αžšαžΌαž”αžšαžΆαž„αž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš zombie:

αžŸαž„αŸ’αžαŸαž”

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

αž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž›αžΎαž—αžΆαž–αžšαžŸαŸ‹αžšαžœαžΎαž€αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αž’αžΆαž…αž˜αžΆαž“αž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹

αžŸαž˜αŸ’αž—αžΆαžšαŸˆαž”αž“αŸ’αžαŸ‚αž˜αž›αžΎαž”αŸ’αžšαž’αžΆαž“αž”αž‘

αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž›αŸαž 1 αž–αžΈ 2019-09-29

αž’αŸ†αž–αžΈαž€αž»αž„αžαžΊαž“αŸαžš init αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ– αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž›αŸαžαž™αŸ„αž„αŸ”

EJ αž”αžΆαž“αžšαŸ†αž›αžΉαž€αžαŸ’αž‰αž»αŸ† αž’αŸ†αž–αžΈ PDBαŸ– αž”αž‰αŸ’αž αžΆαž˜αž½αž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž‡αžΈαžœαž·αžαž‚αžΊαž€αž„αŸ’αžœαŸ‡αž€αžΆαžšαžŸαž˜αŸ’αžšαž”αžŸαž˜αŸ’αžšαž½αž›αžšαžœαžΆαž„αž•αžαŸ” Kubernetes αž˜αžΆαž“ Pod Disruption Budgets (PDB) αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž…αŸ†αž“αž½αž“αž“αŸƒαž€αžΆαžšαž”αžšαžΆαž‡αŸαž™αž€αŸ’αž“αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αžΆαž…αž‡αž½αž”αž”αŸ’αžšαž‘αŸ‡ αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž˜αž·αž“αž‚αž·αžαž–αžΈ PDB αž‘αŸαŸ” αžαžΆαž˜αž§αžαŸ’αžŠαž˜αž‚αžαž· αž™αžΎαž„αž’αžΆαž…αž”αŸ’αžšαžΆαž”αŸ‹ K8s αž±αŸ’αž™ "αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž•αžαž˜αž½αž™αž‘αžΎαž„αžœαž·αž‰ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžšαž”αžŸαŸ‹αžœαžΆαž”αžšαžΆαž‡αŸαž™ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž–αž½αž€αžœαžΆαž‘αžΎαž„αžœαž·αž‰αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αžŠαžΎαž˜αŸ’αž”αžΈαž…αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αž’αŸ’αžœαžΈαŸ—αž€αžΆαž“αŸ‹αžαŸ‚αž’αžΆαž€αŸ’αžšαž€αŸ‹αŸ”"

Bryan αžŠαžΆαž€αŸ‹αžœαžΆαž™αŸ‰αžΆαž„αž›αŸ’αž’αž₯αžαžαŸ’αž…αŸ„αŸ‡αŸ– β€œαž”αŸ’αžšαžΎαž€αžΆαžšαžŸαŸ’αž‘αž„αŸ‹αž˜αžΎαž›αž—αžΆαž–αžšαžŸαŸ‹αžšαžœαžΎαž€ αž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αžŠαžΉαž„αž…αŸ’αž”αžΆαžŸαŸ‹αž–αžΈαž’αŸ’αžœαžΈ αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž›αŸ’αž’αž”αŸ†αž•αž»αžαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž‚αžΊαžŸαž˜αŸ’αž›αžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ"(αž˜αŸ’αžαž„αž‘αŸ€αž αž€αž»αŸ†αž™αž€αžœαžΆαž‘αŸ…)αŸ”

αž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž›αžΎαž—αžΆαž–αžšαžŸαŸ‹αžšαžœαžΎαž€αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αž’αžΆαž…αž˜αžΆαž“αž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹

αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž›αŸαž 2 αž–αžΈ 2019-09-29

αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž€αžΆαžšαž’αžΆαž“αž―αž€αžŸαžΆαžšαž˜αž»αž“αž–αŸαž›αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ– αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžŸαŸ†αžŽαžΎαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆ (αžŸαŸ†αžŽαžΎαžšαž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸ) αžŠαžΎαž˜αŸ’αž”αžΈαž”αž“αŸ’αžαŸ‚αž˜αž―αž€αžŸαžΆαžšαž’αŸ†αž–αžΈαž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž‡αžΈαžœαž·αžαŸ”

PS αž–αžΈαž’αŸ’αž“αž€αž”αž€αž”αŸ’αžšαŸ‚

αžŸαžΌαž˜αž’αžΆαž“αž•αž„αžŠαŸ‚αžšαž“αŸ…αž›αžΎαž”αŸ’αž›αž€αŸ‹αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ–

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

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