containerd
文章目录
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
/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
/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
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
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
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 <<EOF
unqualified-search-registries = ["docker.io","quay.io"]
[[registry]]
prefix = "docker.io"
location = "hub-mirror.c.163.com"
[[registry.mirror]]
location = "fz5yth0r.mirror.aliyuncs.com"
[[registry.mirror]]
location = "docker.mirrors.ustc.edu.cn"
EOF
systemctl daemon-reload && systemctl enable crio && systemctl restart crio
# kubelet选择--container-runtime为containerd
# --container-runtime=remote --container-runtime-endpoint=unix:///var/run/crio/crio.sock
ref
- https://github.com/containerd/containerd
- https://github.com/containerd/nerdctl
- https://github.com/containernetworking/plugins
- https://github.com/kubernetes-sigs/cri-tools
- https://github.com/moby/buildkit
- https://github.com/containers/skopeo
- https://github.com/containers/podman
- https://github.com/containers/buildah
- https://github.com/opencontainers/runc
上次更新 2021-07-21
原始文档 查看本文 Markdown 版本 »