Kubernetes a abandonné Docker et prévoit de le retirer dans environ un an, en version 1.22 ou 1.23. Cette nouvelle a suscité de nombreuses questions et malentendus. Le blog Kubernetes contient deux articles entiers qui expliquent la signification de l' entrée Changelog ( un et deux ). Pour résumer tout, alors pour les développeurs (ceux qui sont Dev ), rien ne change - ils peuvent toujours continuer à utiliser docker build pour construire leurs conteneurs, mais pour les ingénieurs responsables de l'exploitation du cluster ( Ops ), il est temps de le comprendre et d'en apprendre quelques-uns de nouveaux outils.
2016 , Kubernetes Container Runtime Interface (CRI). Kubernetes 1.3 kubelet Docker, 1.3 rkt Container Engine ( ). , Docker rkt, kubelet. rkt , container runtime kubelet, .
, — Container Runtime Interface. , Docker, kubelet, kubelet CRI. — Docker CRI. , Kubernetes - kubelet Docker. kubelet CRI, — docker-.
dockershim, 1.23.
, 2020 , 2016 Container Runtime Interface.
rkt .
RedHat CRI-O.
Docker containerd, dockerd docker-cli.
, CRI — containerd cri-o. , 2020 , Kubernetes Docker.
, . : « containerd cri-o?»
: «». containerd cri-o . , :
;
;
, ;
( bash).
, - registry. ?
, 2015 «Docker » Open Container Initiative (OCI) . Docker, containerd cri-o, , docker build , containerd cri-o. , « ». , , , , .
— containerd . CI runners Docker.
, enterpise , Openshift ( Kubernetes), cri-o. RedHat , buildah. Docker, .
kaniko — Google. , , — .
, : , , , NotReady, docker ps
, docker: command not found
.
, Docker , , , CRI — by design -, .
, CRI, crictl, CLI- CRI-. crictl containerd cri-o.
, docker crictl docker ps
crictl ps
. , crictl run
, , PodSandbox, , , .
, CRI Kubernetes Kubernetes, , , Pod Runtime Interface.
crictl , kubelet. , PODSandbox , , Docker. CLI .
, . docker
( docker-cli) dockerd
(, ). crictl image save/load
, crictl . issue , crictl — CRI runtime, , registry. .
! skopeo, cri-o, ctr containerd.
, :
«, containerd, kubelet dockerd! Docker ( docker-cli, docker, containerd), kubelet containerd , docker
».
docker ps
, kubelet CRI. - , containerd , docker kubelet containerd namespaces — moby
k8s.io
( kubernetes namespaces). ctr -n <ns_name> container ls
.