Containerd Now Available as Runtime Option for Kubernetes
Enterprise users of the Kubernetes container orchestration system now have a new option for a container runtime: conatinerd.
The open source containerd project is now generally available as a runtime option, offering an alternative to the industry-leading Docker runtime.
Although Docker is the dominant player in the field, some experts believe other options such as containerd can sometimes be the better choice.
With that in mind, engineers from Google, Docker, IBM, ZTE and ZJU have developed an integration project that provides a way to use containerd instead of Docker. While it may seem strange that Docker Inc. is involved what appears to be a competing project, the company actually initiated the containerd project before donating it to the community, and the Docker engine is based on it.
The backers of containerd describe it as an industry-standard container runtime with an emphasis on simplicity, robustness and portability.
Compared to Docker, it's a slimmed-down option, with a smaller scope, a smaller codebase and an emphasis on being embeddable in larger systems, along with other differentiating factors such as Go programming language API.
The Kubernetes/containerd integration project was announced last November by Lantao Liu, software engineer at Google and Mike Brown, open source developer advocate, IBM. Just last week they announced a version 1.1 that has been moved to general availability after six months of development work to improve the alpha offering.
"You can now use containerd 1.1 as the container runtime for production Kubernetes clusters!" they said in a blog post
The integration project is made possible via the Container Runtime Interface (CRI), an internal plugin API found in Kubernetes 1.5, providing easy access to different container runtimes.
The team said that in building v1.1 that just went to GA it had a major focus on improving performance in areas such as pod startup latency and daemon resource usage.
The team also summarized the major features of their announcement:
- Containerd 1.1 natively supports CRI. It can be used directly by Kubernetes.
- Containerd 1.1 is production ready.
- Containerd 1.1 has good performance in terms of pod startup latency and system resource utilization.
- crictl is the CLI tool to talk with containerd 1.1 and other CRI-conformant container runtimes for node troubleshooting.
- The next stable release of Docker CE will include containerd 1.1. Users have the option to continue using Docker for use cases not specific to Kubernetes, and configure Kubernetes to use the same underlying containerd that comes with Docker.
"We're very glad to see containerd rapidly grow to this big milestone," said Xinwei, staff engineer in Alibaba Cloud in last week's post. "Alibaba Cloud started to use containerd actively since its first day, and thanks to the simplicity and robustness emphasis, make it a perfect container engine running in our Serverless Kubernetes product, which has high qualification on performance and stability. No doubt, containerd will be a core engine of container era, and continue to driving innovation forward."
David Ramel is the editor of Visual Studio Magazine.