Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Registration of the CRI-O Container Factory Failed" log entries in Kubelet #3449

Open
phantomsixthplayer opened this issue Jan 12, 2024 · 0 comments

Comments

@phantomsixthplayer
Copy link

We have identified an issue within the kubelet service that results in log entries related to CRI-O connection problems if CRI-O is not used. Upon investigation, it appears that the root cause lies within the cadvisor component, as it attempts to connect to CRI-O and generates error logs in the process.

The specific log entries we are observing are as follows:

Jan 07 23:21:12 k8s-control-plane-1 kubelet[7674]: I0107 23:21:12.670850 7674 plugin.go:41] CRI-O not connected: Get "http://%2Fvar%2Frun%2Fcrio%2Fcrio.sock/info": dial unix /var/run/crio/crio.sock: connect: no such file or directory
Jan 07 23:21:12 k8s-control-plane-1 kubelet[7674]: I0107 23:21:12.685783 7674 factory.go:219] Registration of the crio container factory failed: Get "http://%2Fvar%2Frun%2Fcrio%2Fcrio.sock/info": dial unix /var/run/crio/crio.sock: connect: no such file or directory
Jan 07 23:21:18 k8s-control-plane-1 kubelet[8207]: I0107 23:21:18.396225 8207 plugin.go:41] CRI-O not connected: Get "http://%2Fvar%2Frun%2Fcrio%2Fcrio.sock/info": dial unix /var/run/crio/crio.sock: connect: no such file or directory
Jan 07 23:21:18 k8s-control-plane-1 kubelet[8207]: I0107 23:21:18.426071 8207 factory.go:219] Registration of the crio container factory failed: Get "http://%2Fvar%2Frun%2Fcrio%2Fcrio.sock/info": dial unix /var/run/crio/crio.sock: connect: no such file or directory

Upon further examination, it seems that the CRI-O connection attempts are initiated by cadvisor during its initialization process. The relevant code snippets in cadvisor can be found in the following locations:

  1. CRI-O not connected log message origin:
    klog.V(5).Infof("CRI-O not connected: %v", err)
  2. CRI-O registration failure log message origin:
    func init() {
    err := container.RegisterPlugin("crio", crio.NewPlugin())
    if err != nil {
    klog.Fatalf("Failed to register crio plugin: %v", err)
    }
    }
  3. Issue raised with Kubernetes:
    confusing CRI-O error from cadvisor for nodes that use containerd kubernetes/kubernetes#122632
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant