Go to file
Abhinandan Prativadi 5a119200b8 Creating permanent sandbox namespace
This commit contains changes to create/delete permanent namespace
for a sandbox container.

Signed-off-by: Abhinandan Prativadi <abhi@docker.com>
2017-08-24 10:43:42 -07:00
cmd/cri-containerd The parameters of InitCNI should be filled in reverse order. 2017-08-17 10:18:40 +08:00
docs Add cri-containerd test document for developer. 2017-06-29 01:08:56 +00:00
hack add the user id support of runAsUser 2017-08-24 23:29:45 +08:00
pkg Creating permanent sandbox namespace 2017-08-24 10:43:42 -07:00
vendor Creating permanent sandbox namespace 2017-08-24 10:43:42 -07:00
.gitignore initial makefile (#7) 2017-04-18 21:17:14 -05:00
.travis.yml Fix node e2e test. 2017-08-22 18:12:14 +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
LICENSE Initial commit 2017-04-13 15:20:25 -07:00
Makefile Add node e2e test CI. 2017-08-21 21:21:41 +00:00
OWNERS Add initial documents. 2017-04-14 15:08:49 -07:00
README.md Add portforward support. 2017-08-17 00:13:31 +00:00
vendor.conf Creating permanent sandbox namespace 2017-08-24 10:43:42 -07: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.7. See the roadmap for information about current and future milestones.

Getting started

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.
  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.