---
# What is CRICTL and Why Should You Care?
**URL:** https://crunchtools.com/what-is-crictl-and-why-should-you-care/
Date: 2018-07-13
Author: fatherlinux
Post Type: post
Summary: Container Engines are like wheel bearings, you should be able to replace them when they stop working. Also, you shouldn’t have to care about what brand they are. That’s what the Kubernetes Container Runtime Interface (CRI) aims to solve. CRI defines the API used to talk to container engines and all the major container enginesContinue Reading "What is CRICTL and Why Should You Care?" →
Categories: Articles
Tags: Container Engines, Container Runtime, Kubernetes, Open Standards
Featured Image: https://crunchtools.com/wp-content/uploads/2018/03/About.png
---
[Container Engines](https://developers.redhat.com/blog/2018/02/22/container-terminology-practical-introduction/#h.6yt1ex5wfo3l) are like wheel bearings, you should be able to replace them when they stop working. Also, you shouldn't have to care about what brand they are. That's what the Kubernetes [Container Runtime Interface (CRI)](https://kubernetes.io/blog/2016/12/container-runtime-interface-cri-in-kubernetes/) aims to solve. CRI defines the API used to talk to container engines and all the major container engines support CRI either natively or through what's called a shim daemon (example - [docker shim](https://github.com/kubernetes/kubernetes/tree/release-1.5/pkg/kubelet/dockershim)). The Kublet reaches out to the container engine using the CRI protocol. But, part of getting to this vision means that you need a standard human interface as well. The entire world is used to using Docker - docker ps, docker exec, docker run, etc. To get to a world where the container engine is pluggable, the human interface also needs to be standard. That's where [CRICTL](https://github.com/kubernetes-incubator/cri-tools/tree/master/cmd/crictl) comes in.
[](http://crunchtools.com/wp-content/uploads/2018/07/Contianer-Standards-Work-Podman-vs.-CRICTL.png)
You probably haven't heard of [CRICTL](https://github.com/kubernetes/kubernetes/tree/release-1.5/pkg/kubelet/dockershim)." I googled, and there isn't a single blog entry about it. The closest I could find was a blip in the Kubernetes docs about [Debugging Nodes](https://kubernetes.io/docs/tasks/debug-application-cluster/crictl/). Finally, I think I can be the first in the world to write about something. Now, I feel special - but, more importantly this project the future of the human interface to the pluggable container engine. I am just the messenger. It's an a natural extension of the CRI interface, intended for humans to use.
A quick [look at some code](https://github.com/kubernetes-incubator/cri-tools/tree/master/cmd/crictl) will show us the subcommands. Things like *attach*, *exec*, *logs*, and *info* all look pretty familiar. They should remind you of the docker command line interface. That would make sense if this is to replace the docker command line for container engine interaction. You'll notice one glaring subcommand missing - run. That would make sense, because you should be going to kubectl for that. The CRI interface is more about troubleshooting containers and pods on hosts in your cluster in an emergency situation. During normal operations, you should be leveraging the Kubernetes API.
This is a fast moving space, but I welcome you to the party. If you have a Kubernetes cluster up and running, give CRICTL a test drive. If you are using [CRI-O with OpenShift](https://medium.com/cri-o/how-to-run-cri-o-1-9-10-with-openshift-container-platform-3-9-and-red-hat-enterprise-linux-7-4-c8ecf47c66b5) or the [Docker Shim](https://github.com/kubernetes/kubernetes/tree/release-1.5/pkg/kubelet/dockershim), or [containerd](https://github.com/containerd/cri) you should be in business.
---
## Categories
- Articles
---
## Navigation
- [Home](https://crunchtools.com/)
- [Articles](https://crunchtools.com/category/articles/)
- [Events](https://crunchtools.com/category/events/)
- [News](https://crunchtools.com/category/news/)
- [Presentations](https://crunchtools.com/category/presentations/)
- [Software](https://crunchtools.com/software/)
- [Beaver Backup](https://crunchtools.com/software/beaver-backup/)
- [Check BGP Neighbors](https://crunchtools.com/software/check-bgp-neighbors-nagios/)
- [Chev](https://crunchtools.com/software/chev-check-vulnerabilities-script/)
- [Graph BGP Neighbors](https://crunchtools.com/software/grpah-bgp-neighbors/)
- [Graph MySQL Stats](https://crunchtools.com/software/graph-mysql-stats/)
- [Graph Sockets Pipes Files](https://crunchtools.com/software/graph-sockets-pipes-files/)
- [MCP Servers](https://crunchtools.com/software/mcp-servers/)
- [Petit](https://crunchtools.com/software/petit/)
- [Racecar](https://crunchtools.com/software/racecar/)
- [Shiva](https://crunchtools.com/software/shiva/)
- [About](https://crunchtools.com/about/)
- [Home](https://crunchtools.com)
## Tags
- Container Engines
- Container Runtime
- Kubernetes
- Open Standards