kubernetes的容器运行时

容器运行时是负责容器进程的创建、运行和终止的底层组件,进行实际上的行为,负责 怎么做(如何创建/停止容器)
​​Kubernetes​​(kubelet)进行控制逻辑,做到 何时做(何时启动/终止容器)

容器运行时是“具体干活”的,但“什么时候干”由上层(如 K8s、Docker)决定。
没有编排系统时,容器运行时仍能工作,但会失去自动化能力。

▶ containerd 容器运行时

containerd 是现在k8s常见的容器运行时,这个组件是 docker 的精简版本,具体来说 docker公司将Docker中kubernetes需要的部分摘出来,这就形成了精简Docker版本。

在 kubernetes 中集群k8s负责统筹什么时候对容器进行操作,而具体对容器的执行则是容器运行时来做的。

▷ 为 containerd 配置镜像源

由于container是docker的精简版,所以container是能运行docker创建的容器,也能拉取docker的镜像,所以container的配置文件中能配置docker的镜像源。

通过在 /etc/containerd/config.toml 这个文件的 [plugins."io.containerd.grpc.v1.cri".registry.mirrors] 下面添加docker的镜像源来实现上面的描述。

[root@worker2 ~]#  vim /etc/containerd/config.toml
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
        endpoint = ["https://docker.1ms.run"]
[root@worker2 ~]# crictl pull httpd
Image is up to date for sha256:bf07fec943ec23054f3b81c0e65926a1c83dc82c50933dc6372c60e09fdb2d4f

[root@worker2 ~]# crictl images
IMAGE                                                             TAG                 IMAGE ID            SIZE
docker.io/library/httpd                                           latest              bf07fec943ec2       58.5MB

果然是可以的。

posted @ 2025-06-16 20:16  takenika  阅读(33)  评论(0)    收藏  举报