æã匷åã§ã¹ã±ãŒã©ãã«ãªãµãŒã㌠ãã©ãããã©ãŒã ã§ãã£ãŠãããã¹ãŠã®ãµãŒã㌠ãã©ãããã©ãŒã ããã¹ãŠã®ããŒãºããã®ãŸãŸæºãããããã§ã¯ãããŸããã Kubernetes ã¯ããèªäœã§ããŸãæ©èœããŸãããå®æãããããã®é©åãªéšåãæ¬ ããŠããå¯èœæ§ããããŸãã ããŒã¿ããŒã¹ã®ãµããŒãã CD æäœãªã©ãããŒãºãç¡èŠããããããã©ã«ãã®ã€ã³ã¹ããŒã«ã§ã¯ Kubernetes ãæ©èœããªãç¹æ®ãªã±ãŒã¹ãåžžã«èŠã€ãããŸãã
ããã«ã¯ããã®ã³ã³ãã ãªãŒã±ã¹ãã¬ãŒã¿ãŒã®ã¢ããªã³ãæ¡åŒµæ©èœããã®ä»ã®åªããæ©èœã衚瀺ãããæãåºç¯ãªã³ãã¥ããã£ã«ãã£ãŠãµããŒããããŠããŸãã ãã®èšäºã§ã¯ãç§ãã¡ãèŠã€ããæé«ã®ãã®ã 11 å玹ä»ããŸãã ç§ãã¡èªèº«ã ãµãŠã¹ããªããž ãããã¯éåžžã«èå³æ·±ããã®ã§ãããå®éã«ããããããžãšãããã«å解ããŠãå
éšã«äœãå
¥ã£ãŠããã®ãã確èªããããšãèšç»ããŠããŸãã ãããã®äžã«ã¯ããããã Kubernetes ã¯ã©ã¹ã¿ãŒãå®å
šã«è£å®ãããã®ãããã°ãäžè¬ç㪠Kubernetes ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ã¯å®è£
ãããŠããªãç¹å®ã®ã¿ã¹ã¯ã®è§£æ±ºã«åœ¹ç«ã€ãã®ããããŸãã
ã²ãŒãããŒããŒ: ããªã·ãŒç®¡ç
ãããžã§ã¯ã ããªã·ãŒãšãŒãžã§ã³ããéã (OPA) ã¯ãã€ã³ã°ã¬ã¹ãããµãŒãã¹ ã¡ãã·ã¥ãŸã§ãKubernetes ã®ã¯ã©ãŠã ã¢ããªã±ãŒã·ã§ã³ ã¹ã¿ãã¯äžã«ããªã·ãŒãäœæããæ©èœãæäŸããŸãã éçª ã¯ã©ã¹ã¿ãŒã«ããªã·ãŒãèªåçã«é©çšãã Kubernetes ãã€ãã£ãæ©èœãæäŸããããªã·ãŒã«éåããã€ãã³ãããªãœãŒã¹ã®æ€æ»ãæäŸããŸãã ãããã¯ãã¹ãŠããªãœãŒã¹ãå€æŽããããšãã«èµ·åããããæ¯èŒçæ°ãã Kubernetes ã¡ã«ããºã ã§ãã Webhook ã¢ãããã·ã§ã³ ãããŒãžã£ãŒã«ãã£ãŠåŠçãããŸãã Gatekeeper ã䜿çšãããšãOPA ããªã·ãŒã Kubernetes ã¯ã©ã¹ã¿ãŒã®ç¶æ
ã®å¥ã®éšåãšãªããç¶ç¶çãªç£èŠãå¿
èŠãªããªããŸãã
Gravity: ããŒã¿ãã« Kubernetes ã¯ã©ã¹ã¿ãŒ
ã¢ããªã±ãŒã·ã§ã³ã Kubernetes ã«ããŒã«ã¢ãŠãããå Žåãå€ãã®ã¢ããªã±ãŒã·ã§ã³ã«ã¯ããã®ããã»ã¹ãã¬ã€ãããã³èªååãã Helm ãã£ãŒãããããŸãã ããããKubernetes ã¯ã©ã¹ã¿ãŒãããã®ãŸãŸãã«ããŠãå¥ã®å Žæã«ããŒã«ã¢ãŠããããå Žåã¯ã©ãããã°ããã§ãããã?
éå Kubernetes ã¯ã©ã¹ã¿ãŒãã³ã³ãã㌠ã€ã¡ãŒãžã®ã¬ãžã¹ããªãããã³ãã¢ããªã±ãŒã·ã§ã³ ããã±ãŒãžããšåŒã°ããå®è¡äžã®ã¢ããªã±ãŒã·ã§ã³ã®ã¹ãããã·ã§ãããååŸããŸãã ãã®ãããªããã±ãŒãž (éåžžã®ãã¡ã€ã«) .tar
ãKubernetes ãå®è¡ã§ããå Žæã§ããã°ã©ãã§ãã¯ã©ã¹ã¿ãŒãã¬ããªã±ãŒãã§ããŸãã
Gravity ã¯ãã¿ãŒã²ãã ã€ã³ãã©ã¹ãã©ã¯ãã£ããœãŒã¹ ã€ã³ãã©ã¹ãã©ã¯ãã£ãšåãããã«åäœããããšãããã³ã¿ãŒã²ããäžã® Kubernetes ç°å¢ãå©çšå¯èœã§ããããšããã§ãã¯ããŸãã Gravity ã®ææçã«ã¯ãRBAC ããç°ãªãã¯ã©ã¹ã¿ãŒå±ééã§ã»ãã¥ãªãã£èšå®ãåæããæ©èœãªã©ã®ã»ãã¥ãªãã£æ©èœãè¿œå ãããŠããŸãã
ææ°ã®ã¡ãžã£ãŒ ãªãªãŒã¹ã§ãã Gravity 7 ã§ã¯ãã€ã¡ãŒãžãããŸã£ããæ°ããã¯ã©ã¹ã¿ãŒãã¹ãã³ã¢ããããã®ã§ã¯ãªããGravity ã€ã¡ãŒãžãæ¢åã® Kubernetes ã¯ã©ã¹ã¿ãŒã«ããã·ã¥ã§ããŸãã Gravity 7 ã¯ãGravity ã€ã¡ãŒãžã䜿çšããã«ã€ã³ã¹ããŒã«ãããã¯ã©ã¹ã¿ãŒã§ãåäœã§ããŸãã Gravity 㯠SELinux ããµããŒãããŠãããTeleport SSH ã²ãŒããŠã§ã€ãšãã€ãã£ãã«é£æºããŸãã
Kaniko: Kubernetes ã¯ã©ã¹ã¿ãŒã§ã®ã³ã³ãããŒã®æ§ç¯
ã»ãšãã©ã®ã³ã³ãã㌠ã€ã¡ãŒãžã¯ãã³ã³ãã㌠ã¹ã¿ãã¯ã®å€éšã®ã·ã¹ãã äžã«æ§ç¯ãããŸãã ãã ããå®è¡äžã®ã³ã³ãããŒã Kubernetes ã¯ã©ã¹ã¿ãŒå
ã®ã©ãããªã©ãã³ã³ãããŒã®ã¹ã¿ãã¯å
ã«ã€ã¡ãŒãžãæ§ç¯ããå¿
èŠãããå ŽåããããŸãã
ã«ãã³ Docker ãªã©ã®ã³ã³ããåãµãŒãã¹ã«äŸåããã«ãã³ã³ããç°å¢å
ã«ã³ã³ãããæ§ç¯ããŸãã 代ããã«ãKaniko ã¯ããŒã¹ ã€ã¡ãŒãžãããã¡ã€ã« ã·ã¹ãã ãæœåºããæœåºããããã¡ã€ã« ã·ã¹ãã äžã§ãã¹ãŠã®ãŠãŒã¶ãŒç©ºéãã«ã ã³ãã³ããå®è¡ããåã³ãã³ãã®åŸã«ãã¡ã€ã« ã·ã¹ãã ã®ã¹ãããã·ã§ãããååŸããŸãã
泚ïŒKaniko ã¯çŸåš (2020 幎 XNUMX æ) çŽã 翻蚳è
) Windows ã³ã³ãããæ§ç¯ã§ããŸããã
Kubecost: Kubernetes ã®èµ·åã³ã¹ãã®ãªãã·ã§ã³
ã»ãšãã©ã® Kubernetes 管çããŒã«ã¯ã䜿ãããããç£èŠããããå
ã®åäœã®ç解ãªã©ã«éç¹ã眮ããŠããŸãã ããããKubernetes ã®ç«ã¡äžãã«é¢é£ããã³ã¹ã (ã«ãŒãã«ãã³ããã¯åäœ) ãç£èŠããå Žåã¯ã©ãã§ãããã?
ãã¥ãŒãã³ã¹ã Kubernetes ãã©ã¡ãŒã¿ãŒããªã¢ã«ã¿ã€ã ã§åŠçããäž»èŠãªã¯ã©ãŠã ãããã€ããŒã§å®è¡ãããŠããã¯ã©ã¹ã¿ãŒããã®ææ°ã®ã³ã¹ãæ
å ±ãã¯ã©ã¹ã¿ãŒããšã®æ次ã³ã¹ãã®ããã«ã«è¡šç€ºãããŸãã RAMãCPU æéãGPUããã£ã¹ã¯ ãµãã·ã¹ãã ã®äŸ¡æ Œã¯ãKubernetes ã³ã³ããŒãã³ã (ã³ã³ãããŒããããããµãŒãã¹ãªã©) ããšã«åé¡ãããŸãã
Kubecost ã¯ãAmazon S3 ãã±ãããªã©ã®éã¯ã©ã¹ã¿ãŒ ãªãœãŒã¹ã®ã³ã¹ãã远跡ããŸããããã㯠AWS ã«ãã£ãŠå¶éãããŠããŸãã ã³ã¹ã ããŒã¿ã¯ Prometheus ã«éä¿¡ã§ãããããããã䜿çšããŠã¯ã©ã¹ã¿ãŒã®åäœãããã°ã©ã ã§å€æŽã§ããŸãã
åå㪠15 æ¥åã®ãã° ããŒã¿ãããã°ãKubecost ãç¡æã§äœ¿çšã§ããŸãã è¿œå æ©èœã®æéã¯ã199 ããŒãã®ç£èŠã§æé¡ 50 ãã«ããã§ãã
KubeDB: Kubernetes ã§ã®ããã« ããŒã¿ããŒã¹ã®å®è¡
Kubernetes ã§ããŒã¿ããŒã¹ãèŠäºã«å®è¡ããããšãå°é£ã§ãã MySQLãPostgreSQLãMongoDBãRedis çšã® Kubernetes ãªãã¬ãŒã¿ãŒããããŸããããããã«ã¯ãã¹ãŠæ¬ ç¹ããããŸãã ãŸããäžè¬ç㪠Kubernetes æ©èœã»ããã¯ãå®çŸ©ãããããŒã¿ããŒã¹ã®åé¡ã®ã»ãšãã©ã«çŽæ¥å¯ŸåŠããŸããã
KubeDB ããŒã¿ããŒã¹ç®¡ççšã® Kubernetes ã¹ããŒãã¡ã³ãã®äœæã«åœ¹ç«ã¡ãŸãã ããã¯ã¢ããã®å®è¡ãã¯ããŒã³äœæãç£èŠãã¹ãããã·ã§ãããããã³å®£èšçãªããŒã¿ããŒã¹äœæããã®æ§æèŠçŽ ã§ãã æ©èœã®ãµããŒãã¯ããŒã¿ããŒã¹ã«äŸåããããšã«æ³šæããŠãã ããã ããšãã°ãã¯ã©ã¹ã¿ãŒã®äœæ㯠PostgreSQL ã§ã¯æ©èœããŸãããMySQL ã§ã¯æ©èœããŸãã (ãã§ã« æ£ããææãããŠããããã«ããããŸã dnbstd, çŽã 翻蚳è
).
Kube-monkey: Kubernetes çš Chaos Monkey
ã¹ãã¬ã¹ ãã¹ãã§æããšã©ãŒã®ãªãæ¹æ³ã¯ãã©ã³ãã ãªæ
éã§ãããšèããããŠããŸãã ãã®çè«ã¯ãNetflix ã® Chaos Monkey ã®æ žå¿ã§ããChaos Monkey ã¯ãä»®æ³ãã·ã³ãšå®çšŒåç°å¢ã®ã³ã³ãããŒãã©ã³ãã ã«ã·ã£ããããŠã³ããŠãéçºè
ã«ãããå埩åã®ããã·ã¹ãã ãæ§ç¯ããããã奚å±ãããã«ãªã¹ ãšã³ãžãã¢ãªã³ã° ããŒã«ã§ãã ã¯ãã¢ã³ã㌠- Kubernetes ã¯ã©ã¹ã¿ãŒã«å¯Ÿããã¹ãã¬ã¹ ãã¹ãã®åãåºæ¬çè«ã®å®è£
ã ããã¯ãæå®ããã¯ã©ã¹ã¿ãŒå
ã®ã¢ãžã¥ãŒã«ãã©ã³ãã ã«åŒ·å¶çµäºããããšã§æ©èœããç¹å®ã®æéééã§å®è¡ããããã«èšå®ããããšãã§ããŸãã
AWS çš Kubernetes Ingress ã³ã³ãããŒã©ãŒ
Kubernetes ã¯ããšåŒã°ãããµãŒãã¹ãéããŠå€éšããŒã ãã©ã³ãµãŒãšã¯ã©ã¹ã¿ãŒ ãããã¯ãŒãã³ã° ãµãŒãã¹ãæäŸããŸãã é²å
¥ AWS ã¯è² è·åæ£æ©èœãæäŸããŸããããããã®æ©èœãåã Kubernetes æ©èœã«èªåçã«ãã³ãã«ããããã§ã¯ãããŸããã AWS çš Kubernetes Ingress ã³ã³ãããŒã©ãŒ ãã®ã®ã£ãããåããŸãã
ã¯ã©ã¹ã¿ãŒå
ã®åã€ã³ã°ã¬ã¹ã® AWS ãªãœãŒã¹ãèªåçã«ç®¡çããæ°ããã€ã³ã°ã¬ã¹ ãªãœãŒã¹ã®ããŒã ãã©ã³ãµãŒãäœæãããªãœãŒã¹ãåé€ãããå Žåã¯ããŒã ãã©ã³ãµãŒãåé€ããŸãã CloudFormation ã䜿çšããŠãã¯ã©ã¹ã¿ãŒã®ç¶æ
ãäžè²«ããç¶æ
ã«ä¿ãããããã«ããŸãã ãŸããCloudWatch ã¢ã©ãŒã èšå®ããµããŒãããSSL 蚌ææžã EC2 Auto Scaling ã°ã«ãŒããªã©ãã¯ã©ã¹ã¿ãŒã§äœ¿çšãããä»ã®èŠçŽ ãèªåçã«ç®¡çããŸãã
Kubespray: Kubernetes ã®èªåã€ã³ã¹ããŒã«
ãã¥ãŒãã¹ãã¬ãŒ ããŒããŠã§ã¢ ãµãŒããŒããäž»èŠãªãããªã㯠ã¯ã©ãŠããžã®ã€ã³ã¹ããŒã«ã«è³ããŸã§ãæ¬çªç°å¢ã«å¯Ÿå¿ãã Kubernetes ã¯ã©ã¹ã¿ãŒã®ã€ã³ã¹ããŒã«ãèªååããŸãã Ansible (Vagrant ã¯ãªãã·ã§ã³) ã䜿çšããŠå±éãéå§ããããŒããŠã§ã¢ ãµãŒããŒã«ã€ã³ã¹ããŒã«ãããŠããäžè¬ç㪠Linux ãã£ã¹ããªãã¥ãŒã·ã§ã³äžã§éžæãããããã¯ãŒã¯ ã¢ããªã³ (FlannelãCalico ãªã©) ã䜿çšããŠé«å¯çšæ§ã¯ã©ã¹ã¿ãŒãæåããäœæããŸãã
Skaffold: Kubernetes ã®å埩éçº
è¶³å Ž - Kubernetes ã§ã¢ããªã±ãŒã·ã§ã³ CD ãæŽçããããã«äœ¿çšããã Google ããŒã«ã® XNUMX ã€ã ãœãŒã¹ ã³ãŒãã«å€æŽãå ãããšããã«ãskaffold ã¯ãããèªåçã«æ€åºãããã«ããšãããã€ãéå§ãããšã©ãŒãããå Žåã¯èŠåããŸãã Skaffold ã¯å®å
šã«ã¯ã©ã€ã¢ã³ãåŽã§å®è¡ããããããã€ã³ã¹ããŒã«ãæŽæ°ã«ã¯å€å°ã®éãããããããããŸããã æ¢åã® CICD ãã€ãã©ã€ã³ã§äœ¿çšã§ããã ãã§ãªããããã€ãã®å€éšãã«ã ããŒã« (䞻㫠Google ã® Bazel) ãšå¯Ÿè©±ããããšãã§ããŸãã
Teresa: Kubernetes äžã®æãã·ã³ãã«ãª PaaS
ãã¬ãµ ã¯ãKubernetes äžã§åçŽãª PaaS ãå®è¡ããã¢ããªã±ãŒã·ã§ã³ ãããã€ã¡ã³ã ã·ã¹ãã ã§ãã ããŒã åããããŠãŒã¶ãŒã¯ãç¬èªã®ã¢ããªã±ãŒã·ã§ã³ãå±éããã³ç®¡çã§ããŸãã ããã«ããããã®ã¢ããªã±ãŒã·ã§ã³ãä¿¡é ŒããKubernetes ãšãã®ãã¹ãŠã®è€éããæ±ããããªã人ã«ãšã£ãŠãäœæ¥ãå°ãç°¡åã«ãªããŸãã
Tilt: ã³ã³ãããŒã®æŽæ°ã Kubernetes ã¯ã©ã¹ã¿ãŒã«ã¹ããªãŒãã³ã°ããŸã
åŸããWindmill Engineering ã«ãã£ãŠéçºããããã®ããŒã«ã¯ãããŸããŸãª Dockerfile ãžã®å€æŽãç£èŠããé©åãªã³ã³ãããŒã Kubernetes ã¯ã©ã¹ã¿ãŒã«æ®µéçã«ãããã€ããŸãã åºæ¬çã«ãDockerfile ãæŽæ°ããã ãã§å®çšŒåã¯ã©ã¹ã¿ãŒããªã¢ã«ã¿ã€ã ã§æŽæ°ã§ããããã«ãªããŸãã Tilt ã¯ã¯ã©ã¹ã¿ãŒå
ã§ãã«ããããå€æŽããå¿
èŠãããã®ã¯ãœãŒã¹ ã³ãŒãã ãã§ãã ãŸããã¯ã©ã¹ã¿ãŒç¶æ
ã®ã¹ãããã·ã§ãããååŸããTilt ããçŽæ¥ãšã©ãŒç¶æ
ããã£ããã£ããŠããããã°çšã«ããŒã ã¡ã³ããŒãšå
±æããããšãã§ããŸãã
PS ãããã®ããŒã«ã¯ãã¹ãŠãç¹°ãè¿ã䜿çšãããŠããŸã ãµãŠã¹ããªããž ç§ãã¡ã®å¥œå¥å¿æºçãªæã§èª¿ã¹ãŸããã XNUMX æã®ãªãã©ã€ã³éäžè¬åº§ã§ãå®éã®å®è·µããã§ã« (ã§ããã°!) 玹ä»ããäºå®ã§ãã Kubernetes ããŒã¹ 8 幎 10 æ 2021 ïœ XNUMX æ XNUMX æ¥ãããã³ Kubernetes ã¡ã¬ 12æ14æ¥ïœXNUMXæ¥ã æ£çŽã«èšããšããªãã©ã€ã³åŠç¿ã®æž©ãããšãã«ã®ãŒã«æºã¡ãé°å²æ°ãæãããã£ãã§ãã ãã¯ãããžãŒãã©ãã»ã©é²æ©ãããšããŠãã人éå士ã®çã®ã³ãã¥ãã±ãŒã·ã§ã³ããå¿ãåãããã人ã
ãéãŸãç¹å¥ãªé°å²æ°ã¯ããã¯ãããžãŒã«ãã£ãŠçœ®ãæããããããšã¯ãããŸããã
åºæïŒ habr.com