基于K8S的持续集成部署4之我是个初学者所以不懂

这几天一直在思考一个问题,那就是当k8s将原来的docker运行时换成了containerd运行时后,由于containerd运行时本身是没有制作镜像的功能的。那么我的问题就是,要怎么制作镜像呢?docker制作的镜像是否通用?

结论

  • docker制作的镜像可以被containerd运行时使用。因为在docker v1.12版本中,docker已经将containerd作为独立的守护进程从docker中剥离出去了,docker想要控制容器的生命周期,必须向containerd申请,通过containerd控制容器的生命周期,因此docker构建的镜像是符合cri接口的,cri是什么东西呢,这个大家知道这么个概念就行了,它就是符合运行时的一个标准。

  • docker用来制作各种镜像,containerd负责容器的生命周期,这个理念是成立的(由上可得)

  • docker制作好应用服务镜像后,通过docker tag & push 到容器镜像仓库后,便可以通过containerd运行时拉取

  • 容器镜像仓库有两种:docker私人镜像仓库register2,或者vmware公布的harbor。小公司register2够用,大公司其实也够用,如果追求极致,那么可以用harbor镜像仓库

    • 由于国内是无法下载harbor安装包的,所以想要下载,大家可以用下面这个地址,安装方法网上一堆,这里我就不啰嗦了

      https://mirror.ghproxy.com/https://github.com/goharbor/harbor/releases/download/v2.9.2/harbor-offline-installer-v2.9.2.tgz
  • 虽然containerd也可以通过安装软件实现镜像的制作功能,但是太麻烦了,不建议。还是用咱们熟悉的docker吧

下一章,我们直接进入有关应用的标准与实现,让我们愉快的拥抱技术吧。