Thanos
Thanos

Reputation: 1778

cri-o socket (crio.sock) vs dockershim socket (dockershim.sock)

I am very new to Kubernetes and trying to understand the difference between crio vs dockershim.

I was reading the manual on how to install kubernetes and I see that crio is recommended as a step (see link) Container runtimes/cri-o.

Yet I got more confused when I first tried to launch the pilot and I saw that by default kubernetes is using another cri tool (dockershim) as a default cri tool see link crictl/General usage.

My question is does it worth going through the installation procedure of CRI-O? I have found bugs that on the latest available release for centos7 (1.15.1-2.el7).

I also tested crio-v1.18.0 and the bugs seem to be fixed but on this case it seems that CRI-O can connect to port 10248 when using private repo to pull the pilot images.

Can someone share some light on this? Does it worth it to try to fix those bugs or I am spending too much time on this?

Upvotes: 0

Views: 2532

Answers (1)

mlody3k
mlody3k

Reputation: 73

Kubelet (node daemon of Kubernetes) communicates with the container runtime running on the node via Container Runtime Interface. dockershim, as well as crio implement CRI, and act as a connectors between runtime and kubelet, but they refer to different container runtimes.

  • dockershim is a connector between kubelet and docker
  • crio is a connector between kubelet and runtime compliant with OCI spec (for example: runc)

There are so many ways of setting up container runtimes. Various kubernetes distributions uses various container runtimes as their defaults (for example, Google Kubernetes Engine installed containerD runtime with containerD-shim when I tried it last time)

I'd say that if you want to start playing with kubernetes and want to have it stable, you should start with docker first (use dockershim as a CRI connector). It's most commonly tested way of using K8S.

Upvotes: 2

Related Questions