以äžã®
ãããããªãè¿œå ãããã®ã§ããããïŒ
Kubernetes ãæ¢è£œã®ãªãŒã«ã€ã³ã¯ã³è£œåã§ã¯ãªãããšã¯åšç¥ã®äºå®ã§ããããæ人åããã¯ã©ã¹ã¿ãŒãæ§ç¯ããã«ã¯ããŸããŸãªè¿œå ãå¿ èŠã«ãªããŸãã Addon-operator ã¯ããããã®ã¢ããªã³ã®ã€ã³ã¹ããŒã«ãæ§æãããã³ææ°ã®ç¶æ ã®ç¶æãæ¯æŽããŸãã
ã¯ã©ã¹ã¿ãŒå
ã®è¿œå ã³ã³ããŒãã³ãã®å¿
èŠæ§ã«ã€ããŠã¯ã以äžã§èª¬æãããŠããŸãã
圌ããšã®ååã®å ·äœçãªå 容ã¯äœã§ããïŒ
å®éã«èŠãŠã¿ããšãããããã«ãåé¡ã¯ XNUMX ã€ã®ã€ã³ã¹ããŒã«ã«éå®ãããŸããã ã¯ã©ã¹ã¿ãŒã§å¿«é©ã«åäœããã«ã¯ãã¢ããªã³ãæŽæ°ããŠç¡å¹ã«ãã (ã¯ã©ã¹ã¿ãŒããåé€ãã) å¿ èŠããããéçšã¯ã©ã¹ã¿ãŒã«ã€ã³ã¹ããŒã«ããåã«ããã€ãã®ã¢ããªã³ããã¹ãããå¿ èŠããããŸãã
ã§ã¯ãããã§ã¯ Ansible ã§ååã§ãããã? å€åã ããã äžè¬ã«ãæ¬æ Œçãªã¢ããªã³ã¯èšå®ãªãã§ã¯åäœããŸãããã ãããã®èšå®ã¯ãã¯ã©ã¹ã¿ãŒã®ããªã¢ã³ã (awsãgceãazureãbare-metalãdo ãªã©) ã«ãã£ãŠç°ãªãå ŽåããããŸãã äžéšã®èšå®ã¯äºåã«æå®ã§ãããã¯ã©ã¹ã¿ãŒããååŸããå¿ èŠããããŸãã ãŸããã¯ã©ã¹ã¿ãŒã¯éçã§ã¯ãããŸãããèšå®ã«ãã£ãŠã¯ãå€æŽãç£èŠããå¿ èŠããããŸãã ãããŠãããã§ã¯ Ansible ããã§ã«æ¬ ããŠããŸããã¯ã©ã¹ã¿ãŒå ã«ååšããããã°ã©ã ãå¿ èŠã§ãã Kubernetes ãªãã¬ãŒã¿ãŒã
è·å Žã§è©ŠããŠã¿ãæ¹ kubectl apply
ããšãã°ãèšå®ãä¿åããã ConfigMap ãç£èŠããŸãã ããã¯ã»ãŒ addon-operator ã§å®è£
ãããŠãããã®ã§ãã
ãã㯠addon-operator ã§ã©ã®ããã«æ§æãããŸãã?
æ°ãããœãªã¥ãŒã·ã§ã³ãäœæããéã«ã¯ã次ã®ååã«åºã¥ããŠäœæ¥ãé²ããŸããã
- ã¢ããªã³ ã€ã³ã¹ããŒã©ãŒã¯ãµããŒãããå¿ èŠããããŸã ãã³ãã¬ãŒããšå®£èšåã®æ§æã ç§ãã¡ã¯ã¢ããªã³ãã€ã³ã¹ããŒã«ããéæ³ã®ã¹ã¯ãªãããäœæããŸããã ã¢ããªã³ ãªãã¬ãŒã¿ãŒã¯ Helm ã䜿çšããŠã¢ããªã³ãã€ã³ã¹ããŒã«ããŸãã ã€ã³ã¹ããŒã«ããã«ã¯ããã£ãŒããäœæããæ§æã«äœ¿çšãããå€ãéžæããå¿ èŠããããŸãã
- èšå®ã§ããã®ã¯ã ã€ã³ã¹ããŒã«æã«çæãããããããã¯å¯èœã§ã ã¯ã©ã¹ã¿ãŒããååŸãŸã㯠ã¢ããããŒããåä¿¡ãããã¯ã©ã¹ã¿ãŒãªãœãŒã¹ãç£èŠããŸãã ãããã®æäœã¯ããã¯ã䜿çšããŠå®è£ ã§ããŸãã
- èšå®ã§ããã®ã¯ã ã¯ã©ã¹ã¿ãŒã«æ ŒçŽããã ã¯ã©ã¹ã¿ãŒã«èšå®ãä¿åããã«ã¯ãConfigMap/ã¢ããªã³ ãªãã¬ãŒã¿ãŒãäœæãããã¢ããªã³ ãªãã¬ãŒã¿ãŒã¯ãã® ConfigMap ãžã®å€æŽãç£èŠããŸãã Addon-operator ã¯ãåçŽãªèŠåã䜿çšããŠããã¯ã«èšå®ãžã®ã¢ã¯ã»ã¹ãæäŸããŸãã
- è¿œå ã¯èšå®ã«ããã èšå®ãå€æŽãããå Žåãã¢ããªã³ ãªãã¬ãŒã¿ãŒã¯æ°ããå€ã§ Helm ãã£ãŒããããŒã«ã¢ãŠãããŸãã Helm ãã£ãŒãããã®å€ãããã³ããã¯ã®çµã¿åãããã¢ãžã¥ãŒã«ãšåŒã³ãŸã (詳现ã«ã€ããŠã¯ä»¥äžãåç §)ã
- æŒåºã éæ³ã®ãªãªãŒã¹ ã¹ã¯ãªããã¯ãããŸããã æŽæ°ã¡ã«ããºã ã¯éåžžã®ã¢ããªã±ãŒã·ã§ã³ãšäŒŒãŠãããã¢ããªã³ãšã¢ããªã³ ãªãã¬ãŒã¿ãŒãã€ã¡ãŒãžã«åéããã¿ã°ä»ãããŠããŒã«ã¢ãŠãããŸãã
- çµæã®å¶åŸ¡ã Addon-operator 㯠Prometheus ã®ã¡ããªã¯ã¹ãæäŸã§ããŸãã
ã¢ããªã³æŒç®åã®ããã£ã³ã°ãšã¯äœã§ãã?
è¿œå ãšã¯ãã¯ã©ã¹ã¿ãŒã«æ°ããæ©èœãè¿œå ãããã®ãã¹ãŠãæããŸãã ããšãã°ãIngress ã®ã€ã³ã¹ããŒã«ã¯ã¢ããªã³ã®å¥œäŸã§ãã ããã¯ãç¬èªã® CRD ãæã€ä»»æã®ãªãã¬ãŒã¿ãŒãŸãã¯ã³ã³ãããŒã©ãŒ (prometheus-operatorãcert-managerãkube-controller-manager ãªã©) ã«ããããšãã§ããŸãã ãŸãã¯ãå°èŠæš¡ã ã䜿ãããããã® - ããšãã°ãã¬ãžââã¹ã㪠ã·ãŒã¯ã¬ãããæ°ããåå空éã«ã³ããŒããã·ãŒã¯ã¬ãã ã³ãã¢ããæ°ããããŒã㧠sysctl ãã©ã¡ãŒã¿ãæ§æãã sysctl ãã¥ãŒããŒãªã©ã§ãã
ã¢ããªã³ãå®è£ ããããã«ãAddon-operator ã¯ããã€ãã®æŠå¿µãæäŸããŸãã
- ãã«ã ãã£ãŒã PrometheusãGrafanaãnginx-ingress ãªã©ãããŸããŸãªãœãããŠã§ã¢ãã¯ã©ã¹ã¿ãŒã«ã€ã³ã¹ããŒã«ããããã«äœ¿çšãããŸãã å¿ èŠãªã³ã³ããŒãã³ãã« Helm ãã£ãŒããããå ŽåãAddon-operator ã䜿çšããŠã€ã³ã¹ããŒã«ããã®ã¯éåžžã«ç°¡åã§ãã
- 䟡å€èŠ³ã®ã¹ãã¬ãŒãžã éåžžãHelm ãã£ãŒãã«ã¯ããŸããŸãªèšå®ããããæéã®çµéãšãšãã«å€æŽãããå¯èœæ§ããããŸãã Addon-operator ã¯ãããã®èšå®ã®ä¿åããµããŒãããŠãããæ°ããå€ã§ Helm ãã£ãŒããåã€ã³ã¹ããŒã«ããããã«ãã®å€æŽãç£èŠã§ããŸãã
- ãã㯠ã¢ããªã³ ãªãã¬ãŒã¿ãŒãã€ãã³ãã§å®è¡ããå€ã¹ãã¢ã«ã¢ã¯ã»ã¹ããå®è¡å¯èœãã¡ã€ã«ã§ãã ããã¯ã¯ã¯ã©ã¹ã¿ãŒå ã®å€æŽãç£èŠããå€ã¹ãã¢å ã®å€ãæŽæ°ã§ããŸãã ãããã®ã ããã¯ã䜿çšãããšãèµ·åæãŸãã¯ã¹ã±ãžã¥ãŒã«ã«åŸã£ãŠã¯ã©ã¹ã¿ãŒããå€ãåéãããã£ã¹ã«ããªãŒãå®è¡ããããã¯ã©ã¹ã¿ãŒå ã®å€æŽã«åºã¥ããŠã¯ã©ã¹ã¿ãŒããå€ãåéããç¶ç¶çãªãã£ã¹ã«ããªãŒãå®è¡ãããã§ããŸãã
- ã¢ãžã¥ãŒã« Helm ãã£ãŒããå€ã¹ãã¢ãããã¯ã®çµã¿åããã§ãã ã¢ãžã¥ãŒã«ã¯æå¹ãŸãã¯ç¡å¹ã«ããããšãã§ããŸãã ã¢ãžã¥ãŒã«ãç¡å¹ã«ãããšããããšã¯ããã¹ãŠã® Helm ãã£ãŒã ãªãªãŒã¹ãåé€ããããšãæå³ããŸãã ã¢ãžã¥ãŒã«ã¯ãå¿ èŠãªãã¹ãŠã®ã¢ãžã¥ãŒã«ãæå¹ã«ãªã£ãŠããå ŽåããŸãã¯æ€åºã§ããã¯å ã«å¿ èŠãªãã©ã¡ãŒã¿ãèŠã€ãã£ãå Žåãªã©ãã¢ãžã¥ãŒã«èªäœãåçã«æå¹ã«ããããšãã§ããŸããããã¯è£å©æå¹ã¹ã¯ãªããã䜿çšããŠè¡ãããŸãã
- ã°ããŒãã«ããã¯ã ãããã¯ãç¬èªã®ãããã¯ã§ãããã¢ãžã¥ãŒã«ã«ã¯å«ãŸããŠããããã°ããŒãã«å€ã¹ãã¢ã«ã¢ã¯ã»ã¹ã§ãããã®å€ã¯ã¢ãžã¥ãŒã«å ã®ãã¹ãŠã®ããã¯ã§å©çšã§ããŸãã
ãããã®éšåã¯ã©ã®ããã«é£æºããã®ã§ãããã? ããã¥ã¡ã³ãã®åçãèŠãŠã¿ãŸãããã
次㮠XNUMX ã€ã®äœæ¥ã·ããªãªããããŸãã
- ã°ããŒãã« ããã¯ã¯ãã¯ã©ã¹ã¿ãŒå ã®ãªãœãŒã¹ãå€æŽããããšããªã©ãã€ãã³ãã«ãã£ãŠããªã¬ãŒãããŸãã ãã®ããã¯ã¯å€æŽãåŠçããæ°ããå€ãã°ããŒãã«å€ã¹ãã¢ã«æžã蟌ã¿ãŸãã ã¢ããªã³ ãªãã¬ãŒã¿ãŒã¯ãã°ããŒãã« ã¹ãã¬ãŒãžãå€æŽãããããšã«æ°ã¥ãããã¹ãŠã®ã¢ãžã¥ãŒã«ãéå§ããŸãã åã¢ãžã¥ãŒã«ã¯ããã®ããã¯ã䜿çšããŠãæå¹ã«ããå¿ èŠããããã©ãããå€æãããã®å€ã¹ãã¢ãæŽæ°ããŸãã ã¢ãžã¥ãŒã«ãæå¹ãªå Žåãã¢ããªã³ ãªãã¬ãŒã¿ãŒã¯ Helm ãã£ãŒãã®ã€ã³ã¹ããŒã«ãéå§ããŸãã ãã®å ŽåãHelm ãã£ãŒãã¯ã¢ãžã¥ãŒã« ã¹ãã¬ãŒãžãšã°ããŒãã« ã¹ãã¬ãŒãžã®å€ã«ã¢ã¯ã»ã¹ã§ããŸãã
- XNUMX çªç®ã®ã·ããªãªã¯ããåçŽã§ããã¢ãžã¥ãŒã« ããã¯ã¯ã€ãã³ãã«ãã£ãŠããªã¬ãŒãããã¢ãžã¥ãŒã«ã®å€ã¹ãã¢å ã®å€ãå€æŽããŸãã ã¢ããªã³ ãªãã¬ãŒã¿ãŒã¯ããã«æ°ã¥ããæŽæ°ãããå€ã§ Helm ãã£ãŒããèµ·åããŸãã
è¿œå ã¯ãXNUMX ã€ã®åäžããã¯ããŸã㯠XNUMX ã€ã® Helm ãã£ãŒããšããŠå®è£
ã§ããŸãã è€æ°ã®äŸåã¢ãžã¥ãŒã«ã§ãã£ãŠã - ããã¯ãã¯ã©ã¹ã¿ãŒã«ã€ã³ã¹ããŒã«ãããã³ã³ããŒãã³ãã®è€éããšãå¿
èŠãªæ§æã®æè»æ§ã®ã¬ãã«ã«ãã£ãŠç°ãªããŸãã ããšãã°ããªããžã㪠(
ã¢ããããŒãã®é ä¿¡
Addon-operator ãã€ã³ã¹ããŒã«ããã³ã³ããŒãã³ãã®æŽæ°ã®æŽçã«ã€ããŠå°ã説æããŸãã
ã¯ã©ã¹ã¿ãŒå
㧠Addon-operator ãå®è¡ããã«ã¯ã次ã®ãã®ãå¿
èŠã§ãã è¿œå ãå ããŠã€ã¡ãŒãžãæ§ç¯ãã ããã¯ããã³ Helm ãã£ãŒã ãã¡ã€ã«ã®åœ¢åŒã§ããã€ã㪠ãã¡ã€ã«ãè¿œå ããŸã addon-operator
ããã¯ã«å¿
èŠãªãã®ã¯ãã¹ãŠæ¬¡ã®ãšããã§ãã bash
, kubectl
, jq
, python
çãã®åŸããã®ã€ã¡ãŒãžãéåžžã®ã¢ããªã±ãŒã·ã§ã³ãšããŠã¯ã©ã¹ã¿ãŒã«ããŒã«ã¢ãŠãã§ãããããã XNUMX ã€ãŸãã¯å¥ã®ã¿ã°ä»ãã¹ããŒã ãç·šæããå¿
èŠãããã§ãããã ã¯ã©ã¹ã¿ãŒãå°ãªãå Žåã¯ãã¢ããªã±ãŒã·ã§ã³ã®å Žåãšåãã¢ãããŒããé©ããŠããå¯èœæ§ããããŸããã€ãŸããæ°ãããªãªãŒã¹ãæ°ããããŒãžã§ã³ããã¹ãŠã®ã¯ã©ã¹ã¿ãŒã«ç§»åããŠããããã®ã€ã¡ãŒãžãä¿®æ£ããŸãã ãã ããå€æ°ã®ã¯ã©ã¹ã¿ãŒã«ããŒã«ã¢ãŠãããå Žåã¯ããã£ãã«ããã®èªå·±æŽæ°ã®æŠå¿µã®æ¹ãç§ãã¡ã«ã¯é©ããŠããŸããã
ãã®æ¹æ³ã¯æ¬¡ã®ãšããã§ãã
- ãã£ãã«ã¯åºæ¬çã«ãä»»æã®å€ã«èšå®ã§ããèå¥åã§ã (äŸ: dev/stage/ea/stable)ã
- ãã£ã³ãã«åã¯ã€ã¡ãŒãžã¿ã°ã§ãã æŽæ°ããã£ãã«ã«ããŒã«ã¢ãŠãããå¿ èŠãããå Žåãæ°ããã€ã¡ãŒãžãçµã¿ç«ãŠããããã£ãã«åãã¿ã°ä»ããããŸãã
- æ°ããã€ã¡ãŒãžãã¬ãžã¹ããªã«è¡šç€ºããããšãAddon-operator ãåèµ·åãããæ°ããã€ã¡ãŒãžã§èµ·åãããŸãã
ã«æžãããŠããããã«ãããã¯ãã¹ããã©ã¯ãã£ã¹ã§ã¯ãããŸãã
ãã£ã³ãã«ã¯å©ãã«ãªããã ãã¹ãäž: è£å©ã¯ã©ã¹ã¿ãŒãããå Žåã¯ãããããã£ãã«ã«æ§æã§ããŸãã stage
ãã£ãã«ã«ããŒã«ã¢ãŠãããåã«æŽæ°ãããŒã«ã€ã³ããŸã ea
О stable
ã ãã£ãã«äžã«ã¯ã©ã¹ã¿ãŒãããå Žå ea
ãšã©ãŒãçºçããå Žåã¯ã次ã®ããã«åãæ¿ããããšãã§ããŸã stable
ãã®ã¯ã©ã¹ã¿ãŒã®åé¡ã¯èª¿æ»äžã§ãã ã¯ã©ã¹ã¿ãŒãã¢ã¯ãã£ã ãµããŒãããå€ããããšããåçµãããããã£ãã«ã«åãæ¿ãããŸããããšãã°ã次ã®ããã«ãªããŸãã freeze-2019-03-20
.
ããã¯ãš Helm ãã£ãŒãã®æŽæ°ã«å ããŠãå¿ èŠãªå ŽåããããŸãã ã¢ããããŒããšãµãŒãããŒãã£ã³ã³ããŒãã³ãã ããšãã°ãæ¡ä»¶ä»ãããŒã ãšã¯ã¹ããŒã¿ãŒã®ãã°ã«æ°ã¥ããããããé©çšããæ¹æ³ãèŠã€ãããšããŸãã 次ã«ãPR ãéããŠãæ°ãããªãªãŒã¹ããã¹ãŠã®ã¯ã©ã¹ã¿ãŒãééããŠã€ã¡ãŒãžã®ããŒãžã§ã³ãäžããã®ãåŸ ã£ãŠããŸãã ç¡éã«åŸ æ©ããªãããã«ããã«ã¯ãããŒã ãšã¯ã¹ããŒã¿ãŒãæ§ç¯ããPR ãåãå ¥ããåã«ããã«åãæ¿ããããšãã§ããŸãã
äžè¬ã«ããã㯠Addon-operator ãªãã§å®è¡ã§ããŸãããAddon-operator ã䜿çšãããšãnode-exporter ãã€ã³ã¹ããŒã«ããããã®ã¢ãžã¥ãŒã«ã XNUMX ã€ã®ãªããžããªã«è¡šç€ºãããã€ã¡ãŒãžãæ§ç¯ããããã® Dockerfile ãããã«ä¿æã§ããããããã¹ãŠã®åå è ã«ãšã£ãŠäœæ¥ã容æã«ãªããŸããäœãèµ·ãã£ãŠããããç解ããããã»ã¹...ãããŠãã¯ã©ã¹ã¿ãŒãè€æ°ããå Žåã¯ãPR ã®ãã¹ããšæ°ããããŒãžã§ã³ã®ããŒã«ã¢ãŠãã®äž¡æ¹ãç°¡åã«ãªããŸãã
ãã®ã³ã³ããŒãã³ãæŽæ°ã®æ§æã¯ããŸãæ©èœããŸãããä»ã®é©åãªã¹ããŒã ãå®è£ ããããšãã§ããŸãã ãã®å ŽåãAddon-operator ã¯åçŽãªãã€ã㪠ãã¡ã€ã«ã§ãã.
ãŸãšã
Addon-operator ã«å®è£ ãããååã«ãããéåžžã®ã¢ããªã±ãŒã·ã§ã³ã®éçºããã»ã¹ãšåæ§ã«ãã¯ã©ã¹ã¿ãŒå ã§ã¢ããªã³ãäœæããã¹ããã€ã³ã¹ããŒã«ãæŽæ°ããããã®ééçãªããã»ã¹ãæ§ç¯ã§ããŸãã
ã¢ãžã¥ãŒã«åœ¢åŒ (Helm ãã£ãŒã + ããã¯) ã® Addon-operator ã®ã¢ããªã³ãå
¬éã§ããŸãã ç§ãã¡ Flant 瀟ã¯ãå€ã®éã«ãã®ãããªè¿œå ã®åœ¢ã§éçºå
容ãå
¬éããäºå®ã§ãã GitHub ã§éçºã«åå ãã (
PS
ç§ãã¡ã®ããã°ããèªã¿ãã ãã:
- «
Kubernetes ã®æ¡åŒµãšè£è¶³ (æŠèŠãšãã㪠ã¬ããŒã) "; - «
ã·ã§ã« ãªãã¬ãŒã¿ãŒã®çŽ¹ä»: Kubernetes ã®ãªãã¬ãŒã¿ãŒã®äœæãããã«ç°¡åã«ãªããŸãã 'ã
åºæïŒ habr.com