1、 Containerd和Docker的架构区别

Docker vs. Containerd:

2、ctr & crictl的区别

ctr是containerd的一个客户端工具
crictl 是 CRI 兼容的容器运行时命令行接口,可以使用它来检查和调试 Kubernetes 节点上的容器运行时和应用程序
crictl 则直接对应了命名空间 k8s.io,即”crictl image list“等同于“ctr -n=k8s.io image list“
所以crictl是kubernetes专属的containerd管理命令,crictl -v 输出的是当前 k8s 的版本。

containerd 相比于docker , 多了 namespace概念, 每个 image和 container 都会在各自的namespace下可见, 目前k8s会使用k8s.io 作为命名空间

# ctr namespace list
NAME   LABELS 
k8s.io 

 3、docker、ctr、crictl命令对照表

 # crictl stats

ONTAINER           NAME                      CPU %               MEM                 DISK                INODES
0782b441edb09       kube-scheduler            1.05                35.98MB             12.29kB             8
16cea16f8dc35       kube-apiserver            9.26                333.5MB             65.54kB             18
67fdb8bc4579c       coredns                   0.40                13.58MB             45.06kB             14
74bfbb60a86ae       etcd                      5.45                62.98MB             36.86kB             11
8ad81cb5d6381       cilium-agent              2.10                199.9MB             208.9kB             46
98eb930b45798       kube-controller-manager   5.12        72.15MB             73.73kB             22
be8beba4f4100       coredns                   0.47                13.46MB             45.06kB             14
d2132bee317cc       hello                     0.00                3.113MB             24.58kB             7
d6b209ce43a4c       kube-proxy                0.00                35.56MB             65.54kB             24
ebef8a361a4ef       cilium-operator           0.24                39.24MB             57.34kB             17

4、containerd的镜像加速配置

方法一、修改文件:vi /etc/containerd/config.toml

将如下代码:
    [plugins."io.containerd.grpc.v1.cri".registry]
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
          endpoint = ["https://registry-1.docker.io"]

改为:
    [plugins."io.containerd.grpc.v1.cri".registry]
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
          endpoint = ["https://mn3d3160.mirror.aliyuncs.com"]

方法二、export CONTAINER_REGISTRY_MIRROR=https://mn3d3160.mirror.aliyuncs.com

然后重启 containerd:

systemctl daemon-reload

systemctl restart containerd

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