docs: point cri release tarball to github release page

Signed-off-by: Shengjing Zhu <zhsj@debian.org>
This commit is contained in:
Shengjing Zhu 2021-01-03 17:37:10 +08:00
parent 602af6f677
commit 91dc69ee43
6 changed files with 75 additions and 79 deletions

View File

@ -231,8 +231,7 @@ Please see [RELEASES.md](RELEASES.md) for details on versioning and stability
of containerd components. of containerd components.
Downloadable 64-bit Intel/AMD binaries of all official releases are available on Downloadable 64-bit Intel/AMD binaries of all official releases are available on
our [releases page](https://github.com/containerd/containerd/releases), as well as our [releases page](https://github.com/containerd/containerd/releases).
auto-published to the [cri-containerd-release storage bucket](https://console.cloud.google.com/storage/browser/cri-containerd-release?pli=1).
For other architectures and distribution support, you will find that many For other architectures and distribution support, you will find that many
Linux distributions package their own containerd and provide it across several Linux distributions package their own containerd and provide it across several
@ -262,7 +261,7 @@ loaded for the user's shell environment.
`cri` is a [containerd](https://containerd.io/) plugin implementation of the Kubernetes [container runtime interface (CRI)](https://github.com/kubernetes/cri-api/blob/master/pkg/apis/runtime/v1alpha2/api.proto). With it, you are able to use containerd as the container runtime for a Kubernetes cluster. `cri` is a [containerd](https://containerd.io/) plugin implementation of the Kubernetes [container runtime interface (CRI)](https://github.com/kubernetes/cri-api/blob/master/pkg/apis/runtime/v1alpha2/api.proto). With it, you are able to use containerd as the container runtime for a Kubernetes cluster.
![cri](./docs/cri.png) ![cri](./docs/cri/cri.png)
#### CRI Status #### CRI Status
@ -286,7 +285,7 @@ A Kubernetes incubator project, [cri-tools](https://github.com/kubernetes-sigs/c
#### CRI Guides #### CRI Guides
* [Bringing up a Production Quality Cluster on GCE](docs/cri/kube-up.md) * [Bringing up a Production Quality Cluster on GCE](docs/cri/kube-up.md)
* [Installing with Ansible and Kubeadm](contrib/ansible/README.md) * [Installing with Ansible and Kubeadm](contrib/ansible/README.md)
* [For Non-Ansible Users, Preforming a Custom Installation Using the Release Tarball and Kubeadm](docs/installation.md) * [For Non-Ansible Users, Preforming a Custom Installation Using the Release Tarball and Kubeadm](docs/cri/installation.md)
* [CRI Plugin Testing Guide](./docs/cri/testing.md) * [CRI Plugin Testing Guide](./docs/cri/testing.md)
* [Debugging Pods, Containers, and Images with `crictl`](./docs/cri/crictl.md) * [Debugging Pods, Containers, and Images with `crictl`](./docs/cri/crictl.md)
* [Configuring `cri` Plugins](./docs/cri/config.md) * [Configuring `cri` Plugins](./docs/cri/config.md)

View File

@ -1,7 +1,7 @@
--- ---
- name: "Get Containerd" - name: "Get Containerd"
unarchive: unarchive:
src: "https://storage.googleapis.com/cri-containerd-release/cri-containerd-{{ containerd_release_version }}.linux-amd64.tar.gz" src: "https://github.com/containerd/containerd/releases/download/v{{ containerd_release_version }}/cri-containerd-cni-{{ containerd_release_version }}-linux-amd64.tar.gz"
dest: "/" dest: "/"
remote_src: yes remote_src: yes

View File

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 80 KiB

View File

@ -4,50 +4,74 @@ This document provides the steps to install `containerd` and its dependencies wi
These steps have been verified on Ubuntu 16.04. For other OS distributions, the steps may differ. Please feel free to file issues or PRs if you encounter any problems on other OS distributions. These steps have been verified on Ubuntu 16.04. For other OS distributions, the steps may differ. Please feel free to file issues or PRs if you encounter any problems on other OS distributions.
*Note: You need to run the following steps on each node you are planning to use in your Kubernetes cluster.* *Note: You need to run the following steps on each node you are planning to use in your Kubernetes cluster.*
## Release Tarball
For each `containerd` release, we'll publish a release tarball specifically for Kubernetes named `cri-containerd-${VERSION}.${OS}-${ARCH}.tar.gz`. This release tarball contains all required binaries and files for using `containerd` with Kubernetes. For example, the 1.2.4 version is available at https://storage.googleapis.com/cri-containerd-release/cri-containerd-1.2.4.linux-amd64.tar.gz.
Note: The VERSION tag specified for the tarball corresponds to the `containerd` release tag, not a containerd/cri repository release tag. The `containerd` release includes the containerd/cri repository code through vendoring. The containerd/cri version of the containerd/cri code included in `containerd` is specified via a commit hash for containerd/cri in containerd/containerd/vendor.conf. ## Release Tarball
For each `containerd` release, we'll publish a release tarball specifically for Kubernetes named `cri-containerd-cni-${VERSION}-${OS}-${ARCH}.tar.gz`. This release tarball contains all required binaries and files for using `containerd` with Kubernetes. For example, the 1.4.3 version is available at https://github.com/containerd/containerd/releases/download/v1.4.3/cri-containerd-cni-1.4.3-linux-amd64.tar.gz.
### Content ### Content
As shown below, the release tarball contains: As shown below, the release tarball contains:
1) `containerd`, `containerd-shim`, `containerd-stress`, `containerd-release`, `ctr`: binaries for containerd.
2) `runc`: runc binary. - `containerd`, `containerd-shim`, `containerd-shim-runc-v1`, `containerd-shim-runc-v2`, `ctr`: binaries for containerd.
3) `crictl`, `crictl.yaml`: command line tools for CRI container runtime and its config file. - `runc`: runc binary.
4) `critest`: binary to run [CRI validation test](https://github.com/kubernetes-sigs/cri-tools/blob/master/docs/validation.md). - `/opt/cni/bin`: binaries for [Container Network Interface](https://github.com/containernetworking/cni)
5) `containerd.service`: Systemd unit for containerd. - `crictl`, `crictl.yaml`: command line tools for CRI container runtime and its config file.
6) `/opt/containerd/cluster/`: scripts for `kube-up.sh`. - `critest`: binary to run [CRI validation test](https://github.com/kubernetes-sigs/cri-tools/blob/master/docs/validation.md).
- `containerd.service`: Systemd unit for containerd.
- `/opt/containerd/cluster/`: scripts for `kube-up.sh`.
```console ```console
$ tar -tf cri-containerd-1.1.0-rc.0.linux-amd64.tar.gz $ tar -tf cri-containerd-cni-1.4.3-linux-amd64.tar.gz
./ etc/
./opt etc/cni/
./opt/containerd etc/cni/net.d/
./opt/containerd/cluster etc/cni/net.d/10-containerd-net.conflist
./opt/containerd/cluster/gce etc/crictl.yaml
./opt/containerd/cluster/gce/cloud-init etc/systemd/
./opt/containerd/cluster/gce/cloud-init/node.yaml etc/systemd/system/
./opt/containerd/cluster/gce/cloud-init/master.yaml etc/systemd/system/containerd.service
./opt/containerd/cluster/gce/configure.sh usr/
./opt/containerd/cluster/gce/env usr/local/
./opt/containerd/cluster/version usr/local/bin/
./opt/containerd/cluster/health-monitor.sh usr/local/bin/containerd-shim-runc-v2
./usr usr/local/bin/ctr
./usr/local usr/local/bin/containerd-shim
./usr/local/sbin usr/local/bin/containerd-shim-runc-v1
./usr/local/sbin/runc usr/local/bin/crictl
./usr/local/bin usr/local/bin/critest
./usr/local/bin/crictl usr/local/bin/containerd
./usr/local/bin/containerd usr/local/sbin/
./usr/local/bin/containerd-stress usr/local/sbin/runc
./usr/local/bin/critest opt/
./usr/local/bin/containerd-release opt/cni/
./usr/local/bin/containerd-shim opt/cni/bin/
./usr/local/bin/ctr opt/cni/bin/vlan
./etc opt/cni/bin/host-local
./etc/systemd opt/cni/bin/flannel
./etc/systemd/system opt/cni/bin/bridge
./etc/systemd/system/containerd.service opt/cni/bin/host-device
./etc/crictl.yaml opt/cni/bin/tuning
opt/cni/bin/firewall
opt/cni/bin/bandwidth
opt/cni/bin/ipvlan
opt/cni/bin/sbr
opt/cni/bin/dhcp
opt/cni/bin/portmap
opt/cni/bin/ptp
opt/cni/bin/static
opt/cni/bin/macvlan
opt/cni/bin/loopback
opt/containerd/
opt/containerd/cluster/
opt/containerd/cluster/version
opt/containerd/cluster/gce/
opt/containerd/cluster/gce/cni.template
opt/containerd/cluster/gce/configure.sh
opt/containerd/cluster/gce/cloud-init/
opt/containerd/cluster/gce/cloud-init/master.yaml
opt/containerd/cluster/gce/cloud-init/node.yaml
opt/containerd/cluster/gce/env
``` ```
### Binary Information ### Binary Information
Information about the binaries in the release tarball: Information about the binaries in the release tarball:
@ -62,7 +86,7 @@ If you have other requirements for the binaries, e.g. another architecture suppo
### Download ### Download
The release tarball could be downloaded from the release GCS bucket https://storage.googleapis.com/cri-containerd-release/. The release tarball could be downloaded from the release page https://github.com/containerd/containerd/releases.
## Step 0: Install Dependent Libraries ## Step 0: Install Dependent Libraries
Install required library for seccomp. Install required library for seccomp.
@ -75,18 +99,18 @@ Note that:
## Step 1: Download Release Tarball ## Step 1: Download Release Tarball
Download release tarball for the `containerd` version you want to install from the GCS bucket. Download release tarball for the `containerd` version you want to install from the GCS bucket.
```bash ```bash
wget https://storage.googleapis.com/cri-containerd-release/cri-containerd-${VERSION}.linux-amd64.tar.gz wget https://github.com/containerd/containerd/releases/download/v${VERSION}/cri-containerd-cni-${VERSION}-linux-amd64.tar.gz
``` ```
Validate checksum of the release tarball: Validate checksum of the release tarball:
```bash ```bash
sha256sum cri-containerd-${VERSION}.linux-amd64.tar.gz wget https://github.com/containerd/containerd/releases/download/v${VERSION}/cri-containerd-cni-${VERSION}-linux-amd64.tar.gz.sha256sum
curl https://storage.googleapis.com/cri-containerd-release/cri-containerd-${VERSION}.linux-amd64.tar.gz.sha256 sha256sum --check cri-containerd-cni-${VERSION}-linux-amd64.tar.gz.sha256sum
# Compare to make sure the 2 checksums are the same.
``` ```
## Step 2: Install Containerd ## Step 2: Install Containerd
If you are using systemd, just simply unpack the tarball to the root directory: If you are using systemd, just simply unpack the tarball to the root directory:
```bash ```bash
sudo tar --no-overwrite-dir -C / -xzf cri-containerd-${VERSION}.linux-amd64.tar.gz sudo tar --no-overwrite-dir -C / -xzf cri-containerd-cni-${VERSION}-linux-amd64.tar.gz
sudo systemctl daemon-reload
sudo systemctl start containerd sudo systemctl start containerd
``` ```
If you are not using systemd, please unpack all binaries into a directory in your `PATH`, and start `containerd` as monitored long running services with the service manager you are using e.g. `supervisord`, `upstart` etc. If you are not using systemd, please unpack all binaries into a directory in your `PATH`, and start `containerd` as monitored long running services with the service manager you are using e.g. `supervisord`, `upstart` etc.

View File

@ -7,11 +7,11 @@ export KUBE_CONTAINER_RUNTIME=containerd
``` ```
Follow these instructions [here](https://kubernetes.io/docs/setup/turnkey/gce/) to create a production quality Kubernetes cluster on GCE. Follow these instructions [here](https://kubernetes.io/docs/setup/turnkey/gce/) to create a production quality Kubernetes cluster on GCE.
## Download CRI-Containerd Release Tarball ## Download CRI-Containerd Release Tarball
To download release tarball, see [step 1](./installation.md#step-1-download-cri-containerd-release-tarball) in installation.md. To download release tarball, see [step 1](./installation.md#step-1-download-release-tarball) in installation.md.
Unpack release tarball to any directory, using `${CRI_CONTAINERD_PATH}` to indicate the directory in the doc: Unpack release tarball to any directory, using `${CRI_CONTAINERD_PATH}` to indicate the directory in the doc:
```bash ```bash
tar -C ${CRI_CONTAINERD_PATH} -xzf cri-containerd-${VERSION}.linux-amd64.tar.gz tar -C ${CRI_CONTAINERD_PATH} -xzf cri-containerd-cni-${VERSION}-linux-amd64.tar.gz
``` ```
## Set Environment Variables for CRI-Containerd ## Set Environment Variables for CRI-Containerd
```bash ```bash

View File

@ -1,27 +0,0 @@
# Release Process
This document describes how to cut a `cri` plugin release.
## Step 1: Update containerd vendor
Update the version of containerd located in `containerd/cri/vendor.conf`
to the latest version of containerd for the desired branch of containerd,
and make sure all tests in CI pass https://k8s-testgrid.appspot.com/sig-node-containerd.
## Step 2: Cut the release
Draft and tag a new release in https://github.com/containerd/cri/releases.
## Step 3: Update `cri` version in containerd
Push a PR to `containerd/containerd` that updates the version of
`containerd/cri` in `containerd/containerd/vendor.conf` to the newly
tagged release created in Step 2.
## Step 4: Iterate step 1 updating containerd vendor
## Step 5: Publish release tarball for Kubernetes
Publish the release tarball `cri-containerd-${CONTAINERD_VERSION}.${OS}-${ARCH}.tar.gz`
```shell
# Checkout `containerd/cri` to the newly released version.
git checkout ${RELEASE_VERSION}
# Publish the release tarball without cni.
DEPLOY_BUCKET=cri-containerd-release make push TARBALL_PREFIX=cri-containerd OFFICIAL_RELEASE=true VERSION=${CONTAINERD_VERSION}
# Publish the release tarball with cni.
DEPLOY_BUCKET=cri-containerd-release make push TARBALL_PREFIX=cri-containerd-cni OFFICIAL_RELEASE=true INCLUDE_CNI=true VERSION=${CONTAINERD_VERSION}
```
## Step 6: Update release note with release tarball information