αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ† Helm 3

αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ† Helm 3

αž…αŸ†αžŽαžΆαŸ†αŸ” αž”αž€αž”αŸ’αžšαŸ‚αŸ– αžαŸ’αž„αŸƒαž‘αžΈ 16 αžαŸ‚αž§αžŸαž—αžΆ αž†αŸ’αž“αžΆαŸ†αž“αŸαŸ‡ αž‚αžΊαž‡αžΆαž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αž˜αž½αž™αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž‰αŸ’αž…αž”αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Kubernetes - Helm αŸ” αž“αŸ…αžαŸ’αž„αŸƒαž“αŸαŸ‡ αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž’αžΆαž›αŸ‹αž αŸ’αžœαžΆαžŠαŸ†αž”αžΌαž„αž“αŸƒαž€αŸ†αžŽαŸ‚αžŸαŸ†αžαžΆαž“αŸ‹αž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αžαž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„ - 3.0 - αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αŸ” αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžšαž”αžŸαŸ‹αžœαžΆαž“αžΉαž„αž“αžΆαŸ†αž˜αž€αž“αžΌαžœαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹ αž“αž·αž„αžšαž„αŸ‹αž…αžΆαŸ†αž‡αžΆαž™αžΌαžšαž˜αž€αž αžΎαž™αž…αŸ†αž–αŸ„αŸ‡ Helm αžŠαŸ‚αž›αž˜αž“αž»αžŸαŸ’αžŸαž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαž αž‚αž˜αž“αŸ Kubernetes αž˜αžΆαž“αž€αŸ’αžαžΈαžŸαž„αŸ’αžƒαžΉαž˜αžαŸ’αž–αžŸαŸ‹αŸ” αžαŸ’αž›αž½αž“αž™αžΎαž„αž‡αžΆαž˜αž“αž»αžŸαŸ’αžŸαž˜αŸ’αž“αžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž’αŸ’αž“αž€αž‘αžΆαŸ†αž„αž“αŸαŸ‡ αžŠαŸ„αž™αžŸαžΆαžšαž™αžΎαž„αž”αŸ’αžšαžΎ Helm αž™αŸ‰αžΆαž„αžŸαž€αž˜αŸ’αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ– αž™αžΎαž„αž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αžœαžΆαž‘αŸ…αž€αŸ’αž“αž»αž„αž§αž”αž€αžšαžŽαŸαžšαž”αžŸαŸ‹αž™αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž CI/CD werf αž αžΎαž™αž–αžΈαž–αŸαž›αž˜αž½αž™αž‘αŸ…αž–αŸαž›αž˜αž½αž™ αž™αžΎαž„αž’αŸ’αžœαžΎαž€αžΆαžšαžšαž½αž˜αž…αŸ†αžŽαŸ‚αž€αžšαž”αžŸαŸ‹αž™αžΎαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž‘αžΉαž€αž‘αž“αŸ’αž›αŸαŸ” αž€αžΆαžšαž”αž€αž”αŸ’αžšαŸ‚αž“αŸαŸ‡αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αžΌαžœαž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αž…αŸ†αž“αž½αž“ 7 αž–αžΈαž”αŸ’αž›αž»αž€αž•αŸ’αž›αžΌαžœαž€αžΆαžšαžšαž”αžŸαŸ‹ Helm αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž§αž‘αŸ’αž‘αž·αžŸαžŠαž›αŸ‹αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž’αžΆαž›αŸ‹αž αŸ’αžœαžΆαžŠαŸ†αž”αžΌαž„αž“αŸƒ Helm 3 αž αžΎαž™αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„ αž“αž·αž„αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαžŸαŸ†αžαžΆαž“αŸ‹αŸ—αžšαž”αžŸαŸ‹ Helm 3αŸ” αž’αŸ’αž“αž€αž“αž·αž–αž“αŸ’αž’αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž‚αžΊ Matt β€œbacongobbler” Fisher αžŠαŸ‚αž›αž‡αžΆαž”αž»αž‚αŸ’αž‚αž›αž·αž€αžšαž”αžŸαŸ‹ Microsoft αž“αž·αž„αž’αŸ’αž“αž€αžαŸ‚αžšαž€αŸ’αžŸαžΆαžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αž˜αŸ’αž“αžΆαž€αŸ‹αžšαž”αžŸαŸ‹ Helm αŸ”

