Kubernetes ha desaprobado Docker y planea retirarlo en aproximadamente un año, en la versión 1.22 o 1.23. Esta noticia provocó muchas preguntas y malos entendidos. En el blog de Kubernetes, han aparecido dos artículos completos que explican el significado de escribir en el Changelog ( uno y dos ). Para resumir todo, entonces nada cambia para los desarrolladores (aquellos que son Dev ); aún pueden continuar usando la compilación de Docker para construir sus contenedores, pero para los ingenieros responsables de operar el clúster ( Ops ), es hora de resolverlo y aprender algunos nuevas herramientas.
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
.