Go to file
2017-09-28 15:29:12 -07:00
cmd/cri-containerd Merge pull request #294 from Random-Liu/cleanup-flags 2017-09-28 13:13:14 -07:00
contrib Combining few tasks into one 2017-09-26 12:12:00 -07:00
docs Update testing doc 2017-09-24 03:27:10 +00:00
hack Merge pull request #285 from Random-Liu/no-cni-in-release-tarball 2017-09-25 19:18:06 -07:00
integration Adding integration test for container stats 2017-09-26 12:03:15 -07:00
pkg Merge pull request #297 from ijc/use-stat-for-device-uuid-comparison 2017-09-28 11:30:34 -07:00
vendor Check seccomp enable and add unit test for seccomp/apparmor. 2017-09-25 23:09:26 +00:00
.gitignore initial makefile (#7) 2017-04-18 21:17:14 -05:00
.travis.yml Add integration test framework 2017-09-25 21:02:30 +00:00
code-of-conduct.md Fix Typo in Events Code of Conduct 2017-08-15 19:37:07 +05:30
CONTRIBUTING.md Use vndr instead of godep. 2017-08-04 02:41:26 +00:00
gcp-secret.json.enc Upload node e2e test log to gcs 2017-09-06 23:09:50 +00:00
LICENSE Initial commit 2017-04-13 15:20:25 -07:00
Makefile Check seccomp enable and add unit test for seccomp/apparmor. 2017-09-25 23:09:26 +00:00
OWNERS Add initial documents. 2017-04-14 15:08:49 -07:00
README.md minor update to the readme 2017-09-28 17:19:40 -05:00
vendor.conf Check seccomp enable and add unit test for seccomp/apparmor. 2017-09-25 23:09:26 +00:00

cri-containerd

Build Status Go Report Card

cri-containerd is a containerd based implementation of Kubernetes container runtime interface (CRI). cri-containerd

Current Status

cri-containerd is in alpha. This release is for use with Kubernetes 1.8. See the roadmap for information about current and future milestones.

Installing with Ansible and Kubeadm

For a multi node cluster installer and bring up steps using ansible and kubeadm refer to Getting started guide.

Getting Started for Developers

Binary Dependencies and Specifications

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 Dependencies

  1. 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. To use apparmor on Debian, Ubuntu, and related distributions runc requires the installation of libapparmor-dev.
  1. Install containerd dependencies.
  • containerd requires installation of a btrfs development library. btrfs-tools(Ubuntu, Debian) / btrfs-progs-devel(Fedora, CentOS, RHEL)
  1. Install other dependencies:
  • nsenter: Required by CNI and portforward.
  • socat: Required by portforward.
  1. Install and setup a go1.8.x development environment.
  2. Make a local clone of this repository.
  3. 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:

  1. Start containerd as root in a first terminal:
sudo containerd
  1. Start cri-containerd as root in a second terminal:
sudo cri-containerd -v 2 --alsologtostderr
  1. 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.