αž“αŸ…αžαŸ’αž„αŸƒαž‘αžΈ 15 αžαŸ‚αžαž»αž›αžΆ αž†αŸ’αž“αžΆαŸ† 2015 αž‚αž˜αŸ’αžšαŸ„αž„αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαžŸαŸ’αž‚αžΆαž›αŸ‹αžαžΆαž‡αžΆ Helm αž”αžΆαž“αž€αžΎαžαŸ” αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž˜αž½αž™αž†αŸ’αž“αžΆαŸ†αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžšαž”αžŸαŸ‹αžαŸ’αž›αž½αž“ αžŸαž αž‚αž˜αž“αŸ Helm αž”αžΆαž“αž…αžΌαž›αžšαž½αž˜αž‡αžΆαž˜αž½αž™ Kubernetes αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž™αŸ‰αžΆαž„αžŸαž€αž˜αŸ’αž˜αž“αŸ…αž›αžΎ Helm 2 αŸ” αž“αŸ…αžαŸ‚αž˜αž·αžαž»αž“αžΆ αž†αŸ’αž“αžΆαŸ† 2018 Helm αž”αžΆαž“αž…αžΌαž›αžšαž½αž˜αž‡αžΆαž˜αž½αž™ CNCF αž‡αžΆβ€‹αž‚αž˜αŸ’αžšαŸ„αž„β€‹αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ (β€‹αž”αž„αŸ’αž€αžΎαžβ€‹) αŸ” αž†αŸ’αž–αŸ„αŸ‡αž‘αŸ…αž˜αž»αžαž™αŸ‰αžΆαž„αž›αžΏαž“αž‘αŸ…αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ αž αžΎαž™αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž’αžΆαž›αŸ‹αž αŸ’αžœαžΆαžŠαŸ†αž”αžΌαž„αž“αŸƒ Helm 3 αžαŸ’αž˜αžΈαž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž αžΎαž™αŸ” (αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸαŸ‡αŸ” αž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αžšαž½αž…αž αžΎαž™ αž“αŸ…αž–αžΆαž€αŸ‹αž€αžŽαŸ’αžαžΆαž›αžαŸ‚αž§αžŸαž—αžΆ - αž”αŸ’αžšαž αŸ‚αž›αŸ” αž”αž€αž”αŸ’αžšαŸ‚αŸ” ).

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

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

  • αž”αŸ’αžšαžœαžαŸ’αžαž·αžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž Helm;
  • αž€αžΆαžšαž›αžΆαž‚αŸ’αž“αžΆαžŠαŸαž‘αž“αŸ‹αž—αŸ’αž›αž“αŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹ Tiller;
  • αžƒαŸ’αž›αžΆαŸ†αž„αž‚αŸ†αž“αžΌαžŸαžαžΆαž„;
  • αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™;
  • αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αž‚αŸ†αž“αžΌαžŸαžαžΆαž„;
  • αžαžΆαžšαžΆαž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™;
  • αž˜αžΆαž“β€‹αž’αŸ’αžœαžΈβ€‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹?

αž”αŸ’αžšαžœαžαŸ’αžαž·αžŸαžΆαžŸαŸ’αžšαŸ’αžαžšαž”αžŸαŸ‹ Helm

αž€αŸ†αžŽαžΎαž

Helm 1 αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž‚αž˜αŸ’αžšαŸ„αž„ Open Source αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™ Deis αŸ” αž™αžΎαž„αž‡αžΆαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžαžΌαž…αž˜αž½αž™ αžŸαŸ’αžšαžΌαž” αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“ Microsoft αž“αŸ…αž“αž·αž‘αžΆαžƒαžšαžŠαžΌαžœαž†αŸ’αž“αžΆαŸ† 2017 αŸ” αž‚αž˜αŸ’αžšαŸ„αž„αž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžšαž”αžŸαŸ‹αž™αžΎαž„αžŠαŸ‚αž›αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡αžαžΆ Deis αž˜αžΆαž“αž§αž”αž€αžšαžŽαŸαž˜αž½αž™αŸ” deisctlαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎ (αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αžšαž”αžŸαŸ‹αž•αŸ’αžŸαŸαž„αž‘αŸ€αž) αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αž‘αžΎαž„ αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžœαŸαž‘αž·αž€αžΆ Deis αž“αŸ…αž€αŸ’αž“αž»αž„ αž…αž„αŸ’αž€αŸ„αž˜αž€αž„αž“αžΆαžœαžΆ. αž“αŸ…αž–αŸαž›αž“αŸ„αŸ‡ Fleet αž‚αžΊαž‡αžΆαžœαŸαž‘αž·αž€αžΆαžšαžœαž„αŸ‹αžαž“αŸ’αžšαŸ’αžαžΈαžŠαŸ†αž”αžΌαž„αž”αž„αŸ’αž’αžŸαŸ‹αž˜αž½αž™αŸ”

αž“αŸ…αž–αžΆαž€αŸ‹αž€αžŽαŸ’αžαžΆαž›αž†αŸ’αž“αžΆαŸ† 2015 αž™αžΎαž„αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžœαž‚αŸ’αž‚αžŸαž·αž€αŸ’αžŸαžΆ αž αžΎαž™αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš Deis (αž“αŸ…αž–αŸαž›αž“αŸ„αŸ‡αž”αŸ’αžαžΌαžšαžˆαŸ’αž˜αŸ„αŸ‡αž‡αžΆ Deis Workflow) αž–αžΈ Fleet αž‘αŸ… Kubernetes αŸ” αž˜αž½αž™αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αžŠαŸ†αž”αžΌαž„αž‚αŸαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžœαž·αž‰αž‚αžΊαž§αž”αž€αžšαžŽαŸαžŠαŸ†αž‘αžΎαž„αŸ” deisctl. αž™αžΎαž„αž”αžΆαž“αž”αŸ’αžšαžΎαžœαžΆαžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αž‘αžΎαž„ αž“αž·αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ Deis Workflow αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜ Fleet αŸ”

