cri-containerd is a containerd based implementation of Kubernetes container runtime interface (CRI).
cri-containerd is in alpha. This release is for use with Kubernetes 1.7. See
the roadmap
for information about current and future milestones.
The current release of cri-containerd has following depedencies:
See versions of these dependencies cri-containerd is tested with.
As containerd and runc move to their respective general availability releases,
we will do our best to rebase/retest cri-containerd with these releases on a
weekly/monthly basis. Similarly, given that cri-containerd uses the Open
Container Initiative (OCI) image
and runtime specifications, we
will also do our best to update cri-containerd to the latest releases of these
specifications as appropriate.
- Install runc dependencies.
- runc requires installation of the libsecomp development library appropriate for your distribution.
libseccomp-dev(Ubuntu, Debian) /libseccomp-devel(Fedora, CentOS, RHEL). On releases of Ubuntu <=Trusty and Debian <=jessie a backport version oflibsecomp-devis required. See travis.yml for an example on trusty.
- Install containerd dependencies.
- containerd requires installation of a btrfs development library.
btrfs-tools(Ubuntu, Debian) /btrfs-progs-devel(Fedora, CentOS, RHEL)
- Install and setup a go1.8.x development environment.
- Make a local clone of this repository.
- Install binary dependencies by running the following command from your cloned
cri-containerd/project directory:
# Note: install.deps installs the above mentioned runc, containerd, and CNI
# binary dependencies. install.deps is only provided for general use and ease of
# testing. To customize `runc` and `containerd` build tags and/or to configure
# `cni`, please follow instructions in their documents.
make install.depsTo build and install cri-containerd enter the following commands from your cri-containerd project directory:
make
sudo make installAnother Kubernetes incubator project called cri-tools
includes programs for exercising CRI implementations such as cri-containerd.
More importantly, cri-tools includes the program critest which is used for running
CRI Validation Testing.
Run the CRI Validation test to validate your installation of cri-containerd:
make test-criIf you already have a working development environment for Kubernetes, you can
try cri-containerd in a local cluster:
- Start
containerdas root in a first terminal:
sudo containerd- Start
cri-containerdas root in a second terminal:
sudo cri-containerd -v 2 --alsologtostderr- From the kubernetes project directory startup a local cluster using
cri-containerd:
CONTAINER_RUNTIME=remote CONTAINER_RUNTIME_ENDPOINT='/var/run/cri-containerd.sock' ./hack/local-up-cluster.shSee here for additional documentation.
Interested in contributing? Check out the documentation.
This is a Kubernetes Incubator project. The project was established 2017/4/13. The incubator team for the project is:
- Sponsor: Dawn Chen (@dchen1107)
- Champion: Yuju Hong (@yujuhong)
- SIG:
sig-node
For more information about sig-node and the cri-containerd project:
- sig-node community site
- Slack:
#sig-nodechannel in Kubernetes (kubernetes.slack.com) - Mailing List: https://groups.google.com/forum/#!forum/kubernetes-sig-node
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.