Cleanup releases directory
Remove pre-release files which do not match the recommended release process. This will prevent confusion when using previous releases for reference. Signed-off-by: Derek McGowan <derek@mcgstyle.net>
This commit is contained in:
parent
5ba368748b
commit
823b7a8a05
@ -1,103 +0,0 @@
|
||||
# commit to be tagged for new release
|
||||
commit = "HEAD"
|
||||
|
||||
project_name = "containerd"
|
||||
github_repo = "containerd/containerd"
|
||||
|
||||
# previous release
|
||||
previous = "v1.0.0-beta.1"
|
||||
|
||||
pre_release = true
|
||||
|
||||
preface = """\
|
||||
This release rounds out much of the remaining feature set for the 1.0 release
|
||||
time frame. In addition to a large number of bugfixes and utility additions,
|
||||
services and methods have been added to the GRPC API to meet production use
|
||||
cases. The highlight is garbage collection, along with database migrations,
|
||||
plugin introspection and rich PID listing."""
|
||||
|
||||
# notable prs to include in the release notes, 1234 is the pr number
|
||||
[notes]
|
||||
[notes.gc]
|
||||
title = "Garbage Collection"
|
||||
description = """\
|
||||
Full garbage collection support for cleaning up content, snapshots and metadata
|
||||
for containerd resources. The implementation is based on well-known concurrent
|
||||
mark and sweep and the approach allows for extensibility in collection
|
||||
policies.
|
||||
|
||||
The GC is triggered `Container.Delete and Image.Delete. Note that images may
|
||||
need to be re-pulled for proper support."""
|
||||
|
||||
[notes.migrations]
|
||||
title = "Migrations"
|
||||
description = """\
|
||||
A lightweight migration framework is now part of containerd. This allows us to
|
||||
safely evolve the schema between releases with the groundwork laid early.
|
||||
|
||||
As part of this release, a migration will be run to add back references in
|
||||
support of garbage collection."""
|
||||
|
||||
[notes.introspection]
|
||||
title = "Introspection API"
|
||||
description = """\
|
||||
The new introspection API allows for querying the state of containerd. The
|
||||
`Plugins` method lists the state and exports of all initialized plugins in use
|
||||
in a containerd instance.
|
||||
|
||||
```console
|
||||
$ ctr plugins
|
||||
TYPE ID PLATFORM STATUS
|
||||
io.containerd.content.v1 content - ok
|
||||
io.containerd.metadata.v1 bolt - ok
|
||||
io.containerd.differ.v1 walking linux/amd64 ok
|
||||
io.containerd.grpc.v1 containers - ok
|
||||
io.containerd.grpc.v1 content - ok
|
||||
io.containerd.grpc.v1 diff - ok
|
||||
io.containerd.grpc.v1 events - ok
|
||||
io.containerd.grpc.v1 healthcheck - ok
|
||||
io.containerd.grpc.v1 images - ok
|
||||
io.containerd.grpc.v1 namespaces - ok
|
||||
io.containerd.snapshotter.v1 btrfs linux/amd64 error
|
||||
io.containerd.snapshotter.v1 overlayfs linux/amd64 ok
|
||||
io.containerd.grpc.v1 snapshots - ok
|
||||
io.containerd.monitor.v1 cgroups linux/amd64 ok
|
||||
io.containerd.runtime.v1 linux linux/amd64 ok
|
||||
io.containerd.grpc.v1 tasks - ok
|
||||
io.containerd.grpc.v1 version - ok
|
||||
```"""
|
||||
|
||||
[notes.listpids]
|
||||
title = "Rich ListPIDs"
|
||||
description = """\
|
||||
Listing PIDs through the task service can now provide runtime specific metadata
|
||||
through the API. This is particularly interesting on the windows platform. The
|
||||
following is an example of a Windows container `ps` output:
|
||||
|
||||
```console
|
||||
$ ctr tasks ps <container-id>
|
||||
PID INFO
|
||||
3716 {ImageName:smss.exe CreatedAt:2017-10-10T17:51:45.1552607Z KernelTime_100Ns:156250 MemoryCommitBytes:348160 MemoryWorkingSetPrivateBytes:217088 MemoryWorkingSetSharedBytes:946176 ProcessID:3716 UserTime_100Ns:0}
|
||||
5404 {ImageName:csrss.exe CreatedAt:2017-10-10T17:51:45.1848844Z KernelTime_100Ns:0 MemoryCommitBytes:606208 MemoryWorkingSetPrivateBytes:339968 MemoryWorkingSetSharedBytes:1560576 ProcessID:5404 UserTime_100Ns:0}
|
||||
3628 {ImageName:wininit.exe CreatedAt:2017-10-10T17:51:45.1974386Z KernelTime_100Ns:156250 MemoryCommitBytes:983040 MemoryWorkingSetPrivateBytes:610304 MemoryWorkingSetSharedBytes:3448832 ProcessID:3628 UserTime_100Ns:0}
|
||||
8576 {ImageName:services.exe CreatedAt:2017-10-10T17:51:45.2091635Z KernelTime_100Ns:468750 MemoryCommitBytes:2048000 MemoryWorkingSetPrivateBytes:1437696 MemoryWorkingSetSharedBytes:4182016 ProcessID:8576 UserTime_100Ns:0}
|
||||
7892 {ImageName:lsass.exe CreatedAt:2017-10-10T17:51:45.2177712Z KernelTime_100Ns:937500 MemoryCommitBytes:2666496 MemoryWorkingSetPrivateBytes:1982464 MemoryWorkingSetSharedBytes:7561216 ProcessID:7892 UserTime_100Ns:312500}
|
||||
6384 {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:45.3676107Z KernelTime_100Ns:468750 MemoryCommitBytes:1896448 MemoryWorkingSetPrivateBytes:1277952 MemoryWorkingSetSharedBytes:4730880 ProcessID:6384 UserTime_100Ns:156250}
|
||||
4904 {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:45.5431743Z KernelTime_100Ns:312500 MemoryCommitBytes:1781760 MemoryWorkingSetPrivateBytes:1331200 MemoryWorkingSetSharedBytes:4952064 ProcessID:4904 UserTime_100Ns:0}
|
||||
2092 {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:45.5838844Z KernelTime_100Ns:156250 MemoryCommitBytes:2486272 MemoryWorkingSetPrivateBytes:2117632 MemoryWorkingSetSharedBytes:5668864 ProcessID:2092 UserTime_100Ns:312500}
|
||||
6576 {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:45.727607Z KernelTime_100Ns:156250 MemoryCommitBytes:1818624 MemoryWorkingSetPrivateBytes:1417216 MemoryWorkingSetSharedBytes:6684672 ProcessID:6576 UserTime_100Ns:156250}
|
||||
2412 {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:46.0427889Z KernelTime_100Ns:468750 MemoryCommitBytes:5570560 MemoryWorkingSetPrivateBytes:3915776 MemoryWorkingSetSharedBytes:5963776 ProcessID:2412 UserTime_100Ns:0}
|
||||
5472 {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:46.0827893Z KernelTime_100Ns:312500 MemoryCommitBytes:2625536 MemoryWorkingSetPrivateBytes:1908736 MemoryWorkingSetSharedBytes:7532544 ProcessID:5472 UserTime_100Ns:312500}
|
||||
8756 {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:46.1108672Z KernelTime_100Ns:312500 MemoryCommitBytes:1843200 MemoryWorkingSetPrivateBytes:1466368 MemoryWorkingSetSharedBytes:4612096 ProcessID:8756 UserTime_100Ns:0}
|
||||
1508 {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:46.1522136Z KernelTime_100Ns:2812500 MemoryCommitBytes:4816896 MemoryWorkingSetPrivateBytes:3600384 MemoryWorkingSetSharedBytes:9281536 ProcessID:1508 UserTime_100Ns:468750}
|
||||
4612 {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:46.2212148Z KernelTime_100Ns:937500 MemoryCommitBytes:3063808 MemoryWorkingSetPrivateBytes:2265088 MemoryWorkingSetSharedBytes:8667136 ProcessID:4612 UserTime_100Ns:156250}
|
||||
5936 {ImageName:CExecSvc.exe CreatedAt:2017-10-10T17:51:46.2224031Z KernelTime_100Ns:0 MemoryCommitBytes:983040 MemoryWorkingSetPrivateBytes:737280 MemoryWorkingSetSharedBytes:3723264 ProcessID:5936 UserTime_100Ns:0}
|
||||
4416 {ImageName:cmd.exe CreatedAt:2017-10-10T17:51:46.5943846Z KernelTime_100Ns:0 MemoryCommitBytes:1564672 MemoryWorkingSetPrivateBytes:356352 MemoryWorkingSetSharedBytes:2174976 ProcessID:4416 UserTime_100Ns:0}
|
||||
8700 {ImageName:powershell.exe CreatedAt:2017-10-10T17:51:46.6120645Z KernelTime_100Ns:2343750 MemoryCommitBytes:24522752 MemoryWorkingSetPrivateBytes:19853312 MemoryWorkingSetSharedBytes:27156480 ProcessID:8700 UserTime_100Ns:10156250}
|
||||
```
|
||||
"""
|
||||
|
||||
[breaking]
|
||||
[breaking.metrics]
|
||||
pr = 1235
|
||||
description = """ """
|
@ -1,81 +0,0 @@
|
||||
# commit to be tagged for new release
|
||||
commit = "HEAD"
|
||||
|
||||
project_name = "containerd"
|
||||
github_repo = "containerd/containerd"
|
||||
|
||||
# previous release
|
||||
previous = "v1.0.0-beta.3"
|
||||
|
||||
pre_release = true
|
||||
|
||||
preface = """\
|
||||
The final 1.0 release stretch has been reached after 7 alphas and 4 betas full
|
||||
of stability fixes, hardening, and API improvements. This release candidate
|
||||
continues that pattern in including stability fixes, usability improvements and
|
||||
performance optimizations.
|
||||
|
||||
As part of the preparation for supporting the release of Containerd 1.0, the
|
||||
governance model has been updated. The same as in previous versions, the day to
|
||||
day management of the project is taken care of by the maintainers. The roles
|
||||
of chief maintainer and BDFL have been removed and a technical steering
|
||||
committee has been added as an escalation point when consensus cannot be reached
|
||||
among maintainers. See https://github.com/moby/tsc."""
|
||||
|
||||
# notable prs to include in the release notes, 1234 is the pr number
|
||||
[notes]
|
||||
|
||||
[notes.ctr]
|
||||
title= "Shim Memory Improvements"
|
||||
description = """\
|
||||
The shim memory usage has been identified as a key component to optimize. The
|
||||
shim gets run for every container making memory usage multiplied by the
|
||||
number of containers on a machine, requiring lower memory usage in order to
|
||||
increase density.
|
||||
|
||||
In profiling the memory usage of the shim, it was discovered that the HTTP2
|
||||
and GRPC stacks were accounting for a majority of the usage. Since the RPC
|
||||
requests to the shim are fairly simple and there is no need for handling many
|
||||
clients, a simpler protocol is now used with much less overhead. In order to
|
||||
avoid changing the client or server code, ttrpc is used to generate code
|
||||
similar to GRPC using the same protocol definitions, but using the lighter
|
||||
weight protocol. This had the effect of drastically reducing the memory
|
||||
usage of the shim.
|
||||
|
||||
Memory improvements over beta 2...
|
||||
```
|
||||
RSS CMD
|
||||
3644 containerd-shim -namespace default -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/default/test10 -address /run/containerd/containerd.sock -containerd-binary /usr/local/bin/containerd -debug
|
||||
15320 docker-containerd-shim --namespace moby --workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/ffa219303c1419b179393a1123f176bb4268337432b0ca7945bc7ac66db73cad --address /var/run/docker/containerd/docker-containerd.sock --runtime-root /var/run/docker/
|
||||
```
|
||||
|
||||
See [ttrpc repository](https://github.com/stevvooe/ttrpc) for implementation."""
|
||||
|
||||
[notes.gc]
|
||||
title= "Garbage Collector Improvements"
|
||||
description = """\
|
||||
Garbage collection is now scheduled by a background process which watches
|
||||
changes and tracks the amount of time garbage collection is taking. It is able
|
||||
to use that information to schedule garbage collection based on configuration
|
||||
options. The default configuration option aims to limit the amount of time the
|
||||
metadata store is locked for garbage collection to 20ms of every second.
|
||||
|
||||
Additionally image removal now has an option to synchronously cleanup all
|
||||
referenced resources (such as snapshots). This option immediately schedules a
|
||||
garbage collection and waits for it to complete before returning to the client.
|
||||
Since the time to remove a snapshot depends on the size of the snapshot, the
|
||||
time to synchronously remove an image cannot be consistent. For faster and
|
||||
more consistent removals, images should be deleted asynchronously whenever
|
||||
possible. Asynchronous remains the default."""
|
||||
|
||||
|
||||
[breaking]
|
||||
[breaking.api]
|
||||
pr = 1797
|
||||
description = "The snapshots GRPC service was renamed from snapshot."
|
||||
|
||||
[breaking.shim]
|
||||
pr = 1767
|
||||
description = """\
|
||||
The shim protocol has changed to use ttrpc. The new protocol does not use
|
||||
http2 and is not compatible with previous shim versions using grpc."""
|
@ -1,150 +0,0 @@
|
||||
# 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 and AUFS 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/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 `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/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/kubernetes-incubator/cri-containerd/blob/v1.0/docs/kube-up.md).
|
||||
* For a multi-node cluster installer and bring up steps using ansible and kubeadm, see [here](https://github.com/kubernetes-incubator/cri-containerd/blob/v1.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/kubernetes-incubator/cri-containerd/blob/v1.0/docs/installation.md).
|
||||
* To install use 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 March 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]
|
@ -1,150 +0,0 @@
|
||||
# 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 and AUFS 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/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 `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/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/kubernetes-incubator/cri-containerd/blob/v1.0/docs/kube-up.md).
|
||||
* For a multi-node cluster installer and bring up steps using ansible and kubeadm, see [here](https://github.com/kubernetes-incubator/cri-containerd/blob/v1.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/kubernetes-incubator/cri-containerd/blob/v1.0/docs/installation.md).
|
||||
* To install use 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 4, 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]
|
@ -1,150 +0,0 @@
|
||||
# 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 and AUFS 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/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 `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/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/kubernetes-incubator/cri-containerd/blob/v1.0/docs/kube-up.md).
|
||||
* For a multi-node cluster installer and bring up steps using ansible and kubeadm, see [here](https://github.com/kubernetes-incubator/cri-containerd/blob/v1.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/kubernetes-incubator/cri-containerd/blob/v1.0/docs/installation.md).
|
||||
* To install use 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 13, 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]
|
Loading…
Reference in New Issue
Block a user