Kubernetes Docker 1.20. (. : , : Β«Docker is deprecated β ?Β»)
. Docker , dockershim/Docker β Kubernetes containerd, , 1.22+.
Docker, container runtime interface (CRI). containerd β Kubernetes, Docker.
β dockershim Docker, .
dockershim containerd CRI
?
, (container runtime) . kubectl get nodes -o wide
, Docker.
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME k8s-cn01 Ready control-plane,master 78m v1.20.4 10.65.79.164 <none> Ubuntu 20.04.2 LTS 5.4.0-67-generic docker://20.10.5 k8s-wn01 Ready <none> 64m v1.20.4 10.65.79.131 <none> Ubuntu 20.04.2 LTS 5.4.0-67-generic docker://20.10.5 k8s-wn02 Ready <none> 4m16s v1.20.4 10.65.79.244 <none> CentOS Linux 8 4.18.0-240.15.1.el8_3.centos.plus.x86_64 docker://20.10.5
kubectl get nodes -o wide
, containerd CLI /usr/bin/ctr
moby Docker.
NAME LABELS moby
.
CONTAINER IMAGE RUNTIME 04f9500885c473c9cb2b4f8d09dc4feea5c24838519b9a01251011830bab16a2 - io.containerd.runc.v2 57d4c75ab9947829228a087b857b203c48a9d1c83de0a1b49af3624fb08c9d33 - io.containerd.runc.v2 934c007a259018a5cbda56dd8e066a66f2c9cfcb8003e7f8d25833fe462582fd - io.containerd.runc.v2 94315822d8f8a05e1be5adb7e5c18add33cbf2604057100c87572b5fc55169cd - io.containerd.runc.v2 dfa01906e845239c74a0b35d457e845382468dd9ad6e99dd0c16be30f8a23a2d - io.containerd.runc.v2
moby
, CRI. , . , , .
Cordon drain
cordon drain , .
root@k8s-cn01:~# kubectl cordon k8s-wn01 node/k8s-wn01 cordoned root@k8s-cn01:~# kubectl drain k8s-wn01 --ignore-daemonsets node/k8s-wn01 already cordoned WARNING: ignoring DaemonSet-managed Pods: kube-system/kube-proxy-9wnh4, kube-system/weave-net-pgptm evicting pod default/nginx-6799fc88d8-r44x9 pod/nginx-6799fc88d8-r44x9 evicted node/k8s-wn01 evicted root@k8s-cn01:~# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-cn01 Ready control-plane,master 138m v1.20.4 k8s-wn01 Ready,SchedulingDisabled <none> 124m v1.20.4 k8s-wn02 Ready <none> 64m v1.20.4
systemctl stop kubelet systemctl stop docker
kubelet docker
Docker ( )
Docker , , , .
apt purge docker-ce docker-ce-cli OR yum remove docker-ce docker-ce-cli
docker
containerd
disabled_plugins /etc/containerd/config.toml
, CRI .
#disabled_plugins = ["cri"]
/etc/containerd/config.tom
cotainerd , .
containerd config default > /etc/containerd/config.toml
containerd.
systemctl restart containerd
/var/lib/kubelet/kubeadm-flags.env
containerd β --container-runtimeremote
--container-runtimeendpoint=unix:///run/containerd/containerd.sock"
kubeadm-flags - :
KUBELET_KUBEADM_ARGS="--cgroup-driver=systemd --network-plugin=cni --pod-infra-container-image=k8s.gcr.io/pause:3.2 --resolv-conf=/run/systemd/resolve/resolv.conf --container-runtime=remote --container-runtime-endpoint=unix:///run/containerd/containerd.sock"
/var/lib/kubelet/kubeadm-flags.env
kubelet
, kubelet.
systemctl start kubelet
kubelet
kubectl get nodes -o wide
, .
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME k8s-cn01 Ready control-plane,master 131m v1.20.4 10.65.79.164 <none> Ubuntu 20.04.2 LTS 5.4.0-67-generic docker://20.10.5 k8s-wn01 Ready,,SchedulingDisabled <none> 117m v1.20.4 10.65.79.131 <none> Ubuntu 20.04.2 LTS 5.4.0-67-generic containerd://1.4.4 k8s-wn02 Ready <none> 57m v1.20.4 10.65.79.244 <none> CentOS Linux 8 4.18.0-240.15.1.el8_3.centos.plus.x86_64 docker://20.10.5
cordoned. .
root@k8s-cn01:~# kubectl uncordon k8s-wn01 node/k8s-wn01 uncordoned root@k8s-cn01:~# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-cn01 Ready control-plane,master 143m v1.20.4 k8s-wn01 Ready <none> 129m v1.20.4 k8s-wn02 Ready <none> 69m v1.20.4
, k8s.io. moby , β k8s.io.
root@k8s-wn01:~# ctr namespaces list NAME LABELS k8s.io moby root@k8s-wn01:~# ctr --namespace moby container list CONTAINER IMAGE RUNTIME root@k8s-wn01:~# ctr --namespace k8s.io container list CONTAINER IMAGE RUNTIME 08d4b5ca1f0ddd08fff7f64ea4eb12be66b8ec860d119565e553c84d16942d26 docker.io/weaveworks/weave-kube:2.8.1 io.containerd.runc.v2 1c9e3f61f542b12abb4b849075b084fb7fe3f69b89ce668d73022c2cd647bcd1 k8s.gcr.io/pause:3.2 io.containerd.runc.v2 1f8e0c5a6f8219de1c8f25bbb28d5d5c71b74e9ccfb9620007701847d29f23a2 k8s.gcr.io/kube-proxy:v1.20.4 io.containerd.runc.v2 39296ebd6017a7c83cd58004c94708c927f10a996a4e6ba0bbf003c6713fe713 docker.io/weaveworks/weave-kube:2.8.1 io.containerd.runc.v2 67f812954f46fa5c1f6ab39e681e2481f868309f28bd1b8ba44cce53f5c0071c docker.io/weaveworks/weave-npc:2.8.1 io.containerd.runc.v2 9caed1d57d40cedef736e45adf550eda6a0befd32712e5b6af5d711681ba71f0 k8s.gcr.io/pause:3.2 io.containerd.runc.v2
k8s.io
CRI, .