docs update for cri-containerd to cri move
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
This commit is contained in:
66
README.md
66
README.md
@@ -1,18 +1,23 @@
|
||||
# cri-containerd
|
||||
# cri
|
||||
<p align="center">
|
||||
<img src="https://github.com/kubernetes/kubernetes/blob/master/logo/logo.png" width="50" height="50">
|
||||
<img src="https://github.com/containerd/containerd/blob/master/docs/images/containerd-dark.png" width="200" >
|
||||
</p>
|
||||
|
||||
[](https://travis-ci.org/containerd/cri-containerd)
|
||||
[](https://goreportcard.com/report/github.com/containerd/cri-containerd)
|
||||
Note: `cri-containerd` is transitioning from a standalone binary that talks to
|
||||
containerd to a plugin within containerd. This github branch is for the `cri`
|
||||
plugin. See [cri-containerd standalone branch](https://github.com/containerd/cri/tree/standalone-cri-containerd)
|
||||
for information about the standalone version of cri-containerd.
|
||||
|
||||
`cri-containerd` is a [containerd](https://containerd.io/) based implementation of Kubernetes [container runtime interface (CRI)](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto).
|
||||
[](https://travis-ci.org/containerd/cri)
|
||||
[](https://goreportcard.com/report/github.com/containerd/cri)
|
||||
|
||||
`cri` is a [containerd](https://containerd.io/) plugin implementation of Kubernetes [container runtime interface (CRI)](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto).
|
||||
|
||||
With it, you could run Kubernetes using containerd as the container runtime.
|
||||

|
||||

|
||||
## Current Status
|
||||
`cri-containerd` is in beta:
|
||||
`cri` is in beta:
|
||||
* It is feature complete.
|
||||
* It (the beta version) works with Kubernetes >= 1.9.
|
||||
* It has passed all [CRI validation tests](https://github.com/kubernetes/community/blob/master/contributors/devel/cri-validation.md).
|
||||
@@ -21,11 +26,11 @@ With it, you could run Kubernetes using containerd as the container runtime.
|
||||
|
||||
See [test dashboard](https://k8s-testgrid.appspot.com/sig-node-containerd)
|
||||
## Support Metrics
|
||||
| CRI-Containerd Version | Kubernetes Version |
|
||||
|:----------------------:|:------------------:|
|
||||
| v1.0.0-alpha.x | 1.7, 1.8 |
|
||||
| v1.0.0-beta.x | 1.9 |
|
||||
| HEAD | 1.10+ |
|
||||
| CRI-Containerd Version | CRI Plugin Version | Kubernetes Version |
|
||||
|:----------------------:|:------------------:|:------------------:|
|
||||
| v1.0.0-alpha.x | | 1.7, 1.8 |
|
||||
| v1.0.0-beta.x | | 1.9 |
|
||||
| | HEAD | 1.10+ |
|
||||
## Production Quality Cluster on GCE
|
||||
For a production quality cluster on GCE brought up with `kube-up.sh` refer [here](docs/kube-up.md).
|
||||
## Installing with Ansible and Kubeadm
|
||||
@@ -35,33 +40,33 @@ For non ansible users, you can download the `cri-containerd` release tarball and
|
||||
kubernetes cluster using kubeadm as described [here](docs/installation.md).
|
||||
## Getting Started for Developers
|
||||
### Binary Dependencies and Specifications
|
||||
The current release of `cri-containerd` has the following dependencies:
|
||||
The current release of the `cri` plugin has the following dependencies:
|
||||
* [containerd](https://github.com/containerd/containerd)
|
||||
* [runc](https://github.com/opencontainers/runc)
|
||||
* [CNI](https://github.com/containernetworking/cni)
|
||||
|
||||
See [versions](./vendor.conf) of these dependencies `cri-containerd` is tested with.
|
||||
See [versions](./vendor.conf) of these dependencies `cri` 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
|
||||
we will do our best to rebase/retest `cri` with these releases on a
|
||||
weekly/monthly basis. Similarly, given that `cri` uses the Open
|
||||
Container Initiative (OCI) [image](https://github.com/opencontainers/image-spec)
|
||||
and [runtime](https://github.com/opencontainers/runtime-spec) specifications, we
|
||||
will also do our best to update `cri-containerd` to the latest releases of these
|
||||
will also do our best to update `cri` to the latest releases of these
|
||||
specifications as appropriate.
|
||||
### Install Dependencies
|
||||
1. Install development libraries:
|
||||
* **libseccomp development library.** Required by cri-containerd and runc seccomp support. `libseccomp-dev` (Ubuntu, Debian) / `libseccomp-devel`
|
||||
* **libseccomp development library.** Required by cri and runc seccomp support. `libseccomp-dev` (Ubuntu, Debian) / `libseccomp-devel`
|
||||
(Fedora, CentOS, RHEL). On releases of Ubuntu <=Trusty and Debian <=jessie a
|
||||
backport version of `libseccomp-dev` is required. See [travis.yml](.travis.yml) for an example on trusty.
|
||||
* **libapparmor development library.** Required by cri-containerd and runc apparmor support. To use apparmor on Debian, Ubuntu, and related distributions the installation of `libapparmor-dev` is required.
|
||||
* **libapparmor development library.** Required by cri and runc apparmor support. To use apparmor on Debian, Ubuntu, and related distributions the installation of `libapparmor-dev` is required.
|
||||
* **btrfs development library.** Required by containerd btrfs support. `btrfs-tools`(Ubuntu, Debian) / `btrfs-progs-devel`(Fedora, CentOS, RHEL)
|
||||
2. Install other dependencies:
|
||||
* **`nsenter`**: Required by CNI and portforward.
|
||||
* **`socat`**: Required by portforward.
|
||||
3. Install and setup a go 1.10 development environment.
|
||||
4. Make a local clone of this repository.
|
||||
5. Install binary dependencies by running the following command from your cloned `cri-containerd/` project directory:
|
||||
5. Install binary dependencies by running the following command from your cloned `cri/` project directory:
|
||||
```bash
|
||||
# Note: install.deps installs the above mentioned runc, containerd, and CNI
|
||||
# binary dependencies. install.deps is only provided for general use and ease of
|
||||
@@ -69,14 +74,15 @@ backport version of `libseccomp-dev` is required. See [travis.yml](.travis.yml)
|
||||
# `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:
|
||||
### Build and Install cri
|
||||
To build and install a version of containerd with the `cri` plugin enter the
|
||||
following commands from your `cri` project directory:
|
||||
```bash
|
||||
make
|
||||
sudo make install
|
||||
```
|
||||
#### Build Tags
|
||||
`cri-containerd` supports optional build tags for compiling support of various features.
|
||||
`cri` supports optional build tags for compiling support of various features.
|
||||
To add build tags to the make option the `BUILDTAGS` variable must be set.
|
||||
|
||||
```bash
|
||||
@@ -88,31 +94,27 @@ make BUILD_TAGS='seccomp apparmor'
|
||||
| seccomp | syscall filtering | libseccomp development library |
|
||||
| selinux | selinux process and mount labeling | <none> |
|
||||
| apparmor | apparmor profile support | libapparmor development library |
|
||||
### Validate Your cri-containerd Setup
|
||||
### Validate Your cri Setup
|
||||
A Kubernetes incubator project called [cri-tools](https://github.com/kubernetes-incubator/cri-tools)
|
||||
includes programs for exercising CRI implementations such as `cri-containerd`.
|
||||
includes programs for exercising CRI implementations such as the `cri plugin`.
|
||||
More importantly, cri-tools includes the program `critest` which is used for running
|
||||
[CRI Validation Testing](https://github.com/kubernetes/community/blob/master/contributors/devel/cri-validation.md).
|
||||
|
||||
Run the CRI Validation test to validate your installation of `cri-containerd`:
|
||||
Run the CRI Validation test to validate your installation of `containerd` with `cri`:
|
||||
```bash
|
||||
make test-cri
|
||||
```
|
||||
### Running a Kubernetes local cluster
|
||||
If you already have a working development environment for supported Kubernetes
|
||||
version, you can try `cri-containerd` in a local cluster:
|
||||
version, you can try `cri` in a local cluster:
|
||||
|
||||
1. Start `containerd` as root in a first terminal:
|
||||
```bash
|
||||
sudo containerd
|
||||
```
|
||||
2. Start `cri-containerd` as root in a second terminal:
|
||||
2. From the Kubernetes project directory startup a local cluster using `containerd` with `cri`:
|
||||
```bash
|
||||
sudo cri-containerd
|
||||
```
|
||||
3. From the Kubernetes project directory startup a local cluster using `cri-containerd`:
|
||||
```bash
|
||||
CONTAINER_RUNTIME=remote CONTAINER_RUNTIME_ENDPOINT='/var/run/cri-containerd.sock' ./hack/local-up-cluster.sh
|
||||
CONTAINER_RUNTIME=remote CONTAINER_RUNTIME_ENDPOINT='/run/containerd/containerd.sock' ./hack/local-up-cluster.sh
|
||||
```
|
||||
### Test
|
||||
See [here](./docs/testing.md) for information about test.
|
||||
|
||||
Reference in New Issue
Block a user