Kubernetes Kubernetes v1.20.0-rc.0 ã®ææ°ããŒãžã§ã³ãå©çšå¯èœã«ãªããŸããã Kubernetesãããžã§ã¯ãã¯ãkubeletã§ã® Docker Engineã®ãµããŒããéæšå¥š ã«ããäºå®ã§ãããdockershimã®ãµããŒãã¯å°æ¥ã®ãªãªãŒã¹ã§ãããããæ¥å¹ŽåŸåã«åé€ãããäºå®ã§ãã net/net is ã¯ãDocker ããŒã«ã§æ§ç¯ãããã³ã³ãã㌠ã€ã¡ãŒãžã®ãµããŒããéæšå¥šã§ã¯ãªãã以åãšåãããã«æ©èœããŸãã
ããããããã«è¯ããã¥ãŒã¹ã¯ãMirantisãšDockerããDocker Engineã®æºæ CRIã€ã³ã¿ãŒãã§ã€ã¹ãšããŠãKubernetesã®å€éšã§shimã³ãŒããã¹ã¿ã³ãã¢ãã³ã§ç¶æããããã«ææºããããšã«åæããããšã§ãã https://github.com/dims/cri-dockerd ã Dims ã®çŽ æŽãããåæãããã¿ã€ãããå§ããŸããããŠã https://github.com/Mirantis/cri-dockerd ã§ãªãŒãã³ãœãŒã¹ãããžã§ã¯ããšããŠå©çšã§ããããã«ãç¶ããŸãã ã€ãŸããçµã¿èŸŒã¿ã® Dockershim ããå€éšã«åãæ¿ããã ãã§ã以åãšåæ§ã« Docker Engine ã«åºã¥ã㊠Kubernetes ãåŒãç¶ãæ§ç¯ã§ããŸãã DockerãšMirantisã¯ã以åãšåãããã«æ©èœãç¶ãããã¹ãŠã®ã³ã³ãã©ãŒãã³ã¹ãã¹ãã«åæ Œããçµã¿èŸŒã¿ããŒãžã§ã³ãšåãããã«æ©èœããããšã確èªããããã«ååããŸãã Dockerã¯ãåªããéçºè ãšã¯ã¹ããªãšã³ã¹ãæäŸãããããDocker Desktopã§ãã®ã·ã ãåºè·ãç¶ããMirantisã¯ãããMirantis Kubernetes Engineã§äœ¿çšããŸããÂ
Docker ãš Kubernetes ã䜿çšããŠããå Žåãããã¯ã©ã®ãããªæå³ããããŸãã?
æåã§ã çŠããªãã§äžãã 🙂 éçºè ã¯åŒãç¶ã Docker ãã©ãããã©ãŒã ã䜿çšããŠãKubernetes äžã§ã³ã³ãããŒãæ§ç¯ãå ±æãå®è¡ã§ããŸãã ãã®å€æŽã¯äž»ã« Kubernetes ã®ãªãã¬ãŒã¿ãŒãšç®¡çè ã«åœ±é¿ããéçºè ã®ã¯ãŒã¯ãããŒã«ã¯åœ±é¿ããŸããã Docker ããã«ãããã€ã¡ãŒãžã¯ OCI (Open Container Initiative) ã«æºæ ããŠãããã³ã³ããã§å®å šã«ãµããŒããããŠãããåŒãç¶ã Kubernetes ã§é©åã«å®è¡ãããŸãã
Docker ã䜿çšããŠããå Žåã¯ãæ¢ã«ã³ã³ãããŒåã䜿çšããŠããŸãã Dockerã®ã©ã³ã¿ã€ã ã¯ã³ã³ããåã«åºã¥ããŠæ§ç¯ããããã®åšãã§åªããéçºè ãšã¯ã¹ããªãšã³ã¹ãæäŸããŸãã Kubernetes ãªã©ã®æå°éã®ã³ã³ãã㌠ã©ã³ã¿ã€ã ã®æ©æµãåããDocker ã®åªããéçºè ãšã¯ã¹ããªãšã³ã¹ãå¿ èŠãšããªãå¯èœæ§ãããéçšç°å¢ã§ã¯ãcontainerd ãªã©ã®è»œéã©ã³ã¿ã€ã ãçŽæ¥äœ¿çšããã®ã劥åœã§ãã
Dockerã¯ãå®å šã«çžäºéçšå¯èœãªã³ã³ããæšæºããµããŒããããã¹ãŠã®ã³ã³ãããããããç°å¢ã§å®è¡ã§ããããã«ããããã«ã2015幎㫠ãªãŒãã³ã³ã³ããã€ãã·ã¢ãã (OCI)ãèšå®ããŸããã ããã¯ãçžäºéçšæ§ãç¶æããªããã€ãããŒã·ã§ã³ãä¿é²ããäžã§å€§ããªæåãåããŠããŸãã
Dockerã¯ããã®ç§»è¡ã念é ã«çœ®ããŠã2016幎ã«Googleããã³IBMãšãšãã«ã³ã³ãããããžã§ã¯ããäœæããŸããã docker-shim (ããã³ã©ã³ã¿ã€ã ãšããŠã® Docker Engine) ã®å»æ¢ã¯ãKubernetes ã«ææ°ã®ã©ã³ã¿ã€ã ãæäŸãããšããé·æçãªåãçµã¿ã®å®äºã瀺ããŠããŸãã Containerd ã¯ãDocker ãš Kubernetes ã®äž¡æ¹ãããããæãé©åãªæ¹æ³ã§äœ¿çšããããã®ã³ã¢ã®äœã¬ãã«ã§æ¡åŒµå¯èœãªã©ã³ã¿ã€ã ãšããŠäœæãããŸããã
Containerd㯠2017幎ã«CNCFã«å¯ä»ãããKubernetesãšã®ã€ã³ã¿ãŒãã§ãŒã¹ã«ã³ã³ããåãããCRIãããžã§ã¯ããçµã¿èŸŒããŸã§ã«æé·ããAmazonãGoogleãMicrosoftãIBMãå«ãæ¥çå šäœããå€ãã®ã€ãããŒã·ã§ã³ãšæè³ãèŠãããŸããã
2019幎ã«ã¯ãæé«ã®ãããžã§ã¯ãã¬ãã«ã§ããæ®µéçãªCNCFãããžã§ã¯ãã«ãªãããã®æç床ã瀺ãããã®ã¹ããŒã¿ã¹ãæã€å¯äžã®ã³ã³ããã©ã³ã¿ã€ã ã§ããç¶ããŠããŸãã ããæ°å¹ŽãAWSãGoogleãªã©ã®äž»èŠãªKubernetesãµãŒãã¹ãããã€ããŒã¯ãKubernetesã©ã³ã¿ã€ã ãšããŠContainerdã«ç§»è¡ããŠããŸããã ãã®æžäŸ¡ååŽã®ããã»ã¹ã¯ããã®äœæ¥ãšã³ã³ããåšèŸºã®ç¹æ ããŠããã³ãã¥ããã£ã®å€§ããªæåãåæ ããŠããŸãã
Docker ããŒã«ã§ãã«ããããã³ã³ãã㌠ã€ã¡ãŒãžã®ãµããŒãã¯éæšå¥šã§ã¯ãããŸããã
Docker ããŒã«ã䜿çšããŠãã«ãããã³ã³ãã㌠ã€ã¡ãŒãžã¯ãåŒãç¶ã Kubernetes ã§å®è¡ãããŸãã æ¬¡äžä»£ãã«ãã€ã³ãã©ã¹ãã©ã¯ãã£ã§ããBuildkitã¯æè»ãªã¢ãŒããã¯ãã£ãåããŠãããããDockerã®ãã«ããŒãšããŠäœ¿çšã§ããŸãããDockerãå©çšã§ããªãå¯èœæ§ã®ããã€ã³ãã©ã¹ãã©ã¯ãã£ã§äœ¿çšããããã«ã代ããã«ã³ã³ãããŸãã¯runcãšçŽæ¥éä¿¡ããããšãã§ããŸãã
Dockerã¯ã³ã³ããéçºã«åãçµãã§ããŸã:ã€ã³ãã©ã¹ãã©ã¯ãã£ããã¹ããããŠããå Žæã𿹿³ã«é¢ä¿ãªããDockerãã«ãã䜿çšã§ããããã«ãæé·ãããã«ããããã³ãã¥ããã£ãšãšãã«ããããªãæè³ãç¶ããŠãããŸãã
Docker ã€ã¡ãŒãžãããŒã«ã«ããã³ Kubernetes ã¯ã©ã¹ã¿ãŒã§åŒãç¶ããã«ãããŠå®è¡ã§ããŸããããã®éæšå¥šã¯ãã®ãšã¯ã¹ããªãšã³ã¹ã«ã¯åœ±é¿ããŸããã
ã§ã¯ãKubernetesãããžã§ã¯ãã¯äœãéæšå¥šã«ããŠããŸãã?
Kubernetesã¯ãDocker Engineãšéä¿¡ããKubernetesã®kubeletå®è£ ã®ã³ã³ããŒãã³ãã§ãã dockershimãéæšå¥šã«ããŸãã ã¢ã«ããŒã»ãã«ããªãŒã¯ã 圌ãããã§å ±æããããã«ã€ããŠããã€ãã®çŽ æŽãããèããæã£ãŠããŸããã
Kubernetes ãããžã§ã¯ãã§ããã® FAQ ãå ¬éãããŠããŸãã Kat Cosgroveã¯ã ããã§å€æŽãéåžžã«ç°¡åã«èª¬æããŠãããŸããã
ããã¯éçºè ãšç®¡çè ã«ãšã£ãŠäœãæå³ããŸãã?
çŸåšãããã³ Kubernetes v1.20 ã§ã¯ãKubernetes 管çè ã¯åŒãç¶ã docker ã³ãã³ããš kubectl ã³ãã³ãã䜿çšã㊠Kubernetes ã¯ã©ã¹ã¿ãŒã管çã§ããŸãã
Kubernetes 管çè ã¯ã ä»åŸ dockershim ã䜿çšã§ããããã«ãªããŸãã MirantisãšDockerã®ããã°ã§ãdockershimã®å°æ¥ãšã¹ã¿ã³ãã¢ãã³ã®shimã®ã€ã³ã¹ããŒã«æ¹æ³ã«é¢ããææ°æ å ±ãå ¥æããŠãã ããã
Kubernetes ã®å°æ¥ã®ãªãªãŒã¹ (ä»åŸããã€ãã®ãã€ã㌠ãªãªãŒã¹) ã§ã¯ãå
éš Dockershim ã®ãµããŒããæçµçã« Kubernetes ã® kubelet ããåé€ããããšããKubernetes 管çè
ã¯ãKubernetes ã¯ã©ã¹ã¿ãŒãæ€æ»ããããã® Docker ã³ãã³ããåŒãç¶ãæ©èœããããã«ãããã€ãã®å€æŽãå ããå¿
èŠããããŸãã éçºè
ã¯åŒãç¶ã Docker ããŒã«ã䜿çšã㊠docker buildã docker push docker run Kubernetes äžã®ã³ã³ãããŒãšã³ã³ãã㌠ã€ã¡ãŒãžã䜿çšã§ããŸããÂ
ãããªãèæ¯
KEP-1985: Kubelet ãã Dockershim ãåé€ããããã® Kubernetes æ¡åŒµææ¡
åã ãã£ãŒãããã¯ã
質åããã®ä»ã®ãã£ãŒãããã¯ãããå Žå㯠ãDockerã®Slack ã«ãåãåãããã ãããÂ