# containerd > containerd 提供了两种压缩包: - containerd-${version}-${os}-${arch}.tar.gz,这个压缩包中仅包含了 containerd 相关的二进制文件 - cri-containerd-cni-${version}-${os}-${arch}.tar.gz,除了 containerd 相关的二进制,还包含了 runc(containerd 运行所依赖的底层容器运行时)以及相关命令的二进制(比如 ctr),如果作为k8s的容器运行时,建议直接选择第二种压缩包。 ## containerd-1.5.3-linux-amd64.tar.gz ```bash /Downloads/containerd-1.5.3-linux-amd64$ tree . └── bin ├── containerd ├── containerd-shim ├── containerd-shim-runc-v1 ├── containerd-shim-runc-v2 └── ctr 1 directory, 5 files ``` ## cri-containerd-cni-1.5.3-linux-amd64.tar.gz ```bash /Downloads/cri-containerd-cni-1.5.3-linux-amd64$ tree . ├── etc │   ├── cni │   │   └── net.d │   │   └── 10-containerd-net.conflist │   ├── crictl.yaml │   └── systemd │   └── system │   └── containerd.service ├── opt │   ├── cni │   │   └── bin │   │   ├── bandwidth │   │   ├── bridge │   │   ├── dhcp │   │   ├── firewall │   │   ├── flannel │   │   ├── host-device │   │   ├── host-local │   │   ├── ipvlan │   │   ├── loopback │   │   ├── macvlan │   │   ├── portmap │   │   ├── ptp │   │   ├── sbr │   │   ├── static │   │   ├── tuning │   │   ├── vlan │   │   └── vrf │   └── containerd │   └── cluster │   ├── gce │   │   ├── cloud-init │   │   │   ├── master.yaml │   │   │   └── node.yaml │   │   ├── cni.template │   │   ├── configure.sh │   │   └── env │   └── version └── usr └── local ├── bin │   ├── containerd │   ├── containerd-shim │   ├── containerd-shim-runc-v1 │   ├── containerd-shim-runc-v2 │   ├── containerd-stress │   ├── crictl │   ├── critest │   ├── ctd-decoder │   └── ctr └── sbin └── runc 16 directories, 36 files ``` ## install containerd ```bash curl -fsSL -x https://github.com/containerd/containerd/releases/download/v1.5.3/cri-containerd-cni-1.5.3-linux-amd64.tar.gz | tar xvz -C / # https://kubernetes.io/docs/setup/production-environment/container-runtimes/#containerd-systemd mkdir -p /etc/containerd containerd config default | tee /etc/containerd/config.toml sed -i "s@SystemdCgroup = false@SystemdCgroup = true@g" /etc/containerd/config.toml sed -i "s@k8s.gcr.io\/pause@registry.aliyuncs.com\/google_containers\/pause@g" /etc/containerd/config.toml curl -fsSL -x https://github.com/containerd/nerdctl/releases/download/v0.10.0/nerdctl-0.10.0-linux-amd64.tar.gz |tar xvz -C /usr/local/bin nerdctl systemctl daemon-reload && systemctl enable containerd && systemctl restart containerd # kubelet选择--container-runtime为containerd # --container-runtime=remote --container-runtime-endpoint=unix:///run/containerd/containerd.sock ``` ```bash root@node1:~# ctr plugins ls TYPE ID PLATFORMS STATUS io.containerd.content.v1 content - ok io.containerd.snapshotter.v1 aufs linux/amd64 ok io.containerd.snapshotter.v1 btrfs linux/amd64 skip io.containerd.snapshotter.v1 devmapper linux/amd64 error io.containerd.snapshotter.v1 native linux/amd64 ok io.containerd.snapshotter.v1 overlayfs linux/amd64 ok io.containerd.snapshotter.v1 zfs linux/amd64 skip io.containerd.metadata.v1 bolt - ok io.containerd.differ.v1 walking linux/amd64 ok io.containerd.gc.v1 scheduler - ok io.containerd.service.v1 introspection-service - ok io.containerd.service.v1 containers-service - ok io.containerd.service.v1 content-service - ok io.containerd.service.v1 diff-service - ok io.containerd.service.v1 images-service - ok io.containerd.service.v1 leases-service - ok io.containerd.service.v1 namespaces-service - ok io.containerd.service.v1 snapshots-service - ok io.containerd.runtime.v1 linux linux/amd64 ok io.containerd.runtime.v2 task linux/amd64 ok io.containerd.monitor.v1 cgroups linux/amd64 ok io.containerd.service.v1 tasks-service - ok io.containerd.internal.v1 restart - ok io.containerd.grpc.v1 containers - ok io.containerd.grpc.v1 content - ok io.containerd.grpc.v1 diff - ok io.containerd.grpc.v1 events - ok io.containerd.grpc.v1 healthcheck - ok io.containerd.grpc.v1 images - ok io.containerd.grpc.v1 leases - ok io.containerd.grpc.v1 namespaces - ok io.containerd.internal.v1 opt - ok io.containerd.grpc.v1 snapshots - ok io.containerd.grpc.v1 tasks - ok io.containerd.grpc.v1 version - ok io.containerd.grpc.v1 cri linux/amd64 ok ``` ## install crio ```bash curl -fsSL https://storage.googleapis.com/k8s-conform-cri-o/artifacts/cri-o.amd64.v1.20.3.tar.gz | tar xvz -C /tmp cd /tmp/cri-o && ls -l /tmp/cri-o && make install sed -i "s@k8s.gcr.io\/pause@registry.aliyuncs.com\/google_containers\/pause@g" /etc/crio/crio.conf cat > /etc/containers/registries.conf < - - - - - - - -