Helm 1 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž€αŸ’αž“αž»αž„αžšαžΌαž”αž—αžΆαž–αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž‰αŸ’αž…αž”αŸ‹αžŠαŸαž›αŸ’αž”αžΈαž›αŸ’αž”αžΆαž‰αžŠαžΌαž…αž‡αžΆ Homebrew, apt αž“αž·αž„ yum αŸ” αž‚αŸ„αž›αžŠαŸ…αž…αž˜αŸ’αž”αž„αžšαž”αžŸαŸ‹αžœαžΆαž‚αžΊαžŠαžΎαž˜αŸ’αž”αžΈαžŸαž˜αŸ’αžšαž½αž›αž€αž·αž…αŸ’αž…αž€αžΆαžšαžŠαžΌαž…αž‡αžΆαž€αžΆαžšαžœαŸαž…αžαŸ’αž…αž”αŸ‹ αž“αž·αž„αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž›αžΎ Kubernetes αŸ” Helm αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž‡αžΆαž•αŸ’αž›αžΌαžœαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž†αŸ’αž“αžΆαŸ† 2015 αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαž“αŸ’αž“αž·αžŸαžΈαž‘ KubeCon αž“αŸ… San FranciscoαŸ”

αž€αžΆαžšαž”αŸ‰αž»αž“αž”αŸ‰αž„αž›αžΎαž€αžŠαŸ†αž”αžΌαž„αžšαž”αžŸαŸ‹αž™αžΎαž„αž‡αžΆαž˜αž½αž™ Helm αž”αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž˜αž·αž“αž˜αŸ‚αž“αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž’αŸ’αž„αž“αŸ‹αž’αŸ’αž„αžšαž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸ„αŸ‡αž‘αŸαŸ” αž‚αžΆαžαŸ‹αž”αžΆαž“αž™αž€αžˆαž»αžαžšαž”αžŸαŸ‹ Kubernetes manifests αžŠαŸ‚αž›αž˜αžΆαž“αžšαžŸαž‡αžΆαžαž·αž‡αžΆαž˜αž½αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž›αžΎαž„αž‡αžΆαž”αŸ’αž›αž»αž€ YAML αžŽαŸ‚αž“αžΆαŸ† (αž”αž‰αŸ’αž αžΆαž˜αž»αž)* αž αžΎαž™αž”αžΆαž“αž•αŸ’αž‘αž»αž€αž›αž‘αŸ’αž’αž•αž›αž‘αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αŸ”

* αž…αŸ†αžŽαžΆαŸ†αŸ” αž”αž€αž”αŸ’αžšαŸ‚αŸ– αž–αžΈαž€αŸ†αžŽαŸ‚αžŠαŸ†αž”αžΌαž„αž“αŸƒ Helm αžœαžΆαž€αŸ’αž™αžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ YAML αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαž’αž“αž’αžΆαž“ Kubernetes αž αžΎαž™αž‚αŸ†αžšαžΌ Jinja αž“αž·αž„αž’αž€αŸ’αžŸαžš Python αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαž“αŸ…αž–αŸαž›αžŸαžšαžŸαŸαžšαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αŸ” αž™αžΎαž„αž”αžΆαž“αžŸαžšαžŸαŸαžšαž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈαžšαžΏαž„αž“αŸαŸ‡ αž“αž·αž„αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž“αŸƒαž€αŸ†αžŽαŸ‚αžŠαŸ†αž”αžΌαž„αž“αŸƒ Helm αž‡αžΆαž‘αžΌαž‘αŸ…αž“αŸ…αž€αŸ’αž“αž»αž„αž‡αŸ†αž–αžΌαž€ "A Brief History of Helm" αžŸαž˜αŸ’αž—αžΆαžšαŸˆαž“αŸαŸ‡αŸ”.

αž§αž‘αžΆαž αžšαžŽαŸ αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ†αž“αž½αžŸαžœαžΆαž›αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš YAML αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αž“αŸ’αžαŸ‚αž˜αžŸαŸ†αžŽαž„αŸ‹αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž‘αŸ… manifestαŸ–

#helm:generate sed -i -e s|ubuntu-debootstrap|fluffy-bunny| my/pod.yaml

αžœαžΆαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αžŽαžΆαžŸαŸ‹αžŠαŸ‚αž›αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž‚αŸ†αžšαžΌαž˜αžΆαž“αžŸαž–αŸ’αžœαžαŸ’αž„αŸƒαž“αŸαŸ‡ αž˜αŸ‚αž“αž‘αŸ?

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž αŸαžαž»αž•αž›αž‡αžΆαž…αŸ’αžšαžΎαž“ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ†αž‘αžΎαž„ Kubernetes αžŠαžΎαž˜αžŠαŸ†αž”αžΌαž„αž“αŸαŸ‡αžαž˜αŸ’αžšαžΌαžœαž±αŸ’αž™αž˜αžΆαž“αž”αž‰αŸ’αž‡αžΈ hard-coded αž“αŸƒαž―αž€αžŸαžΆαžš manifest αž αžΎαž™αž”αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ‚αž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαžαžΌαž…αž˜αž½αž™ αž“αž·αž„αž›αŸ†αžŠαžΆαž”αŸ‹αžαŸαžšαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αžœαžΆαž–αž·αžαž‡αžΆαž›αŸ†αž”αžΆαž€αžŽαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ‚αž›αž€αŸ’αžšαž»αž˜ Deis Workflow R&D αž˜αžΆαž“αž€αžΆαžšαž›αŸ†αž”αžΆαž€αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž–αž½αž€αž‚αŸαž–αŸ’αž™αžΆαž™αžΆαž˜αž•αŸ’αž‘αŸαžšαž•αž›αž·αžαž•αž›αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž‘αŸ…αž€αžΆαž“αŸ‹αžœαŸαž‘αž·αž€αžΆαž“αŸαŸ‡ - αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆ αž‚αŸ’αžšαžΆαž”αŸ‹αž–αžΌαž‡αž“αŸƒαž‚αŸ†αž“αž·αžαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžΆαž”αž–αŸ’αžšαŸ„αŸ‡αžšαž½αž…αž αžΎαž™αŸ” αž€αžΆαžšαž”αŸ‰αž»αž“αž”αŸ‰αž„αž›αžΎαž€αžŠαŸ†αž”αžΌαž„αžšαž”αžŸαŸ‹αž™αžΎαž„αž‚αžΊαž‡αžΆαž±αž€αžΆαžŸαžŸαž·αž€αŸ’αžŸαžΆαžŠαŸαž›αŸ’αž’αž˜αž½αž™αŸ– αž™αžΎαž„αž”αžΆαž“αžŠαžΉαž„αžαžΆαž™αžΎαž„αž–αž·αžαž‡αžΆαž„αž”αŸ‹αž„αž›αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž§αž”αž€αžšαžŽαŸαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αžŠαŸ‚αž›αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž”αŸ’αžšαž…αžΆαŸ†αžαŸ’αž„αŸƒαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ”

αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž“αŸƒαž€αŸ†αž αž»αžŸαž€αž“αŸ’αž›αž„αž˜αž€ αž™αžΎαž„αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž’αž—αž·αžœαžŒαŸ’αž Helm 2 αŸ”

αž’αŸ’αžœαžΎαž˜αž½αž€ ្

αž“αŸ…αž…αž»αž„αž†αŸ’αž“αžΆαŸ† 2015 αž€αŸ’αžšαž»αž˜αž€αžΆαžšαž„αžΆαžš Google αž”αžΆαž“αž‘αžΆαž€αŸ‹αž‘αž„αž˜αž€αž™αžΎαž„αŸ” αž–αž½αž€αž‚αŸαž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž›αžΎαž§αž”αž€αžšαžŽαŸαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Kubernetes αŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Kubernetes αž‚αžΊαž‡αžΆαž…αŸ’αžšαž€αž“αŸƒαž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Google Cloud Platform αŸ” αž–αž½αž€αž‚αŸαž”αžΆαž“αžŸαž½αžšαžαžΆ "αžαžΎαž™αžΎαž„αž…αž„αŸ‹αž…αŸ†αžŽαžΆαž™αž–αŸαž›αž–αžΈαžšαž”αžΈαžαŸ’αž„αŸƒαžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž’αŸ†αž–αžΈαž—αžΆαž–αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆ αž“αž·αž„αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαžŠαŸ‚αžšαž¬αž‘αŸ?"

αž“αŸ…αžαŸ‚αž˜αž€αžšαžΆ αž†αŸ’αž“αžΆαŸ† 2016 αž€αŸ’αžšαž»αž˜ Helm αž“αž·αž„ Deployment Manager αž”αžΆαž“αž‡αž½αž”αž‚αŸ’αž“αžΆαž“αŸ…αž‘αžΈαž€αŸ’αžšαž»αž„ Seattle αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‚αŸ†αž“αž·αžαŸ” αž€αžΆαžšαž…αžšαž…αžΆαž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹αžŠαŸ„αž™αž•αŸ‚αž“αž€αžΆαžšαž˜αž αž·αž…αŸ’αž†αžαžΆαž˜αž½αž™αŸ– αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αžΌαžœαž‚αž˜αŸ’αžšαŸ„αž„αž‘αžΆαŸ†αž„αž–αžΈαžšαžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž Helm 2αŸ” αžšαž½αž˜αž‡αžΆαž˜αž½αž™ Deis αž“αž·αž„ Google αž”αž»αžšαžŸαž˜αž€αž–αžΈ SkippBox (αž₯αž‘αžΌαžœαž‡αžΆαž•αŸ’αž“αŸ‚αž€αž“αŸƒ Bitnami - αž”αŸ’αžšαž αŸ‚αž›αž”αž€αž”αŸ’αžšαŸ‚αŸ” )αž αžΎαž™αž™αžΎαž„αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž’αŸ’αžœαžΎαž€αžΆαžšαž›αžΎ Helm 2 αŸ”

αž™αžΎαž„αž…αž„αŸ‹αžšαž€αŸ’αžŸαžΆαž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžšαž”αžŸαŸ‹ Helm αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αž“αŸ’αžαŸ‚αž˜αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

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

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

αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ Helm 2 αž€αŸ’αž“αž»αž„αž†αŸ’αž“αžΆαŸ† 2016 Kubernetes αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž…αŸ’αž“αŸƒαž”αŸ’αžšαžŒαž·αžαžŸαŸ†αžαžΆαž“αŸ‹αŸ—αž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ” αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžαž½αž“αžΆαž‘αžΈ (RBAC) αžŠαŸ‚αž›αž“αŸ…αž‘αžΈαž”αŸ†αž•αž»αžαž”αžΆαž“αž‡αŸ†αž“αž½αžŸ Attribute-Based Access Control (ABAC)αŸ” αž”αŸ’αžšαž—αŸαž‘αž’αž“αž’αžΆαž“αžαŸ’αž˜αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ† (αž€αžΆαžšαžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αŸ…αžαŸ‚αžŸαŸ’αžαž·αžαž€αŸ’αž“αž»αž„αž”αŸαžαžΆαž“αŸ…αž–αŸαž›αž“αŸ„αŸ‡)αŸ” αž“αž·αž™αž˜αž“αŸαž™αž’αž“αž’αžΆαž“αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“ (αž–αžΈαžŠαžΎαž˜αž αŸ…αžαžΆ αž’αž“αž’αžΆαž“αž—αžΆαž‚αžΈαž‘αžΈαž”αžΈ ឬ TPR) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αŸ” αž αžΎαž™αžŸαŸ†αžαžΆαž“αŸ‹αž”αŸ†αž•αž»αžαž“αŸ„αŸ‡ αžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž›αŸ’αž’αž”αŸ†αž•αž»αžαž”αžΆαž“αž›αŸαž…αž…αŸαž‰αž˜αž€αŸ”

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

