ããŒãã 翻蚳ãïŒå ãã¿ã®äœè ã¯Zalandoã®Henning Jacobsã§ãã 圌ã¯ãKubernetes ãæäœããããã®æ°ãã Web ã€ã³ã¿ãŒãã§ã€ã¹ãäœæããŸãããããã¯ããWeb çšã® kubectlããšããŠäœçœ®ä»ããããŠããŸãã æ°ãããªãŒãã³ãœãŒã¹ ãããžã§ã¯ãããªãç»å Žããã®ããæ¢åã®ãœãªã¥ãŒã·ã§ã³ã§ã¯ã©ã®ãããªåºæºãæºããããªãã£ãã®ã - 圌ã®èšäºãèªãã§ãã ããã
ãã®æçš¿ã§ã¯ãããŸããŸãªãªãŒãã³ãœãŒã¹ Kubernetes Web ã€ã³ã¿ãŒãã§ã€ã¹ãã¬ãã¥ãŒãããŠãããŒãµã« UI ã®èŠä»¶ã瀺ããéçºããçç±ã説æããŸãã
ãŠãŒã¹ã±ãŒã¹
Zalando ã§ã¯ãå€æ°ã® Kubernetes ãŠãŒã¶ãŒ (900 以äž) ãšã¯ã©ã¹ã¿ãŒ (100 以äž) ã«ãµãŒãã¹ãæäŸããŠããŸãã å°çš Web ããŒã«ã®ã¡ãªãããåŸãããäžè¬çãªäœ¿çšäŸãããã€ããããŸãã
- ãµããŒããæ±ããååãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã
- ã€ã³ã·ãã³ãã«å¯Ÿå¿ãããã®åå ã調æ»ããŸãã
ãµããŒã
ç§ã®çµéšã§ã¯ããµããŒãã«é¢ããã³ãã¥ãã±ãŒã·ã§ã³ã¯æ¬¡ã®ããã«ãªããŸãã
â å©ããŠãã ããããµãŒãã¹ XYZ ã¯å©çšã§ããŸããã
â æŒãããšãã«èŠããŠãããã®ã¯äœã§ããïŒ kubectl describe ingress ...
?
ãŸã㯠CRD ã«ã€ããŠãåæ§ã®ãã®:
â æ¬äººç¢ºèªãµãŒãã¹ã«åé¡ããããŸã...
â ãã®ã³ãã³ãã¯äœãçæããŸãã? kubectl describe platformcredentialsset ...
?
ãã®ãããªéä¿¡ã¯éåžžãã³ãã³ãã®ããŸããŸãªããªãšãŒã·ã§ã³ãå
¥åããããšã«ãªããŸãã kubectl
åé¡ãç¹å®ããããã«ã ãã®çµæãäŒè©±ã®åæ¹ã端æ«ãš Web ãã£ãããåžžã«åãæ¿ããå¿
èŠããããããã«å¥ã®ç¶æ³ã芳å¯ããããšã«ãªããŸãã
ãããã£ãŠãKubernetes Web ããã³ããšã³ãã§æ¬¡ã®ããšãèš±å¯ããããšèããŠããŸãã
- ãŠãŒã¶ãŒã¯ã§ãã ãªã³ã¯ã亀æãã ãããŠåãããšã芳å¯ããŠãã ããã
- 圹ç«ã€ã ãã 人çãã¹ãé¿ãã ãµããŒãäž: ããšãã°ãã³ãã³ãã©ã€ã³ã§ã®ééã£ãã¯ã©ã¹ã¿ãŒãžã®ãã°ã€ã³ãCLI ã³ãã³ãã®ã¿ã€ããã¹ãªã©ã
- èš±å¯ããã ãã ç¬èªã®ãã¥ãŒãçæãã ååã«éä¿¡ããã«ã¯ãã€ãŸãã¿ã°ã®åãè¿œå ããXNUMX ããŒãžã«ããŸããŸãªçš®é¡ã®ãªãœãŒã¹ã衚瀺ããŸãã
- çæ³çã«ã¯ããã® Web ããŒã«ã§æ¬¡ã®èšå®ãã§ããå¿ èŠããããŸãã YAML ã®ç¹å®ã®ã»ã¯ã·ã§ã³ãžã®ããã£ãŒãããªã³ã¯ (ããšãã°ã倱æã®åå ãšãªã£ãŠããééã£ããã©ã¡ãŒã¿ãææãã)ã
ã€ã³ã·ãã³ã察å¿ãšåæ
ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ã€ã³ã·ãã³ãã«å¯Ÿå¿ããã«ã¯ãç¶æ³èªèã圱é¿ãè©äŸ¡ããã¯ã©ã¹ã¿ãŒå ã®ãã¿ãŒã³ãæ¢ãèœåãå¿ èŠã§ãã å®éã®äŸãããã€ã瀺ããŸãã
- éèŠãªå®çšŒåãµãŒãã¹ã«åé¡ãçºçããŠããããã次ã®ããšãè¡ãå¿ èŠããããŸãã ãã¹ãŠã®ã¯ã©ã¹ã¿ãŒå ã®ãã¹ãŠã® Kubernetes ãªãœãŒã¹ãååã§æ€çŽ¢ããŸããã©ãã«ã·ã¥ãŒãã£ã³ã°ãè¡ãããã
- ã¹ã±ãŒãªã³ã°æã«ããŒããæžå°ãå§ããããã ãã¹ãŠã®ã¯ã©ã¹ã¿ãŒã§ã¹ããŒã¿ã¹ããä¿çäžãã§ãããã¹ãŠã®ããããæ€çŽ¢ããŸãåé¡ã®ç¯å²ãè©äŸ¡ããã
- åã ã®ãŠãŒã¶ãŒãããã¹ãŠã®ã¯ã©ã¹ã¿ãŒã«ãããã€ããã DaemonSet ã«é¢ããåé¡ãå ±åããŠãããããã解決ããå¿ èŠããããŸãã åé¡ã¯å šäœçãªãã®ã§ãã?.
ãã®ãããªå Žåã®ç§ã®æšæºçãªè§£æ±ºçã¯æ¬¡ã®ãããªãã®ã§ã for i in $clusters; do kubectl ...; done
ã æããã«ãåæ§ã®æ©èœãæäŸããããŒã«ãéçºããããšãå¯èœã§ãã
æ¢åã® Kubernetes Web ã€ã³ã¿ãŒãã§ã€ã¹
Kubernetes ãžã® Web ã€ã³ã¿ãŒãã§ã€ã¹ã®ãªãŒãã³ãœãŒã¹ã®äžçã¯ããã»ã©å€§ãããªã*ããã次ã®ã³ãã³ãã䜿çšããŠããã«æ
å ±ãåéããããšããŸããã
*Kubernetes ã® Web ã€ã³ã¿ãŒãã§ã€ã¹ã®æ°ãéãããŠããããšã«ã€ããŠã®ç§ã®èª¬æ: ã¯ã©ãŠã ãµãŒãã¹ãš Kubernetes ãã³ããŒã¯éåžžãç¬èªã®ããã³ããšã³ããæäŸããŠããããããåªãããç¡æã® Kubernetes UI ã®åžå Žã¯æ¯èŒçå°ããã§ãã
ãããã€ãŒãã§ç¥ããŸãã
K8ããã·ã¥
ãK8Dash ã¯ãKubernetes ã¯ã©ã¹ã¿ãŒã管çããæãç°¡åãªæ¹æ³ã§ããã
- XNUMX ã€ã®ã¯ã©ã¹ã¿ãŒã®å¢çå ã§ã®ã¿æ©èœããŸãã
- 䞊ã¹æ¿ããšãã£ã«ã¿ãªã³ã°ã¯å¯èœã§ãããããŒããªã³ã¯ã¯ãããŸããã
- ã«ã¹ã¿ã ãªãœãŒã¹å®çŸ© (CRD) ã¯ãµããŒããããŠããŸããã
ã¯ãã«ããŒã¿ãŒ
ãKubernator 㯠Kubernetes ã®ä»£æ¿ UI ã§ãã é«ã¬ãã«ã® Kubernetes ããã·ã¥ããŒããšã¯ç°ãªããã¯ã©ã¹ã¿ãŒå ã®ãã¹ãŠã®ãªããžã§ã¯ãã«å¯Ÿããäœã¬ãã«ã®å¶åŸ¡ãšåªããå¯èŠæ§ãæäŸããæ°ãããªããžã§ã¯ãã®äœæãç·šéã競åã®è§£æ±ºãè¡ãããšãã§ããŸãã å®å šã«ã¯ã©ã€ã¢ã³ãåŽã®ã¢ããªã±ãŒã·ã§ã³ (kubectl ãªã©) ã§ãããããKubernetes API ãµãŒããŒèªäœä»¥å€ã®ããã¯ãšã³ãã¯å¿ èŠãªããã¯ã©ã¹ã¿ãŒã®ã¢ã¯ã»ã¹ ã«ãŒã«ãå°éãããŸããã
ããã¯ããªãæ£ç¢ºãªèª¬æã§ã
- XNUMX ã€ã®ã¯ã©ã¹ã¿ãŒã®ã¿ãæäŸããŸãã
- ãªã¹ã衚瀺ã¢ãŒãã¯ãããŸãã (ã€ãŸãããä¿çäžãã¹ããŒã¿ã¹ã®ãã¹ãŠã®ãããã衚瀺ããããšã¯ã§ããŸãã)ã
Kubernetesããã·ã¥ããŒã
ãKubernetes ããã·ã¥ããŒãã¯ãKubernetes ã¯ã©ã¹ã¿ãŒçšã®ãŠãããŒãµã« Web ã€ã³ã¿ãŒãã§ã€ã¹ã§ãã ããã«ããããŠãŒã¶ãŒã¯ã¯ã©ã¹ã¿ãŒèªäœã管çããã ãã§ãªããã¯ã©ã¹ã¿ãŒå ã§å®è¡ãããŠããã¢ããªã±ãŒã·ã§ã³ã®ç®¡çãšãã©ãã«ã·ã¥ãŒãã£ã³ã°ãè¡ãããšãã§ããŸããã
æ®å¿µãªããšã«ã
- ããšãã°ããªãœãŒã¹ããã£ã«ã¿ãŒããã䞊ã¹æ¿ãé åºãå€æŽãããããå Žåãæ°žç¶çãªãªã³ã¯ã¯ãããŸããã
- ã¹ããŒã¿ã¹ã§ãã£ã«ã¿ãªã³ã°ããç°¡åãªæ¹æ³ã¯ãããŸãããããšãã°ãã¹ããŒã¿ã¹ããä¿çäžãã®ãã¹ãŠã®ãããã衚瀺ããŸãã
- ãµããŒããããã¯ã©ã¹ã¿ãŒã¯ XNUMX ã€ã ãã§ãã
- CRD ã¯ãµããŒããããŠããŸãã (ãã®æ©èœã¯éçºäžã§ã)ã
- ã«ã¹ã¿ã åã¯ãããŸããïŒã¿ã€ãããšã«ã©ãã«ãä»ããããåãªã©ïŒ
kubectl -L
).
Kubernetes ãªãã¬ãŒã·ã§ã³ ãã¥ãŒ (kube-ops-view)
ãK8s ã¯ã©ã¹ã¿ãŒ ã¹ããŒã¹ã®ã·ã¹ãã ããã·ã¥ããŒã ãªãã¶ãŒããŒãã
У
* ããŒãã 翻蚳ã: ãã®æå³ã§ãããªããç§ãã¡ã®ãã©ã°ã€ã³ã«èå³ããããããããŸãã
Kubernetes ãªãœãŒã¹ ã¬ããŒã (kube-resource-report)
ãããããš Kubernetes ã¯ã©ã¹ã¿ãŒã®ãªãœãŒã¹ ãªã¯ãšã¹ããåéãããªãœãŒã¹æ¶è²»éãšæ¯èŒããŠãéç HTML ãçæããŸããã
ããŒãã 翻蚳ã: ãµãŒãã¹ãšããŒã«ã¯ãã¯ã©ãŠã ãããã€ããŒéã®ãªãœãŒã¹ã®å²ãåœãŠãšãã®ã³ã¹ãã«é¢ããæ
å ±ã衚瀺ããã®ã«ã圹ç«ã€å ŽåããããŸãã
ãªã¯ã¿ã³ã
ãKubernetes ã¯ã©ã¹ã¿ãŒã®è€éããããæ·±ãç解ã§ããããã«èšèšããããéçºè åãã®æ¡åŒµå¯èœãª Web ãã©ãããã©ãŒã ã§ããã
- ã¯ã©ã¹ã¿ãŒæ€çŽ¢ã¯ãããŸããã
- ããŒã«ã« ãã·ã³äžã§ã®ã¿åäœããŸã (ã¯ã©ã¹ã¿ãŒã«ã¯ãããã€ãããŸãã)ã
- ãªããžã§ã¯ãã®äžŠã¹æ¿ã/ãã£ã«ã¿ãªã³ã°ã¯ã§ããŸãã (ã©ãã« ã»ã¬ã¯ã¿ãŒã®ã¿ããµããŒããããŠããŸã)ã
- ã«ã¹ã¿ã åãæå®ããããšã¯ã§ããŸããã
- åå空éããšã«ãªããžã§ã¯ãããªã¹ãããããšã¯ã§ããŸããã
ãŸããäžéšã® CRD ã§ã¯ãZalando ã¯ã©ã¹ã¿ãŒã䜿çšãã Octant ã®å®å®æ§ã«ãåé¡ããããŸããã
Kubernetes Web View ã®çŽ¹ä»
ãWeb çš kubectlãã
Kubernetes ã§å©çšå¯èœãªã€ã³ã¿ãŒãã§ã€ã¹ ãªãã·ã§ã³ãåæããåŸãæ°ããã€ã³ã¿ãŒãã§ã€ã¹ ãªãã·ã§ã³ãäœæããããšã«ããŸããã kubectl
ãŠã§ãäžãã€ãŸã:
- ãŠãŒã¶ãŒã kubectl ã®äœ¿çšãåžæãããã¹ãŠã® (èªã¿åãå°çš) æäœã®å¯çšæ§ã
- ãã¹ãŠã® URL ã¯æ°žç¶çã§ãããååãå ±æãããä»ã®ããŒã«ã§äœ¿çšãããã§ããããã«ãããŒãžãå ã®åœ¢åŒã§è¡šãå¿ èŠããããŸãã
- ãã¹ãŠã® Kubernetes ãªããžã§ã¯ãã®ãµããŒããããã«ãããããããçš®é¡ã®åé¡ã解決ã§ããŸãã
- ãªãœãŒã¹ ãªã¹ãã¯ããããªãäœæ¥ã®ããã«ããŠã³ããŒãã§ããå¿
èŠããããŸã (ã¹ãã¬ããã·ãŒããCLI ããŒã«ãªã©)
grep
) ããã³ä¿ç®¡ (äŸ: äºåŸåæçš)ã - ã©ãã«ã«ãããªãœãŒã¹ã®éžæã®ãµããŒã (
kubectl get .. -l
); - ããŸããŸãªã¿ã€ãã®ãªãœãŒã¹ãçµã¿åããããªã¹ããäœæããæ©èœ (
kubectl get all
) ååéã§å ±éã®éçšç¶æ³ãææ¡ãããã (ããšãã°ãã€ã³ã·ãã³ã察å¿äž)ã - ããã·ã¥ããŒãããã¬ãŒãã¢ããªã±ãŒã·ã§ã³ ã¬ãžã¹ããªãªã©ã®ä»ã®ããŒã«ã«ã«ã¹ã¿ã ã®ã¹ããŒã ãã£ãŒã ãªã³ã¯ãè¿œå ããæ©èœã ãã©ãã«ã·ã¥ãŒãã£ã³ã°/ãšã©ãŒã®è§£æ±ºãšã€ã³ã·ãã³ããžã®å¯Ÿå¿ã容æã«ããããã
- JavaScript ã®ããªãŒãºãªã©ã®ã©ã³ãã ãªåé¡ãé¿ããããã«ãããã³ããšã³ãã¯ã§ããéãã·ã³ãã« (çŽç²ãª HTML) ã§ããå¿ èŠããããŸãã
- ãªã¢ãŒã ã³ã³ãµã«ãã£ã³ã°äžã®å¯Ÿè©±ãç°¡çŽ åããããã®è€æ°ã®ã¯ã©ã¹ã¿ã®ãµããŒã (ããšãã°ãURL ã XNUMX ã€ã ãèŠããŠãããã)ã
- å¯èœã§ããã°ãç¶æ³åæãç°¡çŽ åããå¿ èŠããããŸã (ããšãã°ããã¹ãŠã®ã¯ã©ã¹ã¿ãŒ/åå空éã®ãªãœãŒã¹ãããŠã³ããŒãããããã®ãªã³ã¯ã䜿çšããŸã)ã
- æè»ãªãªã³ã¯ãäœæããããã¹ãæ å ±ã匷調衚瀺ããè¿œå ã®æ©äŒãããšãã°ããªãœãŒã¹èª¬æã®ç¹å®ã®ã»ã¯ã·ã§ã³ (YAML ã®è¡) ãååã«ç€ºãããšãã§ããŸãã
- ç¹å®ã®ã¯ã©ã€ã¢ã³ãã®èŠä»¶ã«åãããŠã«ã¹ã¿ãã€ãºããæ©èœãããšãã°ãCRD çšã®ç¹å¥ãªè¡šç€ºãã³ãã¬ãŒããç¬èªã®ããŒãã« ãã¥ãŒãäœæããããCSS ã¹ã¿ã€ã«ãå€æŽãããã§ããŸãã
- ã³ãã³ãã©ã€ã³ã§ããã«èª¿æ»ããããã®ããŒã« (å®å
šãªã³ãã³ãã®è¡šç€ºãªã©)
kubectl
ãã³ããŒã®æºåãã§ããŸãã);
Kubernetes Web View ã§è§£æ±ºãããã¿ã¹ã¯ãè¶ ã㊠(ãã³ãŽãŒã«) æ®ã£ã:
- Kubernetes ãªããžã§ã¯ãã®æœè±¡åã
- ã¢ããªã±ãŒã·ã§ã³ç®¡ç (ãããã€ã¡ã³ã管çãHelm ãã£ãŒããªã©)ã
- æžã蟌ã¿æäœ (å®å šãª CI/CD ããã³/ãŸã㯠GitOps ããŒã«ãéããŠå®è¡ããå¿ èŠããããŸã)ã
- çŸããã€ã³ã¿ãŒãã§ã€ã¹ (JavaScriptãããŒããªã©)ã
- èŠèŠåïŒãåç
§ïŒ
kube-ops-view ); - ã³ã¹ãåæïŒãåç
§ïŒ
kube-ãªãœãŒã¹-ã¬ããŒã ).
Kubernetes Web View ã¯ãµããŒããšã€ã³ã·ãã³ã察å¿ã«ã©ã®ããã«åœ¹ç«ã¡ãŸãã?
ãµããŒã
- ãã¹ãŠã®ãªã³ã¯ã¯æ°žç¶çã§ããååãšã®æ å ±äº€æã容æã«ãªããŸãã
- äœæã§ããŸã ããªãã®ã¢ã€ãã¢ããšãã°ãXNUMX ã€ã®ç¹å®ã®ã¯ã©ã¹ã¿ãŒå ã®ç¹å®ã®ã©ãã«ãæã€ãã¹ãŠã®ãããã€ã¡ã³ããšãããã衚瀺ããŸã (ãªã³ã¯å ã§ã«ã³ãã§åºåã£ãŠè€æ°ã®ã¯ã©ã¹ã¿ãŒåãšãªãœãŒã¹ ã¿ã€ããæå®ã§ããŸã)ã
- åç §ã§ããŸã YAML ãã¡ã€ã«å ã®ç¹å®ã®è¡ ãªããžã§ã¯ãããªããžã§ã¯ãã®ä»æ§ã«æœåšçãªåé¡ãããããšã瀺ããŸãã
Kubernetes Web View ã§ã®ã¯ã©ã¹ã¿ãŒã«ããæ€çŽ¢
ã€ã³ã·ãã³ã察å¿
- ã°ããŒãã«æ€çŽ¢ (ã°ããŒãã«æ€çŽ¢) ãã¹ãŠã®ã¯ã©ã¹ã¿ãŒå ã®ãªããžã§ã¯ããæ€çŽ¢ã§ããŸãã
- ãªã¹ããã¥ãŒ ãã¹ãŠã®ã¯ã©ã¹ã¿ãŒå ã®ç¹å®ã®ç¶æ /åãæã€ãã¹ãŠã®ãªããžã§ã¯ãã衚瀺ã§ããŸã (ããšãã°ãã¹ããŒã¿ã¹ããä¿çäžãã§ãããã¹ãŠã®ããããæ€çŽ¢ããå¿ èŠããããŸã)ã
- ãªããžã§ã¯ãã®ãªã¹ããããŠã³ããŒãã§ããŸã åŸã§åæã§ããããã«ã¿ãåºåãå€ (TSV) 圢åŒã§ä¿åããŸãã
-
ã«ã¹ã¿ãã€ãºå¯èœãªå€éšãªã³ã¯ é¢é£ããããã·ã¥ããŒããä»ã®ããŒã«ã«åãæ¿ããããšãã§ããŸãã
Kubernetes Web View: ãã¹ãŠã®ã¯ã©ã¹ã¿ãŒå
ã§ãä¿çäžãã¹ããŒã¿ã¹ãæã€ãããã®ãªã¹ã
Kubernetes Web View ãè©ŠããŠã¿ããå Žåã¯ããã§ãã¯ã¢ãŠãããããšããå§ãããŸã
ãã¡ãããã€ã³ã¿ãŒãã§ã€ã¹ã¯ããã«æ¹åãããå¯èœæ§ããããŸãããçŸæç¹ã§ã¯ãKubernetes Web View ã¯ãå¿
èŠã«å¿ã㊠URL ãã¹ãæåã§æäœããããšãåããªããäžçŽãŠãŒã¶ãŒãåãã®ããŒã«ã§ãã ã³ã¡ã³ã/è¿œå /ææ¡ãããå Žåã¯ããé£çµ¡ãã ããã
ãã®èšäºã¯ãKubernetes Web View ã®äœæã«è³ã£ãèæ¯ã®ç°¡åãªæŽå²ã§ãã ããã«ç¶ããŸãïŒ (ããŒãã 翻蚳ã: ãããã¯æåŸ
ãããã¹ãã§ã
PS翻蚳è ãã
ç§ãã¡ã®ããã°ããèªã¿ãã ãã:
- «
kubebox ããã³ Kubernetes çšã®ãã®ä»ã®ã·ã§ã« "; - «
Kubernetes äžã§å®è¡ãããã¢ããªã±ãŒã·ã§ã³ã®éçºè åãã®ããŒã« "; - «
Kubelive ã³ã³ãœãŒã« ãŠãŒãã£ãªãã£ã Kubernetes ãšã®å¯Ÿè©±åäœæ¥ã®ããã«ç»å ŽããŸãã "; - «
Kubernetes ã䜿çšããå Žåã«äŸ¿å©ãªãŠãŒãã£ãªã㣠'ã
åºæïŒ habr.com