cri-containerd
cri-containerd
is a containerd based implementation of Kubernetes container runtime interface (CRI).
Current Status
cri-containerd
is in alpha. This release is for use with Kubernetes 1.7. See
the roadmap
for information about current and future milestones.
Getting started
Binary Dependencies and Specifications
The current release of cri-containerd has been 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 Dependencies
- 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 of
libsecomp-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
Build and Install cri-containerd
To build and install cri-containerd
enter the following commands from your cri-containerd
project directory:
make
sudo make install
Validate Your cri-containerd Setup
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
Running with Kubernetes
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
Documentation
See here for additional documentation.
Contributing
Interested in contributing? Check out the documentation.
Kubernetes Incubator
This is a Kubernetes Incubator project.
The project was established 2017/4/13. The incubator team for the project is:
For more information about sig-node
and the cri-containerd
project:
Code of Conduct
Participation in the Kubernetes community is governed by the
Kubernetes Code of Conduct.