αž€αžΆαžšαž›αžΆαž‚αŸ’αž“αžΆαžŠαŸαž‘αž“αŸ‹αž—αŸ’αž›αž“αŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹ Tiller

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

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

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž”αžΆαž“αžŸαž·αž€αŸ’αžŸαžΆαž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžŸαž αž‚αž˜αž“αŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Helm αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹ αž™αžΎαž„αž”αžΆαž“αžŠαžΉαž„αžαžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžšαž”αžŸαŸ‹ Tiller αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αž›αžΎαžŸαž˜αžΆαžŸαž’αžΆαžαž»αžαžΆαž„αž€αŸ’αž“αž»αž„αž“αŸƒαž…αž„αŸ’αž€αŸ„αž˜αžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αŸ’αžŸαžΆαžšαžŠαŸ’αž‹ αž¬αž˜αž»αžαž„αžΆαžšαž‡αžΆαž˜αž‡αŸ’αžˆαž˜αžŽαŸ’αžŒαž›αž€αžŽαŸ’αžαžΆαž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸ„αŸ‡αž‘αŸαŸ” αž‡αŸ†αž“αž½αžŸαž˜αž€αžœαž·αž‰ αž™αžΎαž„αž’αžΆαž…αž‘αž‘αž½αž›αž”αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αž–αžΈαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ Kubernetes API αž”αž„αŸ’αž€αžΎαžαž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž“αŸ…αž•αŸ’αž“αŸ‚αž€αž’αžαž·αžαž·αž‡αž“ αž“αž·αž„αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαž“αŸƒαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αŸ”

αž‚αŸ„αž›αžŠαŸ…αž…αž˜αŸ’αž”αž„αžšαž”αžŸαŸ‹ Tiller αž’αžΆαž…αžŸαž˜αŸ’αžšαŸαž…αž”αžΆαž“αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“ Tiller αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžŠαŸ†αž”αžΌαž„αžšαž”αžŸαŸ‹αž™αžΎαž„αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„ Helm 3 αž‚αžΊαž”αŸ„αŸ‡αž”αž„αŸ‹ Tiller αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αŸ”

αž‡αžΆαž˜αž½αž™αž“αžΉαž„ Tiller αž”αžΆαž“αž”αžΆαžαŸ‹αž”αž„αŸ‹ αž‚αŸ†αžšαžΌαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αžšαž”αžŸαŸ‹ Helm αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž˜αŸ’αžšαž½αž›αž™αŸ‰αžΆαž„αžŸαžΆαž˜αž‰αŸ’αž‰αŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡ Helm 3 αž‚αžΆαŸ†αž‘αŸ’αžšαžšαžΆαž›αŸ‹αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž– αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽ αž“αž·αž„αž€αžΆαžšαž•αŸ’αžαž›αŸ‹αžŸαž·αž‘αŸ’αž’αž·αž‘αŸ†αž“αžΎαž”αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžšαž”αžŸαŸ‹ Kubernetes αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αŸ” αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž˜αž½αž€αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžŠαŸ„αž™αž”αŸ’αžšαžΎ αž―αž€αžŸαžΆαžš kubeconfig. αž’αŸ’αž“αž€β€‹αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„β€‹αž…αž„αŸ’αž€αŸ„αž˜β€‹αž’αžΆαž…β€‹αžŠαžΆαž€αŸ‹β€‹αž€αž˜αŸ’αžšαž·αžβ€‹αžŸαž·αž‘αŸ’αž’αž·β€‹αž’αŸ’αž“αž€β€‹αž”αŸ’αžšαžΎβ€‹αž…αŸ†αž–αŸ„αŸ‡β€‹αž€αž˜αŸ’αžšαž·αžβ€‹αž“αŸƒβ€‹αž€αžΆαžšβ€‹αž›αž˜αŸ’αž’αž·αžβ€‹αžŽαžΆαž˜αž½αž™αŸ” αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸ…αžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜ αž αžΎαž™αž˜αž»αžαž„αžΆαžšαžŠαŸ‚αž›αž“αŸ…αžŸαž›αŸ‹αžšαž”αžŸαŸ‹ Helm αž“αŸ…αžαŸ‚αžšαž€αŸ’αžŸαžΆαžŠαžŠαŸ‚αž›αŸ”

αžƒαŸ’αž›αžΆαŸ†αž„αž‚αŸ†αž“αžΌαžŸαžαžΆαž„

