Kubernetes çšã®æã人æ°ã®ããããã±ãŒãž ãããŒãžã£ãŒã«é¢ããç©èªã®æ¬è³ªã¯ãçµµæåã䜿çšããŠè¡šãããšãã§ããŸãã
- ããã¯ã¹ã¯ Helm (ææ°ã® Emoji ãªãªãŒã¹ã«æãè¿ããã®ã§ã) ã§ãã
- ãã㯠- ã»ãã¥ãªãã£;
- ãã®å°ããªç·ãåé¡ã®è§£æ±ºçã§ãã
å®éã«ã¯ããã¹ãŠãããå°ãè€éã«ãªããã¹ããŒãªãŒã«ã¯æ¬¡ã®ãããªæè¡çãªè©³çŽ°ãæºèŒã§ãã Helm ãå®å
šã«ããæ¹æ³.
- ç¥ããªãã£ããå¿ããŠããŸã£ãå Žåã«åããŠãHelm ãšã¯äœãªã®ããç°¡åã«èª¬æããŸãã ããã¯ã©ã®ãããªåé¡ã解決ããã®ãããããŠããã¯ãšã³ã·ã¹ãã ã®ã©ãã«äœçœ®ããã®ãã
- Helm ã¢ãŒããã¯ãã£ãèŠãŠã¿ãŸãããã ã³ã³ããŒãã³ãã®ã¢ãŒããã¯ãã£ãç解ããã«ãã»ãã¥ãªãã£ããããŒã«ããœãªã¥ãŒã·ã§ã³ã®å®å šæ§ãé«ããæ¹æ³ã«ã€ããŠã®äŒè©±ã¯æç«ããŸããã
- Helm ã³ã³ããŒãã³ãã«ã€ããŠèª¬æããŸãããã
- æãåå®ãªçåã¯å°æ¥ãã€ãŸã Helm 3 ã®æ°ããããŒãžã§ã³ã§ãã
ãã®èšäºã®å
容ã¯ãã¹ãŠ Helm 2 ã«åœãŠã¯ãŸããŸãããã®ããŒãžã§ã³ã¯çŸåšéçšäžã§ãããããããçŸåšäœ¿çšããŠããããŒãžã§ã³ã§ãããã»ãã¥ãªã㣠ãªã¹ã¯ãå«ãŸããŠããããŒãžã§ã³ã§ãã
ã¹ããŒã«ãŒã«ã€ããŠ: ã¢ã¬ã¯ãµã³ããŒã»ããšããïŒ
Chainstack ã¯ãå°èŠæš¡ã§æŽ»çºã«æé·ããŠããæ°èäŒæ¥ã§ããããã®äœ¿åœã¯ãã¯ã©ã€ã¢ã³ããåæ£ã¢ããªã±ãŒã·ã§ã³ã®éçšã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãšè€éããå¿ããããããã«ããããšã§ããéçºããŒã ã¯ã·ã³ã¬ããŒã«ã«ãããŸãã Chainstack ã«æå·é貚ã®å£²è²·ãäŸé Œããã®ã§ã¯ãªãããšã³ã¿ãŒãã©ã€ãº ãããã¯ãã§ãŒã³ ãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠè©±ããããšç³ãåºãã°ãåãã§çããŠãããã§ãããã
ãã«ã¡ãã
ããã¯ãKubernetes ã®ããã±ãŒãž (ãã£ãŒã) ãããŒãžã£ãŒã§ãã ã¢ããªã±ãŒã·ã§ã³ã Kubernetes ã¯ã©ã¹ã¿ãŒã«ç§»è¡ããããã®æãçŽæçã§æ±çšçãªæ¹æ³ã
ãã¡ãããããã§è©±ããŠããã®ã¯ãç¬èªã® YAML ãããã§ã¹ããäœæããŠå°ããªãŠãŒãã£ãªãã£ãäœæããããããããæ§é çã§ç£æ¥çãªã¢ãããŒãã«ã€ããŠã§ãã
Helm ã¯çŸåšå ¥æå¯èœã§äººæ°ã®ããæé«ã®ãã®ã§ãã
ãªããã«ã ãªã®ãïŒ äž»ãªçç±ã¯ãCNCF ã«ãã£ãŠãµããŒããããŠããããã§ãã Cloud Native ã¯å€§èŠæš¡ãªçµç¹ã§ãããKubernetesãetcdãFluentd ãªã©ã®ãããžã§ã¯ãã®èŠªäŒç€Ÿã§ãã
ãã 2019 ã€ã®éèŠãªäºå®ã¯ãHelm ãéåžžã«äººæ°ã®ãããããžã§ã¯ãã§ãããšããããšã§ãã 12 幎 XNUMX æã« Helm ãå®å šã«ããæ¹æ³ã«ã€ããŠè©±ãå§ãããšãããã®ãããžã§ã¯ãã«ã¯ GitHub 㧠XNUMX åã®ã¹ã¿ãŒãã€ããŸããã XNUMXæãŸã§ã«ãã®æ°ã¯XNUMXäžXNUMXå人ã«ãªã£ãã
Helm ã«èå³ããã人ã¯å€ãã®ã§ããŸã 䜿çšããŠããªãå Žåã§ãããã®ã»ãã¥ãªãã£ã«ã€ããŠç¥ã£ãŠãããšåœ¹ã«ç«ã¡ãŸãã å®å šæ§ã¯éèŠã§ãã
ã³ã¢ Helm ããŒã 㯠Microsoft Azure ã«ãã£ãŠãµããŒããããŠãããããä»ã®å€ãã®ãããžã§ã¯ããšã¯ç°ãªããããªãå®å®ãããããžã§ã¯ãã§ãã 3 æäžæ¬ã® Helm 2 Alpha XNUMX ã®ãªãªãŒã¹ã¯ãéåžžã«å€ãã®äººã ããã®ãããžã§ã¯ãã«åãçµãã§ãããHelm ãéçºããã³æ¹åããæ欲ãšãšãã«ã®ãŒãæã£ãŠããããšã瀺ããŠããŸãã
Helm ã¯ãKubernetes ã§ã®ã¢ããªã±ãŒã·ã§ã³ç®¡çã®ããã€ãã®æ ¹æ¬çãªåé¡ã解決ããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã®ããã±ãŒãžåã WordPress äžã®ãHello, Worldãã®ãããªã¢ããªã±ãŒã·ã§ã³ã§ãããã§ã«è€æ°ã®ãµãŒãã¹ã§æ§æãããŠããããããããŸãšããŠããã±ãŒãžåããå¿ èŠããããŸãã
- ãããã®ã¢ããªã±ãŒã·ã§ã³ã®ç®¡çã«äŒŽãè€éãã管çããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¹ããŒã«ãŸãã¯ãããã€åŸã«çµäºããªãã©ã€ããµã€ã¯ã«ã ããã¯åç¶ãç¶ããŸãããæŽæ°ããå¿ èŠããããŸããHelm ã¯ãããæ¯æŽããããã«å¯Ÿããé©åãªå¯Ÿçãšããªã·ãŒãå°å ¥ããããšããŸãã
è¢è©°ã ããã¯æ確ãªæ¹æ³ã§ç·šæãããŠããŸããLinuxãWindowsããŸã㯠MacOS ã®éåžžã®ããã±ãŒãž ãããŒãžã£ãŒã®åäœã«å®å šã«æºæ ããã¡ã¿ããŒã¿ããããŸãã ã€ãŸãããªããžããªãããŸããŸãªããã±ãŒãžã®äŸåé¢ä¿ãã¢ããªã±ãŒã·ã§ã³ã®ã¡ã¿æ å ±ãèšå®ãæ§ææ©èœãæ å ±ã®ã€ã³ããã¯ã¹äœæãªã©ã§ããHelm ã䜿çšãããšãããããã¹ãŠãååŸããŠã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšã§ããŸãã
è€éãã®ç®¡çã åãã¿ã€ãã®ã¢ããªã±ãŒã·ã§ã³ãå€æ°ããå Žåã¯ããã©ã¡ãŒã¿åãå¿ èŠã§ãã ãã³ãã¬ãŒãã¯ããã«ç±æ¥ããŸããããã³ãã¬ãŒããäœæããç¬èªã®æ¹æ³ãèãåºãå¿ èŠãé¿ããããã«ãHelm ãæäŸãããã®ãããã«äœ¿çšã§ããŸãã
ã¢ããªã±ãŒã·ã§ã³ã®ã©ã€ããµã€ã¯ã«ç®¡ç -ç§ã®æèŠã§ã¯ãããã¯æãèå³æ·±ãæªè§£æ±ºã®è³ªåã§ãã ãããç§ãæãã«ã ã«æ¥ãçç±ã§ãã ç§ãã¡ã¯ã¢ããªã±ãŒã·ã§ã³ã®ã©ã€ããµã€ã¯ã«ãåžžã«ç£èŠããå¿ èŠããããCI/CD ãšã¢ããªã±ãŒã·ã§ã³ã®ãµã€ã¯ã«ããã®ãã©ãã€ã ã«ç§»è¡ããããšèããŠããŸããã
Helm ã䜿çšãããšã次ã®ããšãå¯èœã«ãªããŸãã
- å°å ¥ã管çããæ§æãšãªããžã§ã³ã®æŠå¿µãå°å ¥ããŸãã
- ããŒã«ããã¯ãæ£åžžã«å®è¡ãããŸãã
- ããŸããŸãªã€ãã³ãã«ããã¯ã䜿çšããŸãã
- è¿œå ã®ã¢ããªã±ãŒã·ã§ã³ãã§ãã¯ãè¿œå ãããã®çµæã«å¿çããŸãã
ããã« ãã«ã ã«ã¯ãããããªãŒããä»ããŠããŸã - ãã©ã°ã€ã³ã®åœ¢ã§å«ããããšãã§ããèšå€§ãªæ°ã®äŸ¿å©ãªãã®ã§ãããªãã®ç掻ãç°¡çŽ åããŸãã ãã©ã°ã€ã³ã¯ç¬ç«ããŠäœæã§ããå®å šã«åé¢ãããŠããã調åã®ãšããã¢ãŒããã¯ãã£ãå¿ èŠãšããŸããã äœããå®è£ ãããå Žåã¯ãããããã©ã°ã€ã³ãšããŠå®è¡ããå Žåã«ãã£ãŠã¯ã¢ããã¹ããªãŒã ã«å«ããããšããå§ãããŸãã
Helm 㯠XNUMX ã€ã®äž»èŠãªæŠå¿µã«åºã¥ããŠããŸãã
- ãã£ãŒããªããžã㪠â ãããã§ã¹ãã§äœ¿çšã§ãããã©ã¡ãŒã¿åã®èª¬æãšé åã
- èšå® âã€ãŸããé©çšãããå€ (ããã¹ããæ°å€ãªã©)ã
- ãªãªãŒã¹ äžéšã® XNUMX ã€ã®ã³ã³ããŒãã³ããåéããããããåãã㊠Release ã«å€æããŸãã ãªãªãŒã¹ã¯ããŒãžã§ã³ç®¡çã§ãããããã€ã³ã¹ããŒã«æã«ã¯å°ãããã¢ããã°ã¬ãŒããããŠã³ã°ã¬ãŒãããŸãã¯ããŒã«ããã¯æã«ã¯å€§ãããªããçµç¹åãããã©ã€ã ãµã€ã¯ã«ãå®çŸã§ããŸãã
ãã«ã ã¢ãŒããã¯ãã£
ãã®å³ã¯ãHelm ã®é«ã¬ãã«ã®ã¢ãŒããã¯ãã£ãæŠå¿µçã«ç€ºããŠããŸãã
Helm 㯠Kubernetes ã«é¢é£ãããã®ã§ããããšãæãåºããŠãã ããã ãããã£ãŠãKubernetes ã¯ã©ã¹ã¿ãŒ (åè§åœ¢) ãªãã§ã¯ãã£ãŠãããŸããã kube-apiserver ã³ã³ããŒãã³ãã¯ãã¹ã¿ãŒäžã«ååšããŸãã Helm ããªããã° Kubeconfig ããããŸãã Helm ã¯ãã³ã³ãã¥ãŒã¿ãŒãã©ããããããã¡ã€ã³ãã¬ãŒã ãªã©ããããããã®ã«ã€ã³ã¹ããŒã«ããã XNUMX ã€ã®å°ããªãã€ã㪠(Helm CLI ãŠãŒãã£ãªãã£) ãæäŸããŸãã
ããããããã§ã¯ååã§ã¯ãããŸããã Helm ã«ã¯ Tiller ãšåŒã°ãããµãŒã㌠ã³ã³ããŒãã³ãããããŸãã ããã¯ã¯ã©ã¹ã¿ãŒå ã§ã® Helm ã®åœ¹å²ãè¡šããŠãããä»ã®ã¯ã©ã¹ã¿ãŒãšåæ§ã«ãKubernetes ã¯ã©ã¹ã¿ãŒå ã®ã¢ããªã±ãŒã·ã§ã³ã§ãã
Chart Repo ã®æ¬¡ã®ã³ã³ããŒãã³ãã¯ããã£ãŒããå«ããªããžããªã§ãã å ¬åŒãªããžããªãããã°ãäŒæ¥ããããžã§ã¯ãã®ãã©ã€ããŒããªããžããªããããããããŸããã
çžäºäœçš
Helm ã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ããå Žåã«ãã¢ãŒããã¯ã㣠ã³ã³ããŒãã³ããã©ã®ããã«å¯Ÿè©±ããããèŠãŠã¿ãŸãããã
- ç§ãã¡ã¯è©±ããŠãã
Helm install
, ãªããžã㪠(Chart Repo) ã«ã¢ã¯ã»ã¹ããHelm ãã£ãŒããååŸããŸãã
- Helm ãŠãŒãã£ãªã㣠(Helm CLI) 㯠Kubeconfig ãšå¯Ÿè©±ããŠãã©ã®ã¯ã©ã¹ã¿ãŒã«æ¥ç¶ããããå€æããŸãã
- ãã®æ å ±ãåãåããšããŠãŒãã£ãªãã£ã¯ã¯ã©ã¹ã¿ãŒå ã«ãã Tiller ãã¢ããªã±ãŒã·ã§ã³ãšããŠåç §ããŸãã
- Tiller 㯠Kube-apiserver ãåŒã³åºããŠãKubernetes ã§ã¢ã¯ã·ã§ã³ãå®è¡ããããã€ãã®ãªããžã§ã¯ã (ãµãŒãã¹ãããããã¬ããªã«ãã·ãŒã¯ã¬ãããªã©) ãäœæããŸãã
次ã«ãå³ãè€éã«ããŠãHelm ã¢ãŒããã¯ãã£å šäœãå±éºã«ãããããå¯èœæ§ã®ããæ»æãã¯ãã«ã確èªããŸãã ãããŠãç§ãã¡ã¯åœŒå¥³ãå®ãããšããŸãã
æ»æãã¯ãã«
æåã®æœåšçãªåŒ±ç¹ã¯ã ç¹æš©API - ãŠãŒã¶ãŒã èšç»ã®äžç°ãšããŠããã㯠Helm CLI ãžã®ç®¡çè ã¢ã¯ã»ã¹æš©ãååŸããããã«ãŒã§ãã
ç¹æš©ã®ãªã API ãŠãŒã¶ãŒ ãŸããè¿ãã«ãããšå±éºãçããå¯èœæ§ããããŸãã ãã®ãããªãŠãŒã¶ãŒã¯ç°ãªãã³ã³ããã¹ããæã¡ãŸããããšãã°ãKubeconfig èšå®ã§ XNUMX ã€ã®ã¯ã©ã¹ã¿ãŒåå空éã«åºå®ã§ããŸãã
æãèå³æ·±ãæ»æãã¯ãã«ã¯ãTiller è¿ãã®ã¯ã©ã¹ã¿ãŒå ã«åžžé§ããããã«ã¢ã¯ã»ã¹ã§ããããã»ã¹ã§ããå¯èœæ§ããããŸãã ããã¯ãã¯ã©ã¹ã¿ãŒã®ãããã¯ãŒã¯ç°å¢ãç£èŠãã Web ãµãŒããŒãŸãã¯ãã€ã¯ããµãŒãã¹ã§ãã
çãããã®ã®ããŸããŸã人æ°ãé«ãŸã£ãŠããæ»æã®äºçš®ã«ã¯ãChart Repo ãé¢ä¿ããŠããŸãã æªæã®ããäœæè ã«ãã£ãŠäœæããããã£ãŒãã«ã¯å®å šã§ãªããªãœãŒã¹ãå«ãŸããŠããå¯èœæ§ããããŸããããããä¿¡ããŠãã£ãŒããå®æãããŸãã ãŸãã¯ãå ¬åŒãªããžããªããããŠã³ããŒããããã£ãŒãã眮ãæããŠãããšãã°ããªã·ãŒã®åœ¢åŒã§ãªãœãŒã¹ãäœæãããã®ã¢ã¯ã»ã¹ããšã¹ã«ã¬ãŒã·ã§ã³ããããšãã§ããŸãã
ããã XNUMX ã€ã®åŽé¢ãã¹ãŠããã®æ»æãããããŠãHelm ã¢ãŒããã¯ãã£ã®ã©ãã«åé¡ãããã®ãââããããŠããããã©ãã«åé¡ããªãã®ããææ¡ããŠã¿ãŸãããã
å³ãæ¡å€§ããŠèŠçŽ ãè¿œå ããŠã¿ãŸãããããã ããåºæ¬çãªã³ã³ããŒãã³ãã¯ãã¹ãŠãã®ãŸãŸã«ããŠãããŸãã
Helm CLI 㯠Chart Repo ãšéä¿¡ããKubeconfig ãšå¯Ÿè©±ããäœæ¥ãã¯ã©ã¹ã¿ãŒã® Tiller ã³ã³ããŒãã³ãã«è»¢éãããŸãã
Tiller 㯠XNUMX ã€ã®ãªããžã§ã¯ãã§è¡šãããŸãã
- Tiller-deploy svcãç¹å®ã®ãµãŒãã¹ãå ¬éããŸãã
- Tiller-deploy ããã (å³ã§ã¯ XNUMX ã€ã®ã¬ããªã«å ã®åäžã³ããŒ)ãããŒãå šäœãå®è¡ãããã¯ã©ã¹ã¿ãŒã«ã¢ã¯ã»ã¹ããŸãã
察話ã«ã¯ããŸããŸãªãããã³ã«ãšã¹ããŒã ã䜿çšãããŸãã ã»ãã¥ãªãã£ã®èŠ³ç¹ãããç§ãã¡ã¯æ¬¡ã®ããšã«æãé¢å¿ãæã£ãŠããŸãã
- Helm CLI ããã£ãŒã ãªããžããªã«ã¢ã¯ã»ã¹ããã¡ã«ããºã : ã©ã®ãããªãããã³ã«ãèªèšŒããããããããŠããã䜿çšããŠäœãã§ãããã
- Helm CLI ã kubectl ã䜿çšã㊠Tiller ãšéä¿¡ããéã«äœ¿çšãããããã³ã«ã ããã¯ã¯ã©ã¹ã¿ãŒå ã«ã€ã³ã¹ããŒã«ããã RPC ãµãŒããŒã§ãã
- Tiller èªäœã¯ãã¯ã©ã¹ã¿ãŒå ã«ååšããKube-apiserver ãšå¯Ÿè©±ãããã€ã¯ããµãŒãã¹ã«ã¢ã¯ã»ã¹ã§ããŸãã
ããããã¹ãŠã®é åã«ã€ããŠé çªã«èª¬æããŠãããŸãã
RBAC
RBAC ãæå¹ã«ãªã£ãŠããªãéããHelm ãŸãã¯ã¯ã©ã¹ã¿ãŒå ã®ãã®ä»ã®ãµãŒãã¹ã®ã»ãã¥ãªãã£ã«ã€ããŠè©±ããŠãæå³ããããŸããã
ããã¯ææ°ã®æšå¥šäºé ã§ã¯ãªãããã§ãããå€ãã®äººãéçšç°å¢ã§ãã£ãŠããŸã RBAC ãæå¹ã«ããŠããªããšæããŸããããã¯ãéåžžã«æéãããããå€ãã®èšå®ãå¿ èŠãªããã§ãã ãã ãããããè¡ãããšããå§ãããŸãã
Tiller ãš RBAC ãã©ã®ããã«æ©èœãããã説æããŠã¿ãŸãã Tiller ã¯ãç¹å®ã®ãµãŒãã¹ ã¢ã«ãŠã³ãã®äžã§ã¯ã©ã¹ã¿ãŒå ã§åäœããŸãã éåžžãRBAC ãæ§æãããŠããªãå Žåãããã¯ã¹ãŒããŒãŠãŒã¶ãŒã«ãªããŸãã åºæ¬æ§æã§ã¯ãTiller ã管çè ã«ãªããŸãã ããããTiller ãã¯ã©ã¹ã¿ãŒãžã® SSH ãã³ãã«ã§ãããšèšãããçç±ã§ãã å®éãããã¯çå®ã§ãããããäžã®å³ã®æ¢å®ã®ãµãŒãã¹ ã¢ã«ãŠã³ãã®ä»£ããã«å¥ã®å°çšãµãŒãã¹ ã¢ã«ãŠã³ãã䜿çšã§ããŸãã
Helm ãåæåãããµãŒããŒã«åããŠã€ã³ã¹ããŒã«ãããšãã¯ã次ã䜿çšããŠãµãŒãã¹ ã¢ã«ãŠã³ããèšå®ã§ããŸãã --service-account
ã ããã«ãããå¿
èŠãªæå°éã®æš©éã»ãããæã€ãŠãŒã¶ãŒã䜿çšã§ããããã«ãªããŸãã 確ãã«ããã®ãããªãã¬ãŒã©ã³ãããã€ãŸãRoleãšRoleBindingãäœæããå¿
èŠããããŸãã
æ®å¿µãªãããHelm ã¯ãããè¡ã£ãŠãããŸããã Helm ãæž¡ãããã«ãããªããŸã㯠Kubernetes ã¯ã©ã¹ã¿ãŒç®¡çè
ã¯ããµãŒãã¹ ã¢ã«ãŠã³ãã®ããŒã«ãšããŒã«ãã€ã³ãã£ã³ã°ã®ã»ãããäºåã«æºåããå¿
èŠããããŸãã
çåãçããŸããRole ãš ClusterRole ã®éãã¯äœã§ãã? éãã¯ãç¹æ®ãªåå空éã§ã®ã¿æ©èœããéåžžã®ããŒã«ãããŒã«ãã€ã³ãã£ã³ã°ãšã¯ç°ãªããClusterRole ã¯ãã¹ãŠã®åå空éã§æ©èœããããšã§ãã ã¯ã©ã¹ã¿ãŒå šäœãšãã¹ãŠã®åå空éã«å¯ŸããŠããªã·ãŒãæ§æããããšããååå空éã«å¯ŸããŠåå¥ã«ã«ã¹ã¿ãã€ãºããããšãã§ããŸãã
RBAC ãå¥ã®å€§ããªåé¡ã解決ããããšã¯èšåãã䟡å€ããããŸãã æ®å¿µãªãããHelm ã¯ãã«ãããã³ãã§ã¯ãªã (ãã«ãããã³ãããµããŒãããŠããªã) ãšå€ãã®äººãäžæºãæ±ããŠããŸãã è€æ°ã®ããŒã ãã¯ã©ã¹ã¿ãŒã䜿çšã㊠Helm ã䜿çšããå Žåããã®ã¯ã©ã¹ã¿ãŒå ã§ããªã·ãŒãèšå®ããŠã¢ã¯ã»ã¹ãå¶éããããšã¯åºæ¬çã«äžå¯èœã§ããããã¯ãHelm ãå®è¡ãããç¹å®ã®ãµãŒãã¹ ã¢ã«ãŠã³ããããããã®äžããã¯ã©ã¹ã¿ãŒå ã®ãã¹ãŠã®ãªãœãŒã¹ãäœæãããããã§ãã ãããã¯æã éåžžã«äžäŸ¿ã§ãã ããã¯çå®ã§ã - ãã€ã㪠ãã¡ã€ã«èªäœãããã»ã¹ãšåæ§ã«ã Helm Tiller ã«ã¯ãã«ãããã³ã·ãŒã®æŠå¿µããããŸãã.
ãã ããã¯ã©ã¹ã¿ãŒå 㧠Tiller ãè€æ°åå®è¡ã§ããåªããæ¹æ³ããããŸãã ããã«åé¡ã¯ãªããTiller ã¯ãã¹ãŠã®åå空éã§èµ·åã§ããŸãã ãããã£ãŠãRBACãKubeconfig ãã³ã³ããã¹ããšããŠäœ¿çšããç¹å¥ãª Helm ãžã®ã¢ã¯ã»ã¹ãå¶éã§ããŸãã
ãã®ããã«ãªããŸãã
ããšãã°ãç°ãªãããŒã (XNUMX ã€ã®åå空é) ã®ã³ã³ããã¹ããæ〠XNUMX ã€ã® Kubeconfig ããããŸã: éçºããŒã çšã® X ããŒã ãšç®¡çã¯ã©ã¹ã¿ãŒçšã§ãã 管çã¯ã©ã¹ã¿ã«ã¯ç¬èªã®ã¯ã€ã Tiller ãããããã㯠Kube-system åå空éã«ããã察å¿ããé«åºŠãªãµãŒãã¹ ã¢ã«ãŠã³ãã§ãã ãŸããéçºããŒã çšã®å¥ã®åå空éã«ããããµãŒãã¹ãç¹å¥ãªåå空éã«ãããã€ã§ããããã«ãªããŸãã
ããã¯å®è¡å¯èœãªã¢ãããŒãã§ããTiller ã¯äºç®ã«å€§ããªåœ±é¿ãäžããã»ã©é»åãæ¶è²»ããŸããã ããã¯ç°¡åãªè§£æ±ºçã® XNUMX ã€ã§ãã
èªç±ã« Tiller ãåå¥ã«æ§æããããŒã ãç¹å®ã®éçºè ããŸãã¯ç°å¢ (éçºãã¹ããŒãžã³ã°ãéçš) ã®ã³ã³ããã¹ãã Kubeconfig ã«æäŸã§ããŸã (ãã¹ãŠãåãã¯ã©ã¹ã¿ãŒäžã«ååšãããã©ããã¯çãããã§ãããããã¯å¯èœã§ã)ã
話ãç¶ããŠãRBAC ãã話é¡ãå€ããŠãConfigMap ã«ã€ããŠè©±ããŸãããã
ConfigMap
Helm ã¯ããŒã¿ ã¹ãã¢ãšã㊠ConfigMap ã䜿çšããŸãã ã¢ãŒããã¯ãã£ã«ã€ããŠè©±ãããšãããªãªãŒã¹ãæ§æãããŒã«ããã¯ãªã©ã«é¢ããæ å ±ãä¿åããããŒã¿ããŒã¹ã¯ã©ãã«ããããŸããã§ãããããã«ã¯ ConfigMaps ã䜿çšãããŸãã
ConfigMap ã®äž»ãªåé¡ã¯æ¢ç¥ã§ããConfigMap ã¯åççã«å®å šã§ã¯ãããŸããã æ©å¯ããŒã¿ãä¿åããããšã¯äžå¯èœã§ãã ããã§ã¯ããã¹ã¯ãŒããªã©ããµãŒãã¹ã®ç¯å²ãè¶ ããŠã¯ãããªããã¹ãŠã®ããšã«ã€ããŠè©±ããŸãã çŸæç¹ã§ã® Helm ã®æããã€ãã£ããªæ¹æ³ã¯ãConfigMap ã®äœ¿çšããã·ãŒã¯ã¬ããã®äœ¿çšã«åãæ¿ããããšã§ãã
ããã¯éåžžã«ç°¡åã«è¡ãããŸãã Tiller èšå®ããªãŒããŒã©ã€ãããã¹ãã¬ãŒãžãã·ãŒã¯ã¬ããã«ãªãããã«æå®ããŸãã ãã®åŸãå±éããšã«ãConfigMap ã§ã¯ãªãã·ãŒã¯ã¬ãããåãåããŸãã
ã·ãŒã¯ã¬ããèªäœã¯å¥åŠãªæŠå¿µã§ãããããŸãå®å
šã§ã¯ãªããšäž»åŒµãã人ãããã§ãããã ãã ããKubernetes éçºè
èªèº«ããããè¡ã£ãŠããããšãç解ãã䟡å€ããããŸãã ããŒãžã§ã³ 1.10 以éãã€ãŸãããªãåãããå°ãªããšããããªã㯠ã¯ã©ãŠãã§ã¯ãé©åãªã¹ãã¬ãŒãžã«æ¥ç¶ããŠã·ãŒã¯ã¬ãããä¿åããããšãå¯èœã§ããã ããŒã ã¯çŸåšãã·ãŒã¯ã¬ãããåã
ã®ãããããŸãã¯ãã®ä»ã®ãšã³ãã£ãã£ãžã®ã¢ã¯ã»ã¹ãããé©åã«åæ£ããæ¹æ³ã«åãçµãã§ããŸãã
Storage Helm ãã·ãŒã¯ã¬ããã«è»¢éããããšããå§ãããŸããããããã°ãã·ãŒã¯ã¬ããã¯äžå çã«ä¿è·ãããŸãã
ãã¡ããæ®ããŸã ããŒã¿ã¹ãã¬ãŒãžå¶éã¯1MBã ããã§ã® Helm ã¯ãConfigMap ã®åæ£ã¹ãã¬ãŒãžãšã㊠etcd ã䜿çšããŸãã ããã§åœŒãã¯ããããã¬ããªã±ãŒã·ã§ã³ãªã©ã«é©ããããŒã¿ãã£ã³ã¯ã§ãããšèããŸããã ããã«ã€ããŠã¯ Reddit ã§èå³æ·±ãè°è«ããããŸããé±æ«ã«ãã®é¢çœãèªã¿ç©ãèŠã€ããããæç²ãèªãããšããå§ãããŸãã
ãã£ãŒããªããžããª
ãã£ãŒãã¯ç€ŸäŒçã«æãè匱ã§ãããç¹ã«ã¹ãã㯠ãœãªã¥ãŒã·ã§ã³ã䜿çšããå Žåã¯ãäžéè ãã®çºçæºã«ãªãå¯èœæ§ããããŸãã ãŸãæåã«ãHTTP çµç±ã§å ¬éããããªããžããªã«ã€ããŠè©±ããŸãã
Helm Repo ã HTTPS çµç±ã§å ¬éããå¿ èŠãããããšã¯ééããããŸããããããæè¯ã®ãªãã·ã§ã³ã§ãããå®äŸ¡ã§ãã
ã«æ³šæãæã ãã£ãŒã眲åã¡ã«ããºã ã ãã®ãã¯ãããžãŒã¯éåžžã«ã·ã³ãã«ã§ãã ãã㯠GitHub ã§äœ¿çšãããã®ãšåããã®ã§ãå ¬éããŒãšç§å¯ããŒãåããéåžžã® PGP ãã·ã³ã§ãã å¿ èŠãªããŒãçšæãããã¹ãŠã«çœ²åããŠããããå®éã«ããªãã®ãã£ãŒãã§ããããšã確èªããŠãã ããã
å ããŠã Helm ã¯ã©ã€ã¢ã³ã㯠TLS ããµããŒãããŸã (ãµãŒããŒåŽã® HTTP ã®æå³ã§ã¯ãªããçžäº TLS)ã éä¿¡ããã«ã¯ãµãŒããŒããŒãšã¯ã©ã€ã¢ã³ãããŒã䜿çšã§ããŸãã æ£çŽã«èšããšãç§ã¯çžäºèšŒææžã奜ãã§ã¯ãªãã®ã§ããã®ãããªä»çµã¿ã¯äœ¿ã£ãŠããŸããã åºæ¬çã«ã
ãã©ã°ã€ã³ããããŸã
HTTPS ãŸã㯠TLS ãæå¹ã«ããmTLS ã䜿çšããåºæ¬èªèšŒãæå¹ã«ããŠãªã¹ã¯ãããã«è»œæžãããšãHelm CLI ãš Chart Repo ã䜿çšããå®å
šãªéä¿¡ãã£ãã«ãåŸãããŸãã
gRPC API
次ã®ã¹ãããã¯éåžžã«éèŠã§ããTiller ãä¿è·ããããšã§ããTiller ã¯ã¯ã©ã¹ã¿ãŒå ã«ãããäžæ¹ã§ã¯ãµãŒããŒã§ãããä»æ¹ã§ã¯ãããèªäœãä»ã®ã³ã³ããŒãã³ãã«ã¢ã¯ã»ã¹ãã誰ãã«ãªãããŸãããšããŸãã
ãã§ã«è¿°ã¹ãããã«ãTiller 㯠gRPC ãå ¬éãããµãŒãã¹ã§ãããHelm ã¯ã©ã€ã¢ã³ã㯠gRPC çµç±ã§ Tiller ã«ã¢ã¯ã»ã¹ããŸãã ãã¡ãããããã©ã«ãã§ã¯ TLS ã¯ç¡å¹ã«ãªã£ãŠããŸãã ãªããããè¡ãããã®ãã¯è°è«ã®äœå°ããããŸãããæåã®ã»ããã¢ãããç°¡çŽ åããããã ãšæãããŸãã
æ¬çªç°å¢ãã¹ããŒãžã³ã°ã®å Žåã§ããgRPC 㧠TLS ãæå¹ã«ããããšããå§ãããŸãã
ç§ã®æèŠã§ã¯ããã£ãŒãã® mTLS ãšã¯ç°ãªããããã¯ããã§ã¯é©åã§ãããPQI ã€ã³ãã©ã¹ãã©ã¯ãã£ã®çæã蚌ææžã®äœæãTiller ã®èµ·åãåæåäžã®èšŒææžã®è»¢éãšããéåžžã«ç°¡åã«å®è¡ãããŸãã ãã®åŸãçæããã蚌ææžãšç§å¯ããŒãèªåèªèº«ã«æ瀺ããŠããã¹ãŠã® Helm ã³ãã³ããå®è¡ã§ããŸãã
ããããããšã§ãã¯ã©ã¹ã¿ãŒã®å€éšãã Tiller ãžã®ãã¹ãŠã®ãªã¯ãšã¹ããã身ãå®ãããšãã§ããŸãã
ãã®ãããTiller ãžã®æ¥ç¶ãã£ãã«ã確ä¿ãããã§ã« RBAC ã«ã€ããŠè°è«ããKubernetes API ãµãŒããŒã®æš©éã調æŽããŠã察話ã§ãããã¡ã€ã³ãåæžããŸããã
ä¿è·ããããã«ã
æçµçãªå³ãèŠãŠã¿ãŸãããã åãã¢ãŒããã¯ãã£ã§ãåãç¢å°ãä»ããŠããŸãã
ãã¹ãŠã®æ¥ç¶ãå®å
šã«ç·è²ã§æç»ã§ããããã«ãªããŸããã
- Chart Repo ã®å Žåã¯ãTLS ãŸã㯠mTLS ãšåºæ¬èªèšŒã䜿çšããŸãã
- Tiller ã® mTLS ã¯ãTLS ã䜿çšã㊠gRPC ãµãŒãã¹ãšããŠå ¬éããã蚌ææžã䜿çšããŸãã
- ã¯ã©ã¹ã¿ãŒã¯ãRââole ãš RoleBinding ãæã€ç¹å¥ãªãµãŒãã¹ ã¢ã«ãŠã³ãã䜿çšããŸãã
ç§ãã¡ã¯ã¯ã©ã¹ã¿ãŒãå€§å¹ ã«ä¿è·ããŸããããè³¢ã人ãããèšããŸããã
ã絶察ã«å®å šãªè§£æ±ºç㯠XNUMX ã€ã ããããŸããããã¯ãé»æºãåã£ãã³ã³ãã¥ãŒã¿ãŒã§ãããã³ã³ã¯ãªãŒãã®ç®±ã®äžã«çœ®ãããå µå£«ã«ãã£ãŠå®ãããŠããã®ã§ããã
ããŒã¿ãæäœããŠæ°ããæ»æãã¯ãã«ãèŠã€ããã«ã¯ãããŸããŸãªæ¹æ³ããããŸãã ããããç§ã¯ãããã®æšå¥šäºé ãå®å šæ§ã«é¢ããåºæ¬çãªæ¥çæšæºãéæãããšç¢ºä¿¡ããŠããŸãã
ããŒãã¹
ãã®éšåã¯ã»ãã¥ãªãã£ãšã¯çŽæ¥é¢ä¿ãããŸãããã圹ç«ã¡ãŸãã ããŸãç¥ãããŠããªãé¢çœãããšãããã€ã玹ä»ããŸãã ããšãã°ãå ¬åŒããã³éå ¬åŒã®ãã£ãŒããæ€çŽ¢ããæ¹æ³ã§ãã
ãªããžããªå
ã§ããµãŒãã¹ã¯ããã
Hub.helm.sh ãè©ŠããŠãäžç·ã«éçºããŸãããã ãã®ãµãŒãã¹ã¯ Helm ãããžã§ã¯ãã®äžã«ãããããã³ããšã³ãéçºè ã§å€èŠ³ãæ¹åãããã ãã§ããã°ããã® UI ã«è²¢ç®ããããšãã§ããŸãã
ãã¡ãã«ã泚ç®ããŠããã ãããã®ã§ããã ãªãŒãã³ãµãŒãã¹ãããŒã«ãŒAPIã®çµ±åã é¢åã§ãããã«ããããã«æããŸããã誰ããçŽé¢ããåé¡ã解決ããŸãã ç°¡åãªäŸã§èª¬æããŸãããã
åŸæ¥ã®ã¢ããªã±ãŒã·ã§ã³ã§ãã WordPress ãå®è¡ããã Kubernetes ã¯ã©ã¹ã¿ãŒããããŸãã éåžžããã¹ãŠã®æ©èœãå©çšããã«ã¯ããŒã¿ããŒã¹ãå¿
èŠã§ãã ããŸããŸãªãœãªã¥ãŒã·ã§ã³ããããããšãã°ãç¬èªã®ã¹ããŒããã« ãµãŒãã¹ãèµ·åã§ããŸãã ããã¯ããŸã䟿å©ã§ã¯ãããŸããããå€ãã®äººãããããŠããŸãã
ç§ãã¡ Chainstack ã®ããã«ãMySQL ã PostgreSQL ãªã©ã®ãããŒãžã ããŒã¿ããŒã¹ããµãŒããŒã«äœ¿çšããŠããäŒæ¥ãããŸãã ãã®ãããåœç€Ÿã®ããŒã¿ããŒã¹ã¯ã¯ã©ãŠãå ã®ã©ããã«é 眮ãããŠããŸãã
ããããåé¡ãçºçããŸãããµãŒãã¹ãããŒã¿ããŒã¹ã«æ¥ç¶ããããŒã¿ããŒã¹ ãã¬ãŒããŒãäœæããè³æ Œæ å ±ã転éããŠããããäœããã®æ¹æ³ã§ç®¡çããå¿ èŠããããŸãã éåžžããããã¯ãã¹ãŠã·ã¹ãã 管çè ãŸãã¯éçºè ã«ãã£ãŠæåã§è¡ãããŸãã ç³ã蟌ã¿ãå°ãªãå Žåã§ãåé¡ãããŸããã æ°ãå€ãå Žåã¯ã³ã³ãã€ã³ãå¿ èŠã§ãã ãã®ãããªããŒãã¹ã¿ãŒããããŸã - ããã¯ãµãŒãã¹ãããŒã«ãŒã§ãã ããã«ããããããªã㯠ã¯ã©ãŠã ã¯ã©ã¹ã¿ãŒçšã®ç¹å¥ãªãã©ã°ã€ã³ã䜿çšããAPI ã§ãããã®ããã«ããããŒã«ãŒãéããŠãããã€ããŒã«ãªãœãŒã¹ã泚æã§ããŸãã ãããè¡ãã«ã¯ããã€ãã£ã Kubernetes ããŒã«ã䜿çšã§ããŸãã
ãšãŠãã·ã³ãã«ã§ãã ããšãã°ãåºæ¬å±€ã䜿çšã㊠Azure ã®ãããŒãžã MySQL ã«ã¯ãšãªãå®è¡ã§ããŸã (ããã¯æ§æå¯èœã§ã)ã Azure API ã䜿çšããŠãããŒã¿ããŒã¹ãäœæããã䜿çšã§ããããã«æºåãããŸãã ããã«å¹²æžããå¿ èŠã¯ãããŸããããã©ã°ã€ã³ããããæ åœããŸãã ããšãã°ãOSBA (Azure ãã©ã°ã€ã³) ã¯è³æ Œæ å ±ããµãŒãã¹ã«è¿ããããã Helm ã«æž¡ããŸãã ã¯ã©ãŠã MySQL 㧠WordPress ã䜿çšã§ããããã«ãªãã管çãããããŒã¿ããŒã¹ããŸã£ããæ±ãããå éšã®ã¹ããŒããã« ãµãŒãã¹ã«ã€ããŠå¿é ããå¿ èŠããªããªããŸãã
Helm ã¯ãäžæ¹ã§ã¯ãµãŒãã¹ã®ãããã€ãå¯èœã«ããä»æ¹ã§ã¯ã¯ã©ãŠã ãããã€ããŒã®ãªãœãŒã¹ãæ¶è²»ã§ããããã«ããæ¥çå€ãšããŠæ©èœãããšèšããŸãã
ç¬èªã®ãã©ã°ã€ã³ãäœæããŠããã®ã¹ããŒãªãŒå šäœããªã³ãã¬ãã¹ã§äœ¿çšããããšãã§ããŸãã ããããã°ãäŒæ¥ã¯ã©ãŠã ãããã€ããŒçšã®ç¬èªã®ãã©ã°ã€ã³ãäœæããã ãã§ãã ç¹ã«èŠæš¡ã倧ãããéçºãã¹ããŒãžã³ã°ããŸãã¯æ©èœã®ã€ã³ãã©ã¹ãã©ã¯ãã£å šäœãè¿ éã«ãããã€ãããå Žåã¯ããã®ã¢ãããŒããè©Šãããšããå§ãããŸãã ããã«ãããéçšã DevOps ã楜ã«ãªããŸãã
ãã§ã«è¿°ã¹ãããäžã€ã®çºèŠã¯ã Helm-gcs ãã©ã°ã€ã³ããã«ãããGoogle ãã±ãã (ãªããžã§ã¯ã ã¹ãã¬ãŒãž) ã䜿çšã㊠Helm ãã£ãŒããä¿åã§ããããã«ãªããŸãã
䜿çšãéå§ããã«ã¯ XNUMX ã€ã®ã³ãã³ãã®ã¿ãå¿
èŠã§ãã
- ãã©ã°ã€ã³ãã€ã³ã¹ããŒã«ããŸãã
- ãããéå§ããŸãã
- gcp ã«ãããã±ãããžã®ãã¹ãèšå®ããŸãã
- æšæºçãªæ¹æ³ã§ãã£ãŒããå ¬éããŸãã
å©ç¹ã¯ããã€ãã£ã gcp ã¡ãœãããèªèšŒã«äœ¿çšãããããšã§ãã ãµãŒãã¹ ã¢ã«ãŠã³ããéçºè ã¢ã«ãŠã³ããªã©ã奜ããªãã®ã䜿çšã§ããŸãã éåžžã«äŸ¿å©ã§ãéçšã³ã¹ããããããŸããã ç§ãšåãããã«ãopsless ã®å²åŠãæšé²ããå Žåãç¹ã«å°èŠæš¡ãªããŒã ã«ãšã£ãŠãããã¯éåžžã«äŸ¿å©ã§ãã
代æ¿æ¡
Helm ã ãããµãŒãã¹ç®¡çãœãªã¥ãŒã·ã§ã³ã§ã¯ãããŸããã ããã«ã€ããŠã¯å€ãã®çåããããããããããã第 XNUMX ããŒãžã§ã³ãããã»ã©æ©ãç»å Žããçç±ã§ãããã ãã¡ãã代æ¿æ段ã¯ãããŸãã
ãããã¯ãKsonnet ã Metaparticle ãªã©ã®ç¹æ®ãªãœãªã¥ãŒã·ã§ã³ã«ããããšãã§ããŸãã åŸæ¥ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ç®¡çããŒã« (AnsibleãTerraformãChef ãªã©) ããç§ã説æããã®ãšåãç®çã«äœ¿çšã§ããŸãã
æåŸã«è§£æ±ºçããããŸã
Operator Framework ã¯ãHelm ã®ä»£æ¿ãšããŠæ€èšãã¹ãæäžäœã®éžæè¢ã§ãã
CNCF ãš Kubernetes ã«ãããã€ãã£ãã§ããã ãããåå ¥éå£ã¯ã¯ããã«é«ããããå€ãã®ããã°ã©ã ãäœæãããããã§ã¹ãã®èšè¿°ãå°ãªãããå¿ èŠããããŸãã
DraftãScaffoldãªã©ãããŸããŸãªã¢ããªã³ããããŸãã ããšãã°ãéçºè ããã¹ãç°å¢ããããã€ããããã« Helm ãéä¿¡ããŠèµ·åãããµã€ã¯ã«ãç°¡çŽ åããããªã©ãäœæ¥ãå€§å¹ ã«æ¥œã«ãªããŸãã ç§ã¯åœŒãããšã³ãã¯ã©ãŒãšåŒã³ãŸãã
ããã¯ããã¹ãŠãã©ãã«ãããã瀺ãèŠèŠçãªãã£ãŒãã§ãã
X 軞ã¯äœãèµ·ãã£ãŠããããå人çã«å¶åŸ¡ã§ããã¬ãã«ãY 軞㯠Kubernetes ã®ãã€ãã£ãæ§ã®ã¬ãã«ã§ãã Helm ããŒãžã§ã³ 2 ã¯ãã®äžéã«äœçœ®ããŸãã ããŒãžã§ã³ 3 ã§ã¯ãããã»ã©å€§ããã¯ãããŸããããå¶åŸ¡ãšãã€ãã£ãæ§ã®ã¬ãã«ã®äž¡æ¹ãåäžããŸããã Ksonnet ã¬ãã«ã®ãœãªã¥ãŒã·ã§ã³ã¯ãäŸç¶ãšã㊠Helm 2 ãããå£ã£ãŠããŸãããããããã®äžçã«ä»ã«äœãããã®ãââãç¥ãããã«ã¯ãæ€èšãã䟡å€ããããŸãã ãã¡ãããæ§æãããŒãžã£ãŒã¯ãŠãŒã¶ãŒã®ç®¡çäžã«ãããŸãããããã¯æ±ºã㊠Kubernetes ã«ãã€ãã£ããªãã®ã§ã¯ãããŸããã
Operator Framework ã¯å®å šã« Kubernetes ã«ãã€ãã£ãã§ããããããšã¬ã¬ã³ããã€ç¶¿å¯ã«ç®¡çã§ããããã«ãªããŸã (ãã ãããšã³ããªãŒ ã¬ãã«ã«ã€ããŠã¯èŠããŠãããŠãã ãã)ã ããããããã¯ãHelm ã䜿çšããŠèšå€§ãªæ°ã®ã¢ããªã±ãŒã·ã§ã³ãããã±ãŒãžåããããã®ãã¹ããŒãã¹ã¿ãŒã§ã¯ãªããç¹æ®ãªã¢ããªã±ãŒã·ã§ã³ãšãã®ç®¡çã®äœæã«é©ããŠããŸãã
ãšã¯ã¹ãã³ããŒã¯ãåã«å¶åŸ¡ãå°ãæ¹åããããã¯ãŒã¯ãããŒãè£å®ããããCI/CD ãã€ãã©ã€ã³ã®æãæãããããã ãã§ãã
ãã«ã ã®æªæ¥
è¯ããã¥ãŒã¹ã¯ãHelm 3 ãç»å Žãããšããããšã§ããHelm 3.0.0-alpha.2 ã®ã¢ã«ãã¡çããã§ã«ãªãªãŒã¹ãããŠããã®ã§ãè©ŠããŠã¿ãããšãã§ããŸãã éåžžã«å®å®ããŠããŸãããæ©èœã¯ãŸã å¶éãããŠããŸãã
Helm 3 ãå¿ èŠãªçç±ã¯äœã§ãã? ãŸããä»åã®ã話ã¯ã ãã£ã©ãŒã®å€±èžªãã³ã³ããŒãã³ããšããŠã ãã§ã«ããããã®ãšãããã¢ãŒããã¯ãã£ã®ã»ãã¥ãªãã£ã®èŠ³ç¹ãããã¹ãŠãç°¡çŽ åããããããããã¯å€§ããªåé²ã§ãã
Helm 2 ãäœæããããšããã€ãŸã Kubernetes 1.8 ã®é ããããã¯ãã以åã®ãããå€ãã®æŠå¿µãæªçã§ããã ããšãã°ãCRD ã³ã³ã»ããã¯çŸåšç©æ¥µçã«å®è£ ãããŠãããHelm 㯠CRDã䜿çšããæ§é ãä¿åããŸãã ãµãŒããŒéšåãã¡ã³ããã³ã¹ããã«ã¯ã©ã€ã¢ã³ãã®ã¿ã䜿çšããããšãå¯èœã«ãªããŸãã ãããã£ãŠããã€ãã£ã Kubernetes ã³ãã³ãã䜿çšããŠæ§é ãšãªãœãŒã¹ãæäœããŸãã ããã¯å€§ããªåé²ã§ãã
衚瀺ãããŸã ãã€ãã£ãOCIãªããžããªã®ãµããŒã (ãªãŒãã³ã³ã³ããã€ãã·ã¢ãã)ã ããã¯å€§ããªåãçµã¿ã§ãããHelm ã¯äž»ã«ãã£ãŒããæçš¿ããããšã«èå³ãæã£ãŠããŸãã ããšãã°ãDocker Hub ã¯å€ãã® OCI æšæºããµããŒãããŠãããšããããšã«ãªããŸãã æšæž¬ã§ã¯ãããŸããããããããåŸæ¥ã® Docker ãªããžã㪠ãããã€ããŒã Helm ãã£ãŒãããã¹ãããæ©äŒãæäŸãå§ããã§ãããã
ç§ã«ãšã£ãŠç©è°ãéžã話ã¯ã Luaã®ãµããŒããã¹ã¯ãªãããäœæããããã®ãã³ãã¬ãŒã ãšã³ãžã³ãšããŠã ç§ã¯ Lua ã®å€§ãã¡ã³ã§ã¯ãããŸããããããã¯å®å šã«ãªãã·ã§ã³ã®æ©èœã§ãã ããã 3 å確èªããŸãããLua ã䜿çšããå¿ èŠã¯ãããŸããã ãããã£ãŠãLua ã䜿ããããã«ãªããã人ãGo ã奜ããªäººã¯ãç§ãã¡ã®å·šå€§ãªãã£ã³ãã«åå ãããã®ããã« go-tmpl ã䜿çšããŠãã ããã
æåŸã«ãç§ã«æ±ºå®çã«æ¬ ããŠããã®ã¯ã ã¹ããŒãã®åºçŸãšããŒã¿åã®æ€èšŒã int ãŸã㯠string ã«é¢ããåé¡ã¯ãªããªãããŒããäºéåŒçšç¬Šã§å²ãå¿ èŠããªããªããŸãã ãããå€ãšããŠæ瀺çã«èšè¿°ã§ãã JSONS ã¹ããŒãã衚瀺ãããŸãã
å€§å¹ ã«æçŽããããäºå® ã€ãã³ãé§ååã¢ãã«ã ããã¯ãã§ã«æŠå¿µçã«èª¬æãããŠããŸãã Helm 3 ãã©ã³ããèŠããšãã€ãã³ããããã¯ããã®ä»ã®ãã®ãã©ãã ãè¿œå ãããŠããããããããŸããããã«ããããããã€ã¡ã³ã ããã»ã¹ãšãã®åå¿ãå€§å¹ ã«ç°¡çŽ åãããäžæ¹ã§å¶åŸ¡ãè¿œå ãããŸãã
Helm 3 ã¯ãããã·ã³ãã«ã§ãããå®å šã§ããã楜ãããã®ã«ãªããŸããããã¯ãHelm 2 ãæ°ã«å ¥ããªãããã§ã¯ãªããKubernetes ãããé«åºŠã«ãªã£ãŠããããã§ãã ãããã£ãŠãHelm 㯠Kubernetes ã®éçºã䜿çšãããã®äžã« Kubernetes ã®åªãããããŒãžã£ãŒãäœæã§ããŸãã
ããäžã€ã®è¯ããã¥ãŒã¹ã¯ã
DevOpsConf ã¢ã¬ã¯ãµã³ããŒã»ããšããã¯ããèšããŸããã³ã³ããã¯å®å šã«ä¿ãŠãŸãã? éçºããã¹ããéçšããã»ã¹ã®çµ±åã«é¢ããäŒè°ãã¢ã¹ã¯ã¯ã§éå¬ãããããšããç¥ããããŸãã 30æ1æ¥ãšXNUMXæXNUMXæ¥ã 20æXNUMXæ¥ãŸã§ãªããŸã ã§ãããã¬ããŒããéä¿¡ ãœãªã¥ãŒã·ã§ã³ã«é¢ããããªãã®çµéšã«ã€ããŠæããŠãã ããããããã®ãã¡ã®äžã€ DevOps ã¢ãããŒãã®ã¿ã¹ã¯ãã«ã³ãã¡ã¬ã³ã¹ã®ãã§ãã¯ãã€ã³ããšãã¥ãŒã¹ããã©ããŒããŠãã ããã
ã¡ãŒãªã³ã°ãªã¹ã Оé»å ±ãã£ã³ãã« .
åºæïŒ habr.com