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-dev
is 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.deps
To build and install cri-containerd
enter the following commands from your cri-containerd
project directory:
make
sudo make install
Another 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-cri
If you already have a working development environment for Kubernetes, you can
try cri-containerd
in a local cluster:
- Start
containerd
as root in a first terminal:
sudo containerd
- Start
cri-containerd
as 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.sh
See 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-node
channel 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.