αž“αŸ…αž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹ αžƒαŸ’αž›αžΆαŸ†αž„αž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž‚αžΊαž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€ αž“αž·αž„αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αŸ” αž€αž‰αŸ’αž…αž”αŸ‹αž’αžαž·αžαž·αž‡αž“ Helm αž“αž·αž„αž•αŸ’αž‰αžΎαžαžΆαžšαžΆαž„αž‘αŸ…αžƒαŸ’αž›αžΆαŸ†αž„αŸ” αž“αž·αž™αžΆαž™αž±αŸ’αž™αžŸαžΆαž˜αž‰αŸ’αž‰ αžƒαŸ’αž›αžΆαŸ†αž„αž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž‚αžΊαž‡αžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ HTTP αž”αž‹αž˜αžŠαŸ‚αž›αž˜αžΆαž“αž―αž€αžŸαžΆαžš index.yaml αž“αž·αž„αž‚αŸ†αž“αžΌαžŸαžαžΆαž„αžαŸ’αž…αž”αŸ‹αž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ”

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

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

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

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

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

αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž›αž˜αŸ’αž’αž·αžαž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž“αŸƒαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž“αžΆαž–αŸαž›αžαžΆαž„αž˜αž»αžαž…αŸ†αž–αŸ„αŸ‡αžƒαŸ’αž›αžΆαŸ†αž„αž‚αŸ†αž“αžΌαžŸαžαžΆαž„ Helm αž‚αžΊαž’αžΆαž…αžšαž€αž”αžΆαž“ αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹.

αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™

αž“αŸ…αž€αŸ’αž“αž»αž„ Helm 3 αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αžαžΆαž˜αžŠαžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜αžŠαŸ„αž™αžœαžαŸ’αžαž»αž˜αž½αž™αž‚αžΌαŸ–

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

αž”αž‰αŸ’αž αžΆαž”αŸ’αžšαžˆαž˜ helm install αž”αž„αŸ’αž€αžΎαžβ€‹αžœαžαŸ’αžαž»β€‹αž…αŸαž‰αž•αŸ’αžŸαžΆαž™β€‹αž˜αž½αž™ αž“αž·αž„β€‹αž”αž‰αŸ’αž…αŸαž‰β€‹αž€αŸ†αžŽαŸ‚β€‹αžŸαž˜αŸ’αž„αžΆαžαŸ‹αŸ” αž αŸ… helm upgrade αžαž˜αŸ’αžšαžΌαžœβ€‹αž±αŸ’αž™β€‹αž˜αžΆαž“β€‹αžœαžαŸ’αžαž»β€‹αž…αŸαž‰αž•αŸ’αžŸαžΆαž™ (αžŠαŸ‚αž›β€‹αžœαžΆβ€‹αž’αžΆαž…β€‹αž•αŸ’αž›αžΆαžŸαŸ‹β€‹αž”αŸ’αžαžΌβ€‹αžš) αž“αž·αž„β€‹αž”αž„αŸ’αž€αžΎαžβ€‹αž€αžΆαžšβ€‹αžŸαž˜αŸ’αž„αžΆαžαŸ‹β€‹αž€αŸ†αžŽαŸ‚β€‹αž…αŸαž‰β€‹αžαŸ’αž˜αžΈβ€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αžαž˜αŸ’αž›αŸƒβ€‹αžαŸ’αž˜αžΈ αž“αž·αž„β€‹αž€αžΆαžšβ€‹αž”αž„αŸ’αž αžΆαž‰β€‹αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αžšαŸ€αž”αž…αŸ†αŸ”

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

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

αž“αŸ…αž€αŸ’αž“αž»αž„ Helm 2 αž€αžΆαžšαž€αŸ‚αž”αŸ’αžšαŸ‚αž˜αžΆαž“αž—αžΆαž–αžŸαŸŠαžΈαžŸαž„αŸ’αžœαžΆαž€αŸ‹αž‚αŸ’αž“αžΆαž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„αŸ” αž αŸ… helm install αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž v1 αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹ (αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„) - v2 αž αžΎαž™αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž“αŸ…αž›αžΎαŸ” αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ αž“αž·αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž€αŸ†αžŽαŸ‚αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αžšαž½αž˜αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αžœαžαŸ’αžαž»αžαŸ‚αž˜αž½αž™αžŠαŸ‚αž›αž‚αŸαžŸαŸ’αž‚αžΆαž›αŸ‹αžαžΆαž‡αžΆαž€αžΆαžšαž€αŸ‚αž”αŸ’αžšαŸ‚αŸ” αž€αžΆαžšαž€αŸ‚αž”αŸ’αžšαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„ namespace αžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αžΉαž„ Tiller αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸαž™αžαžΆαž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αžΈαž˜αž½αž™αŸ—αž‚αžΊ "αžŸαž€αž›" αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„ namespace αŸ” αž‡αžΆαž›αž‘αŸ’αž’αž•αž› αž˜αžΆαž“αžαŸ‚αž§αž‘αžΆαž αžšαžŽαŸαž˜αž½αž™αž“αŸƒαžˆαŸ’αž˜αŸ„αŸ‡αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αŸ”

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

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈ Tiller αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ„αŸ‡αž”αž„αŸ‹αž…αŸ„αž› αž αžΆαž„ Helm 3 αž”αž‰αŸ’αž…αŸαž‰αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ’αž“αž»αž„αž…αž“αŸ’αž›αŸ„αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡αžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αžΉαž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αŸ” αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŠαŸ†αž‘αžΎαž„αž‚αŸ†αž“αžΌαžŸαžαžΆαž„αžŠαŸ‚αž›αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„ namespace αž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆ αž αžΎαž™αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžšαžœαžΆαž„ cluster updates/reboots in etcdαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž’αŸ’αž“αž€αž’αžΆαž…αžŠαŸ†αž‘αžΎαž„ WordPress αž“αŸ…αž€αŸ’αž“αž»αž„ namespace "foo" αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž“αŸ…αž€αŸ’αž“αž»αž„ "bar" namespace αž αžΎαž™αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‘αžΆαŸ†αž„αž–αžΈαžšαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž αŸ…αžαžΆ "wordpress" αŸ”

αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ…αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αž‚αŸ†αž“αžΌαžŸαžαžΆαž„

αž‚αŸ†αž“αžΌαžŸαžαžΆαž„αžαŸ’αž…αž”αŸ‹ (αžŠαŸ„αž™αž”αŸ’αžšαžΎ helm package) αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžΎαž‡αžΆαž˜αž½αž™ Helm 2 αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αž‡αžΆαž˜αž½αž™ Helm 3 αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαž„αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž‚αŸ†αž“αžΌαžŸαžαžΆαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αž½αžŸαž‡αž»αž›αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž˜αž½αž™αž…αŸ†αž“αž½αž“αžαŸ’αžšαžΌαžœαžαŸ‚αž’αŸ’αžœαžΎαž‘αžΎαž„ αžŠαžΎαž˜αŸ’αž”αžΈαž”αž“αŸ’αžαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž‡αžΆαž˜αž½αž™ Helm 3αŸ” αž‡αžΆαž–αž·αžŸαŸαžŸ αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαŸ”

αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αžšαž”αžŸαŸ‹αž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž–αžΈ requirements.yaml ΠΈ requirements.lock αž“αŸ…αž›αžΎ Chart.yaml ΠΈ Chart.lock. αž“αŸαŸ‡αž˜αžΆαž“αž“αŸαž™αžαžΆαž‚αŸ†αž“αžΌαžŸαžαžΆαž„αžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ helm dependencyαž‘αžΆαž˜αž‘αžΆαžšαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Helm 3 αŸ”

αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž§αž‘αžΆαž αžšαžŽαŸαž˜αž½αž™αŸ” αž…αžΌαžšαž”αž“αŸ’αžαŸ‚αž˜αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αž‘αŸ…αž›αžΎαžαžΆαžšαžΆαž„αž“αŸ…αž€αŸ’αž“αž»αž„ Helm 2 αž αžΎαž™αž˜αžΎαž›αžαžΆαžαžΎαž˜αžΆαž“αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡αž“αŸ…αž–αŸαž›αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž‘αŸ… Helm 3 αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ Helm 2 requirements.yaml αž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž“αŸαŸ‡αŸ–

dependencies:
- name: mariadb
  version: 5.x.x
  repository: https://kubernetes-charts.storage.googleapis.com/
  condition: mariadb.enabled
  tags:
    - database

αž“αŸ…αž€αŸ’αž“αž»αž„ Helm 3 αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž†αŸ’αž›αž»αŸ‡αž”αž‰αŸ’αž…αžΆαŸ†αž„αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Chart.yaml:

dependencies:
- name: mariadb
  version: 5.x.x
  repository: https://kubernetes-charts.storage.googleapis.com/
  condition: mariadb.enabled
  tags:
    - database

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

αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžαžΆαžšαžΆαž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™

Helm 3 αž‚αžΆαŸ†αž‘αŸ’αžšαž…αŸ†αžŽαžΆαžαŸ‹αžαŸ’αž“αžΆαž€αŸ‹αž“αŸƒαžαžΆαžšαžΆαž„αžŠαŸ‚αž›αž αŸ…αžαžΆαžαžΆαžšαžΆαž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™ (αž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™). αž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαŸ„αž™αž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αž”αž„αŸ’αž€αžΎαžαžœαžαŸ’αžαž»αž”αž»αžšαžΆαžŽαžŠαŸ‚αž›αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αž‘αŸαŸ” αž‚αŸ†αžšαžΌαž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž’αžΆαž…αž”αŸ’αžšαž€αžΆαžŸαž”αžΆαž“αžαŸ‚αž’αžΆαžαž»αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” define. αžαŸ’αž›αžΉαž˜αžŸαžΆαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‚αžΊαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž˜αž·αž“αž’αžΎαž–αžΎαŸ” αž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αŸ’αžšαžΎαž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž–αŸαžαŸŒαž˜αžΆαž“αžŸαž„αŸ’αžαŸαž”αž“αŸƒαž€αžΌαžŠαžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αž“αŸ…αž›αžΎαž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž…αŸ’αžšαžΎαž“ αžŠαŸ„αž™αž αŸαžαž»αž“αŸαŸ‡αž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž…αž˜αŸ’αž›αž„ αž“αž·αž„αž”αŸ’αžšαž€αžΆαž“αŸ‹αžαŸ’αž‡αžΆαž”αŸ‹αž“αžΌαžœαž‚αŸ„αž›αž€αžΆαžšαžŽαŸ αžŸαŸ’αž„αž½αž.

αž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸαž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€ dependencies αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš Chart.yaml. αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ αž“αž·αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž–αž½αž€αžœαžΆαž˜αž·αž“αžαž»αžŸαž–αžΈαž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‘αŸαŸ”

dependencies:
  - name: mylib
    version: 1.x.x
    repository: quay.io

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

αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž‡αžΆαž”αž“αŸ’αž‘αžΆαž”αŸ‹?

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

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

αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž–αŸ’αž™αžΆαž™αžΆαž˜αž‚αžΌαžŸαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž–αžΈαž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αžŸαŸ†αžαžΆαž“αŸ‹αŸ—αž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαŸ‚αž›αž“αžΉαž„αž˜αž€αžŠαž›αŸ‹ Helm 3 αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αž‰αŸ’αž‡αžΈαž“αŸαŸ‡αž‚αžΊαž˜αž·αž“αž–αŸαž‰αž›αŸαž‰αž‘αŸαŸ” αž•αŸ‚αž“αž‘αžΈαž”αž„αŸ’αž αžΆαž‰αž•αŸ’αž›αžΌαžœαž–αŸαž‰αž›αŸαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Helm 3 αžšαž½αž˜αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαžŠαžΌαž…αž‡αžΆαž™αž»αž‘αŸ’αž’αžŸαžΆαžŸαŸ’αžšαŸ’αžαž’αžΆαž”αŸ‹αžŠαŸαžαžŠαŸ‚αž›αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„ αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž€αžΆαž“αŸ‹αžαŸ‚αžŸαŸŠαžΈαž‡αž˜αŸ’αžšαŸ…αž‡αžΆαž˜αž½αž™αž€αžΆαžšαž…αž»αŸ‡αž”αž‰αŸ’αž‡αžΈ OCI αž“αž·αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸ JSON αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŸαž»αž–αž›αž—αžΆαž–αžαž˜αŸ’αž›αŸƒαžαžΆαžšαžΆαž„αŸ” αž™αžΎαž„αž€αŸαž˜αžΆαž“αž‚αž˜αŸ’αžšαŸ„αž„αžŸαž˜αŸ’αž’αžΆαžαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž€αžΌαžŠ αž“αž·αž„αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž•αŸ’αž“αŸ‚αž€αžαŸ’αž›αŸ‡αžšαž”αžŸαŸ‹αžœαžΆαžŠαŸ‚αž›αž˜αž·αž“αž™αž€αž…αž·αžαŸ’αžαž‘αž»αž€αžŠαžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αž”αžΈαž†αŸ’αž“αžΆαŸ†αž€αž“αŸ’αž›αž„αž˜αž€αž“αŸαŸ‡αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžαžΆαž™αžΎαž„αžαž€αžαžΆαž“αž’αŸ’αžœαžΈαž˜αž½αž™ αž™αžΎαž„αž…αž„αŸ‹αžŸαŸ’αžαžΆαž”αŸ‹αž‚αŸ†αž“αž·αžαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€!

αž…αžΌαž›αžšαž½αž˜αž€αžΆαžšαž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž’αŸ†αž–αžΈαž–αž½αž€αž™αžΎαž„ αž†αžΆαž“αŸ‚αž›αžαŸ’αž‡αž·αž›αŸ”:

  • #helm-users αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ†αžŽαž½αžš αž“αž·αž„αž€αžΆαžšαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αžŸαžΆαž˜αž‰αŸ’αž‰αž‡αžΆαž˜αž½αž™αžŸαž αž‚αž˜αž“αŸαŸ”
  • #helm-dev αžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž’αŸ†αž–αžΈαžŸαŸ†αžŽαžΎαž‘αžΆαž‰ αž€αžΌαžŠ αž“αž·αž„αž€αŸ†αž αž»αžŸαŸ”

αž’αŸ’αž“αž€αž€αŸαž’αžΆαž…αž‡αž‡αŸ‚αž€αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž αŸ…αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŸαžΆαž’αžΆαžšαžŽαŸˆαž”αŸ’αžšαž…αžΆαŸ†αžŸαž”αŸ’αžαžΆαž αŸαžšαž”αžŸαŸ‹αž™αžΎαž„αž“αŸ…αžαŸ’αž„αŸƒαž–αŸ’αžšαž αžŸαŸ’αž”αžαž·αŸαž“αŸ…αž˜αŸ‰αŸ„αž„ 19:30 MSKαŸ” αž€αž·αž…αŸ’αž…αž”αŸ’αžšαž‡αž»αŸ†αžαŸ’αžšαžΌαžœαž”αžΆαž“αž§αž‘αŸ’αž‘αž·αžŸαžŠαž›αŸ‹αž€αžΆαžšαž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž’αŸ†αž–αžΈαž”αž‰αŸ’αž αžΆαžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŸαŸ†αžαžΆαž“αŸ‹αŸ— αž“αž·αž„αžŸαž αž‚αž˜αž“αŸαž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžš αž€αŸαžŠαžΌαž…αž‡αžΆαž”αŸ’αžšαž’αžΆαž“αž”αž‘αž“αŸƒαž€αžΆαžšαž–αž·αž—αžΆαž€αŸ’αžŸαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαž”αŸ’αžαžΆαž αŸαž“αŸαŸ‡αŸ” αž’αŸ’αž“αž€β€‹αžŽαžΆβ€‹αž€αŸβ€‹αž’αžΆαž…β€‹αž…αžΌαž›β€‹αžšαž½αž˜ αž“αž·αž„β€‹αž…αžΌαž›β€‹αžšαž½αž˜β€‹αž€αŸ’αž“αž»αž„β€‹αž€αžΆαžšβ€‹αž”αŸ’αžšαž‡αž»αŸ†β€‹αž”αžΆαž“αŸ” αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž†αžΆαž“αŸ‚αž› Slack #helm-dev.

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

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

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

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