From 823b7a8a058db601d92628e232d50433a6f6682a Mon Sep 17 00:00:00 2001 From: Derek McGowan Date: Tue, 5 Feb 2019 09:29:24 -0800 Subject: [PATCH] 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 --- releases/v1.0.0-beta.2.toml | 103 ------------ .../{v1.0.0-beta.3.toml => v1.0.0-beta.toml} | 0 releases/v1.0.0-rc.0.toml | 81 ---------- releases/v1.1.0-rc.0.toml | 150 ------------------ releases/v1.1.0-rc.1.toml | 150 ------------------ releases/v1.1.0-rc.2.toml | 150 ------------------ 6 files changed, 634 deletions(-) delete mode 100644 releases/v1.0.0-beta.2.toml rename releases/{v1.0.0-beta.3.toml => v1.0.0-beta.toml} (100%) delete mode 100644 releases/v1.0.0-rc.0.toml delete mode 100644 releases/v1.1.0-rc.0.toml delete mode 100644 releases/v1.1.0-rc.1.toml delete mode 100644 releases/v1.1.0-rc.2.toml diff --git a/releases/v1.0.0-beta.2.toml b/releases/v1.0.0-beta.2.toml deleted file mode 100644 index fc5b2ea1f..000000000 --- a/releases/v1.0.0-beta.2.toml +++ /dev/null @@ -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 -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 = """ """ diff --git a/releases/v1.0.0-beta.3.toml b/releases/v1.0.0-beta.toml similarity index 100% rename from releases/v1.0.0-beta.3.toml rename to releases/v1.0.0-beta.toml diff --git a/releases/v1.0.0-rc.0.toml b/releases/v1.0.0-rc.0.toml deleted file mode 100644 index 1753fb83b..000000000 --- a/releases/v1.0.0-rc.0.toml +++ /dev/null @@ -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.""" diff --git a/releases/v1.1.0-rc.0.toml b/releases/v1.1.0-rc.0.toml deleted file mode 100644 index 573b14540..000000000 --- a/releases/v1.1.0-rc.0.toml +++ /dev/null @@ -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] diff --git a/releases/v1.1.0-rc.1.toml b/releases/v1.1.0-rc.1.toml deleted file mode 100644 index 18dc432d2..000000000 --- a/releases/v1.1.0-rc.1.toml +++ /dev/null @@ -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] diff --git a/releases/v1.1.0-rc.2.toml b/releases/v1.1.0-rc.2.toml deleted file mode 100644 index c621661cb..000000000 --- a/releases/v1.1.0-rc.2.toml +++ /dev/null @@ -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]