ããŒãã 翻蚳ã: å
ã®èšäºã®èè
ã¯ãGoogle Cloud ãœãªã¥ãŒã·ã§ã³ ã¢ãŒããã¯ãã® Théo Chamley ã§ãã Google Cloud ããã°ãžã®ãã®æçš¿ã§ã¯ã圌ã¯èªç€Ÿã®ãã詳现ãªã¬ã€ãã®æŠèŠãæäŸããŠããŸãã
ãã®èšäºã§ã¯ãKubernetes äžã§ã³ã³ãããå¹æçã«å®è¡ããããã«ç¥ã£ãŠããã¹ãããšãšå®è¡ãã¹ãããšã®ãªã¹ãã説æããŸãã ããã«è©³ããç¥ãããæ¹ã¯è³æããèªã¿ãã ããã
1. ãã€ãã£ãã³ã³ãããã®ã³ã°ã¡ã«ããºã ã䜿çšãã
ã¢ããªã±ãŒã·ã§ã³ã Kubernetes ã¯ã©ã¹ã¿ãŒäžã§å®è¡ãããŠããå Žåããã°ã¯ããŸãå¿
èŠãããŸããã éäžãã° ã·ã¹ãã ã¯ã䜿çšããŠããã¯ã©ã¹ã¿ãŒã«ãã§ã«çµã¿èŸŒãŸããŠããå¯èœæ§ããããŸãã Kubernetes Engine ã䜿çšããå Žåãããã責任ãè² ããŸã
å¿
èŠã«å¿ããŠããã°ã次ã®å Žæã«æžã蟌ãããšãã§ããŸãã
2. ã³ã³ãããã¹ããŒãã¬ã¹ã§äžå€ã§ããããšã確èªãã
Kubernetes ã¯ã©ã¹ã¿ãŒã§ã³ã³ãããŒãæ£ããæ©èœããã«ã¯ãã³ã³ãããŒãã¹ããŒãã¬ã¹ã§äžå€ã§ããå¿ èŠããããŸãã ãããã®æ¡ä»¶ãæºãããããšãKubernetes ã¯ãã®ä»äºãå®è¡ããå¿ èŠãªãšãã«å¿ èŠãªå Žæã§ã¢ããªã±ãŒã·ã§ã³ ãšã³ãã£ãã£ãäœæããã³ç Žæ£ã§ããããã«ãªããŸãã
ã¹ããŒãã¬ã¹ ããã¯ãããããç¶æ
(ããããçš®é¡ã®æ°žç¶ããŒã¿) ãã³ã³ããã®å€éšã«ä¿åãããããšãæå³ããŸãã ãã®ããã«ãããŒãºã«å¿ããŠãããŸããŸãªã¿ã€ãã®å€éšã¹ãã¬ãŒãžã䜿çšã§ããŸãã
äžå€ ããã¯ãã³ã³ãããåç¶æéäžã«å€æŽãããªãããšãæå³ããŸããæŽæ°ãããããæ§æã®å€æŽã¯ãããŸããã ã¢ããªã±ãŒã·ã§ã³ ã³ãŒããæŽæ°ããããããããé©çšããå¿
èŠãããå Žåã¯ãæ°ããã€ã¡ãŒãžãäœæããŠãããã€ããŸãã ã³ã³ããæ§æ (ãªã¹ãã³ã° ããŒããã©ã³ã¿ã€ã ç°å¢ãªãã·ã§ã³ãªã©) ãå€éšã«ç§»åããããšããå§ãããŸãã
ãããã«æ§æãšããŠããŠã³ãããã ConfigMap ã䜿çšã㊠Kubernetes ã®ãããã€ã¡ã³ãæ§æãæŽæ°ããäŸ
3. ç¹æš©ã³ã³ãããé¿ãã
ãµãŒããŒäžã§ root ãšããŠã¢ããªã±ãŒã·ã§ã³ãå®è¡ããããšã¯ãããŸãããã? æ»æè
ãã¢ããªã±ãŒã·ã§ã³ã«äŸµå
¥ãããšãroot ã¢ã¯ã»ã¹æš©ãååŸãããŸãã ç¹æš©ã³ã³ãããå®è¡ããªãå Žåã«ãåãèæ
®äºé
ãåœãŠã¯ãŸããŸãã ãã¹ãäžã®èšå®ãå€æŽããå¿
èŠãããå Žåã¯ãã³ã³ãããŒã«åºæã®èšå®ãäžããããšãã§ããŸãã æ©èœ ãªãã·ã§ã³ã䜿çšã㊠securityContext
ã¯ã©ã¹ã¿ãŒã管çããå Žåã¯ã次ã䜿çšã§ããŸãã
4. root ãšããŠå®è¡ããªãããã«ãã
ç¹æš©ã³ã³ããã«ã€ããŠã¯ãã§ã«èª¬æããŸããããããã«å ããŠãã³ã³ããå ã§ã¢ããªã±ãŒã·ã§ã³ã root ãšããŠå®è¡ããªããšããã«è¯ããªããŸãã æ»æè ããã³ãŒãã®å®è¡ãèš±å¯ãã root æš©éãæã€ã¢ããªã±ãŒã·ã§ã³ã§ãªã¢ãŒãã®è匱æ§ãèŠã€ããå Žåããã®åŸããŸã æªç¥ã®è匱æ§ãéããŠã³ã³ââããããé¢ããããšãã§ãããã¹ãäžã§ root ãååŸããŸãã
ãããåé¿ããæåã®æ¹æ³ã¯ãæåãã root ãšããŠäœãå®è¡ããªãããšã§ãã ãããè¡ãã«ã¯ããã£ã¬ã¯ãã£ãã䜿çšã§ããŸã USER
в Dockerfile
ãŸã㯠runAsUser
Kubernetesã§ã ã¯ã©ã¹ã¿ãŒç®¡çè
ã¯ã次ã䜿çšããŠåŒ·å¶åäœãæ§æããããšãã§ããŸãã
5. ã¢ããªã±ãŒã·ã§ã³ãç£èŠãããããã
ãã®ã³ã°ãšåæ§ã«ãç£èŠãã¢ããªã±ãŒã·ã§ã³ç®¡çã®äžå¯æ¬ ãªéšåã§ãã Kubernetes ã³ãã¥ããã£ã§äººæ°ã®ããç£èŠãœãªã¥ãŒã·ã§ã³ã¯æ¬¡ã®ãšããã§ãã
Stackdriver ã® Kubernetes ããã·ã¥ããŒã
Prometheus ã¯ãã¢ããªã±ãŒã·ã§ã³ãã¡ããªã¯ã¹ã HTTP ãšã³ããã€ã³ãã«è»¢éããããšãæåŸ
ããŸãã ããã§å©çšå¯èœ
6. ã¢ããªã®å¥å šæ§ã¹ããŒã¿ã¹ãå©çšå¯èœã«ãã
éçšç°å¢ã§ã®ã¢ããªã±ãŒã·ã§ã³ç®¡çã¯ããã®ç¶æ
ãã·ã¹ãã å
šäœã«äŒéããæ©èœã«ãã£ãŠæ¯æŽãããŸãã ã¢ããªã±ãŒã·ã§ã³ã¯å®è¡ãããŠããŸãã? 倧äžå€«ã§ããïŒ ãã©ãã£ãã¯ãåä¿¡ããæºåã¯ã§ããŠããŸãã? 圌ã®æ§åã¯ã©ãã§ããïŒ ãã®åé¡ã解決ããæãäžè¬çãªæ¹æ³ã¯ããã«ã¹ãã§ãã¯ãå®è£
ããããšã§ãã ïŒå¥åº·èšºæïŒã Kubernetes ã«ã¯ XNUMX ã€ã®ã¿ã€ãããããŸãã
liveness ãããŒãã®å Žå ïŒæŽ»åãã§ãã¯ïŒ ã¢ããªã±ãŒã·ã§ã³ãæ©èœããåºæ¬çãªäŸåé¢ä¿ãæºããããŠããå Žåãã¢ããªã±ãŒã·ã§ã³ã«ã¯ã200 OKãå¿çãè¿ã HTTP ãšã³ããã€ã³ããå¿ èŠã§ãã Readiness Probe ã®å Žå (ãµãŒãã¹æºåç¶æ³ãã§ãã¯) ã¢ããªã±ãŒã·ã§ã³ã¯ãã¢ããªã±ãŒã·ã§ã³ãæ£åžžãªç¶æ ã«ãããåæåæé ãå®äºããŠãããæå¹ãªãªã¯ãšã¹ãã«ãã£ãŠãšã©ãŒãçºçããªãå Žåã«ãã200 OKãå¿çãè¿ãå¥ã® HTTP ãšã³ããã€ã³ããåããŠããå¿ èŠããããŸãã Kubernetes ã¯ããããã®ãã§ãã¯ã«åŸã£ãŠã¢ããªã±ãŒã·ã§ã³ã®æºåãã§ããŠããå Žåã«ã®ã¿ããã©ãã£ãã¯ãã³ã³ããã«ã«ãŒãã£ã³ã°ããŸãã liveness ç¶æ ãš readiness ç¶æ ã«éãããªãå ŽåãXNUMX ã€ã®ãšã³ããã€ã³ããããŒãžã§ããŸãã
ããã«ã€ããŠè©³ããã¯ãGoogle ã®éçºè
æè·è
ã§ãã Sandeep Dinesh æ°ã®é¢é£èšäºãã芧ãã ããã
7. ã€ã¡ãŒãžã®ããŒãžã§ã³ãæ éã«éžæããŠãã ãã
ã»ãšãã©ã®ãããªãã¯ããã³ãã©ã€ããŒã ã€ã¡ãŒãžã§ã¯ã次ã§èª¬æãããŠãããã®ãšåæ§ã®ã¿ã°ä»ãã·ã¹ãã ã䜿çšãããŠããŸãã latest
ã€ã¡ãŒãžããã€ã¡ãŒãžãžé »ç¹ã«ç§»åããå¯èœæ§ããããããäºæž¬å¯èœã§åçŸå¯èœãªãã«ããšã€ã³ã¹ããŒã«ãå¿
èŠãªå Žåã«ã¯ä¿¡é Œã§ããŸããã
ã¿ã°ã䜿çšã§ããŸã X.Y.Z
(ã»ãšãã©ã®å Žåãå€æŽãããŠããŸãã) ãã ãããã®å Žåã¯ãã€ã¡ãŒãžã«å¯Ÿãããã¹ãŠã®ããããšæŽæ°ã远跡ããŠãã ããã 䜿çšããŠããç»åã«ã¿ã°ãä»ããŠããå Žå X.Y
ãããã¯é»éã®äžåºžã«é©ãããªãã·ã§ã³ã§ãã ãããéžæãããšãããããèªåçã«åä¿¡ãããåæã«ã¢ããªã±ãŒã·ã§ã³ã®å®å®ããŒãžã§ã³ã«äŸåããããšã«ãªããŸãã
翻蚳è ããã®è¿œäŒž
ç§ãã¡ã®ããã°ããèªã¿ãã ãã:
- «
ã³ã³ãããã¯ã©ãŠããã€ãã£ããKubernetes ã«é¢ããæ°ãã CNCF çµ±èš "; - «
ã³ã³ããããŒã¹ã®ã¢ããªã±ãŒã·ã§ã³ãèšèšããããã® 7 ã€ã®åå "; - «
Kubernetes ãããã³ã°ã®è¢«å®³è ã«ãªããªã (被害è ã«ãªããªã) 11 ã®æ¹æ³ "; - «
å°èŠæš¡ãããžã§ã¯ãã«ããã Kubernetes ã®çµéš » (ã¬ãã¥ãŒãšãããªã¬ããŒã); - «
ã¢ãã¿ãªã³ã°ãšKubernetes » (ã¬ãã¥ãŒãšãããªã¬ããŒã); - «
dapp ã䜿çšã㊠CI/CD çšã® Docker ã€ã¡ãŒãžãè¿ éãã€äŸ¿å©ã«æ§ç¯ããŸã » (ã¬ãã¥ãŒãšãããªã¬ããŒã); - «
Docker ã䜿çšããç¶ç¶çããªããªãŒã®å®è·µ » (ã¬ãã¥ãŒãšãããªã¬ããŒã); - «
2018 幎ããã€ã¯ããµãŒãã¹ã®çæ°ã¯çµç 'ã
åºæïŒ habr.com