Prepare 1.1.0 release
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
This commit is contained in:
parent
d8aef117f9
commit
1155371c7a
@ -94,7 +94,7 @@ The current state is available in the following table:
|
|||||||
| [0.1](https://github.com/containerd/containerd/releases/tag/v0.1.0) | End of Life | Mar 21, 2016 | - |
|
| [0.1](https://github.com/containerd/containerd/releases/tag/v0.1.0) | End of Life | Mar 21, 2016 | - |
|
||||||
| [0.2](https://github.com/containerd/containerd/tree/v0.2.x) | End of Life | Apr 21, 2016 | December 5, 2017 |
|
| [0.2](https://github.com/containerd/containerd/tree/v0.2.x) | End of Life | Apr 21, 2016 | December 5, 2017 |
|
||||||
| [1.0](https://github.com/containerd/containerd/releases/tag/v1.0.0) | Active | December 5, 2017 | December 5, 2018 |
|
| [1.0](https://github.com/containerd/containerd/releases/tag/v1.0.0) | Active | December 5, 2017 | December 5, 2018 |
|
||||||
| [1.1](https://github.com/containerd/containerd/releases/tag/v1.1.0-rc.2) | Active | April 13, 2018 | max(April 13, 2019, release of 1.2.0, Kubernetes 1.10 EOL) |
|
| [1.1](https://github.com/containerd/containerd/releases/tag/v1.1.0) | Active | April 23, 2018 | max(April 23, 2019, release of 1.2.0, Kubernetes 1.10 EOL) |
|
||||||
| [1.2](https://github.com/containerd/containerd/milestone/17) | Next | TBD | max(TBD+1 year, release of 1.3.0) |
|
| [1.2](https://github.com/containerd/containerd/milestone/17) | Next | TBD | max(TBD+1 year, release of 1.3.0) |
|
||||||
|
|
||||||
Note that branches and release from before 1.0 may not follow these rules.
|
Note that branches and release from before 1.0 may not follow these rules.
|
||||||
|
150
releases/v1.1.0.toml
Normal file
150
releases/v1.1.0.toml
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
# commit to be tagged for new release
|
||||||
|
commit = "HEAD"
|
||||||
|
|
||||||
|
project_name = "containerd"
|
||||||
|
github_repo = "containerd/containerd"
|
||||||
|
|
||||||
|
# previous release
|
||||||
|
previous = "v1.0.0"
|
||||||
|
|
||||||
|
pre_release = true
|
||||||
|
|
||||||
|
preface = """\
|
||||||
|
`containerd` provides a daemon for managing running containers.
|
||||||
|
|
||||||
|
1.1 is the second major release for `containerd` with added support for CRI, the
|
||||||
|
Kubernetes [Container Runtime Interface](https://github.com/kubernetes/community/blob/master/contributors/devel/container-runtime-interface.md).
|
||||||
|
CRI is a new plugin which allows connecting the containerd daemon directly to a
|
||||||
|
Kubernetes kubelet to be used as the container runtime. The CRI GRPC interface
|
||||||
|
listens on the same socket as the containerd GRPC interface and runs in the same
|
||||||
|
process.
|
||||||
|
|
||||||
|
In addition to all of the stability and bug fixes backported to 1.0,
|
||||||
|
1.1 includes...
|
||||||
|
|
||||||
|
- CRI plugin
|
||||||
|
- ZFS, AUFS, and native snapshotter
|
||||||
|
- Improvements to the `ctr` tool
|
||||||
|
- Better support for multiple platforms
|
||||||
|
- Cross namespace content sharing
|
||||||
|
- Better mount cleanup
|
||||||
|
- Support for disabling plugins
|
||||||
|
- TCP debug address for remote debugging
|
||||||
|
- Update to Go 1.10
|
||||||
|
- Improvements to the garbage collector
|
||||||
|
|
||||||
|
## CRI Plugin
|
||||||
|
|
||||||
|
This release of `cri` is a native plugin of `containerd`. It is built into
|
||||||
|
`containerd` v1.1 and CRI services are enabled by default.
|
||||||
|
|
||||||
|
You can now use Kubernetes, with `containerd` directly, without having to use
|
||||||
|
the intermediate `cri-containerd` daemon. The `cri-containerd` daemon is
|
||||||
|
end-of-life.
|
||||||
|
|
||||||
|
*Note: Please [drain your node](https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/) before
|
||||||
|
upgrading from older versions of `cri-containerd` to `containerd` v1.1.*
|
||||||
|
|
||||||
|
You can [use a containerd config file to configure the `cri` plugin](https://github.com/containerd/cri/blob/v1.0/docs/config.md).
|
||||||
|
|
||||||
|
### Untrusted Workload Runtime
|
||||||
|
|
||||||
|
To run an untrusted pod on a runtime for untrusted workload, such as
|
||||||
|
[Kata Containers](https://katacontainers.io/) or
|
||||||
|
[Clear Containers](https://clearlinux.org/containers), you can:
|
||||||
|
1. Configure a runtime for untrusted workload [with the config option `plugins.cri.containerd.untrusted_workload_runtime`](https://github.com/containerd/cri/blob/v1.0.0/docs/config.md).
|
||||||
|
2. Create an untrusted pod by setting the annotation `io.kubernetes.cri.untrusted-workload` to `"true"`, for example:
|
||||||
|
```yaml
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: nginx
|
||||||
|
annotations:
|
||||||
|
io.kubernetes.cri.untrusted-workload: "true"
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: nginx
|
||||||
|
image: nginx
|
||||||
|
```
|
||||||
|
|
||||||
|
By default, `cri` will run pods with the default runtime. However, if a pod has
|
||||||
|
the `io.kubernetes.cri.untrusted-workload` annotation, the `cri` plugin will run
|
||||||
|
the pod with the runtime for untrusted workloads.
|
||||||
|
|
||||||
|
Unless configured otherwise, the default runtime is set to
|
||||||
|
[runc](https://github.com/opencontainers/runc).
|
||||||
|
|
||||||
|
### Container Runtime Interface v1alpha2
|
||||||
|
|
||||||
|
The supported CRI (Container Runtime Interface) version for Kubernetes v1.10 is
|
||||||
|
now `v1alpha2.` This release of `containerd/cri` has been updated to use CRI `v1alpha2`, so
|
||||||
|
**it only works with Kubernetes v1.10+.**
|
||||||
|
|
||||||
|
New CRI features added in `v1alpha2` are all supported:
|
||||||
|
* Container log rotation: Kubelet rotates container logs.
|
||||||
|
* Shared pid namespace: Support sharing pid namespace inside a pod.
|
||||||
|
|
||||||
|
### Registry Mirror
|
||||||
|
|
||||||
|
You can now setup registry configurations with the config option
|
||||||
|
`plugins.cri.registry`.
|
||||||
|
|
||||||
|
Currently only the `mirrors` option is supported. With it, you can specify
|
||||||
|
registry mirrors and secure/insecure connections.
|
||||||
|
([doc](https://github.com/containerd/cri/blob/v1.0.0/docs/registry.md))
|
||||||
|
|
||||||
|
### End-To-End Test
|
||||||
|
|
||||||
|
In terms of testing, we've passed:
|
||||||
|
* ALL CRI validation tests
|
||||||
|
* ALL node e2e tests
|
||||||
|
* ALL e2e tests
|
||||||
|
|
||||||
|
The containerd test coverage on GCE is equivalent with Docker now.
|
||||||
|
|
||||||
|
All the test results are public: https://k8s-testgrid.appspot.com/sig-node-containerd.
|
||||||
|
|
||||||
|
### Performance
|
||||||
|
|
||||||
|
We significantly improved pod start latency and cpu/memory usage of `cri` plugin
|
||||||
|
this release.
|
||||||
|
|
||||||
|
The continuous benchmark result is published on http://node-perf-dash.k8s.io/.
|
||||||
|
Job `ci-kubernetes-node-kubelet-benchmark` is for Docker 17.03, and
|
||||||
|
`ci-cri-containerd-node-e2e-benchmark` is for containerd with `cri` plugin.
|
||||||
|
|
||||||
|
All metrics of containerd are either better or comparable with Docker 17.03.
|
||||||
|
|
||||||
|
## Try It Out
|
||||||
|
|
||||||
|
If you would like to try containerd, please download the binaries included on
|
||||||
|
this release. If you are using Docker, this version of containerd will be used
|
||||||
|
in the next major release of Docker.
|
||||||
|
|
||||||
|
To set up containerd with Kubernetes...
|
||||||
|
* For a production quality cluster on GCE brought up with `kube-up.sh`, see [here](https://github.com/containerd/cri/blob/v1.0.0/docs/kube-up.md).
|
||||||
|
* For a multi-node cluster installer and bring up steps using ansible and kubeadm, see [here](https://github.com/containerd/cri/blob/v1.0.0/contrib/ansible/README.md).
|
||||||
|
* For creating a cluster from scratch on Google Cloud, see [Kubernetes the Hard Way](https://github.com/kelseyhightower/kubernetes-the-hard-way).
|
||||||
|
* For a custom installation from release tarball, see [here](https://github.com/containerd/cri/blob/v1.0.0/docs/installation.md).
|
||||||
|
* To install using LinuxKit on a local VM, see [here](https://github.com/linuxkit/linuxkit/tree/master/projects/kubernetes).
|
||||||
|
|
||||||
|
## Support
|
||||||
|
|
||||||
|
The [_support horizon_](https://github.com/containerd/containerd/blob/master/RELEASES.md#support-horizon)
|
||||||
|
for containerd has been updated to include the 1.1 release. With the addition of
|
||||||
|
the CRI plugin, we are expanding the support horizon for 1.1 to include the
|
||||||
|
entire lifespan of Kubernetes 1.10. The containerd 1.1 release train will be
|
||||||
|
considered an active branch with new patches until April 23, 2019 at the
|
||||||
|
earliest, when 1.2 is released, or until Kubernetes 1.10 reaches end of life.
|
||||||
|
The 1.1 containerd API is completely compatible with 1.0, any client using 1.0
|
||||||
|
can safely upgrade to 1.1 without any incompatibilies. The CRI interface
|
||||||
|
included with the CRI plugin is only supported for Kubernetes 1.10. The CRI
|
||||||
|
interface is still considered alpha and will only be supported for Kubernetes
|
||||||
|
1.10. The CRI plugin in containerd 1.1 will also only be supported for
|
||||||
|
Kubernetes 1.10.
|
||||||
|
"""
|
||||||
|
|
||||||
|
# notable prs to include in the release notes, 1234 is the pr number
|
||||||
|
[notes]
|
||||||
|
|
||||||
|
[breaking]
|
@ -21,7 +21,7 @@ var (
|
|||||||
Package = "github.com/containerd/containerd"
|
Package = "github.com/containerd/containerd"
|
||||||
|
|
||||||
// Version holds the complete version number. Filled in at linking time.
|
// Version holds the complete version number. Filled in at linking time.
|
||||||
Version = "1.1.0-rc.2+unknown"
|
Version = "1.1.0+unknown"
|
||||||
|
|
||||||
// Revision is filled with the VCS (e.g. git) revision being used to build
|
// Revision is filled with the VCS (e.g. git) revision being used to build
|
||||||
// the program at linking time.
|
// the program at linking time.
|
||||||
|
Loading…
Reference in New Issue
Block a user