From 6c1b699bf978b858ef32aeca62beddba9e88da08 Mon Sep 17 00:00:00 2001 From: Samuel Karp Date: Wed, 13 Nov 2024 09:34:47 -0800 Subject: [PATCH] docs: update schema 1 deprecation information * Correctly reference the only schema 1 mediatype containerd supports. * Document that `--local` is required for `ctr` when pulling schema 1 images * Document CRI users more clearly Fixes https://github.com/containerd/containerd/issues/10998 Signed-off-by: Samuel Karp --- RELEASES.md | 4 ++-- docs/containerd-2.0.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index cba41f8b31f9..d469cc448ed0 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -443,13 +443,13 @@ The deprecated features are shown in the following table: | Built-in `aufs` snapshotter | containerd v1.5 | containerd v2.0 ✅ | Use `overlayfs` snapshotter | | Container label `containerd.io/restart.logpath` | containerd v1.5 | containerd v2.0 ✅ | Use `containerd.io/restart.loguri` label | | `cri-containerd-*.tar.gz` release bundles | containerd v1.6 | containerd v2.0 ✅ | Use `containerd-*.tar.gz` bundles | -| Pulling Schema 1 images (`application/vnd.docker.distribution.manifest.v1+json`) | containerd v1.7 | containerd v2.1 (Disabled in v2.0 ✅) | Use Schema 2 or OCI images | +| Pulling Schema 1 images (`application/vnd.docker.distribution.manifest.v1+prettyjws`) | containerd v1.7 | containerd v2.1 (Disabled in v2.0 ✅) | Use Schema 2 or OCI images | | CRI `v1alpha2` | containerd v1.7 | containerd v2.0 ✅ | Use CRI `v1` | | Legacy CRI implementation of podsandbox support | containerd v2.0 | containerd v2.0 ✅ | | | Go-Plugin library (`*.so`) as containerd runtime plugin | containerd v2.0 | containerd v2.1 | Use external plugins (proxy or binary) | - Pulling Schema 1 images has been disabled in containerd v2.0, but it still can be enabled by setting an environment variable `CONTAINERD_ENABLE_DEPRECATED_PULL_SCHEMA_1_IMAGE=1` - until containerd v2.1. `ctr` users have to specify `--local` too (e.g., `ctr images pull --local`). + until containerd v2.1. `ctr` users have to specify `--local` too (e.g., `ctr images pull --local`). Users of CRI clients (such as Kubernetes and `crictl`) have to specify this environment variable on the containerd daemon (usually in the systemd unit). ### Deprecated config properties The deprecated properties in [`config.toml`](./docs/cri/config.md) are shown in the following table: diff --git a/docs/containerd-2.0.md b/docs/containerd-2.0.md index a81b7799ff02..3699c94db599 100644 --- a/docs/containerd-2.0.md +++ b/docs/containerd-2.0.md @@ -99,7 +99,7 @@ Administrators whose workloads are running on containerd versions >= 1.6.27, >= ### Docker Schema 1 image support is disabled by default -Pulling Docker Schema 1 (`application/vnd.docker.distribution.manifest.v1+json` or `application/vnd.docker.distribution.manifest.v1+prettyjws`) images is disabled by default. Users should migrate their container images by rebuilding/pushing with the latest Docker or nerdctl+Buildkit tooling. Previous behavior can be re-enabled by setting an environment variable `CONTAINERD_ENABLE_DEPRECATED_PULL_SCHEMA_1_IMAGE=1` for `containerd` (in the case of CRI) and `ctr`; however, users are **strongly recommended** to migrate to Docker Schema 2 or OCI images. Support for Docker Schema 1 images will be fully removed in a future release. +Pulling Docker Schema 1 (`application/vnd.docker.distribution.manifest.v1+prettyjws`) images is disabled by default. Users should migrate their container images by rebuilding/pushing with the latest Docker or nerdctl+Buildkit tooling. Previous behavior can be re-enabled by setting an environment variable `CONTAINERD_ENABLE_DEPRECATED_PULL_SCHEMA_1_IMAGE=1` for `containerd` (in the case of CRI clients, such as Kubernetes and `crictl`) and `ctr` (`ctr` users also must specify `--local`); however, users are **strongly recommended** to migrate to Docker Schema 2 or OCI images. Support for Docker Schema 1 images will be fully removed in a future release. Since containerd 1.7.8 and 1.6.25, schema 1 images are labeled during pull with `io.containerd.image/converted-docker-schema1`. To find images that were converted from schema 1, you can use a command like `ctr namespaces list --quiet | xargs -I{} -- ctr --namespace={} image list 'labels."io.containerd.image/converted-docker-schema1"'`.