Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update RuntimeClass documentation for beta #13043

Merged
merged 5 commits into from
Mar 16, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 31 additions & 9 deletions content/en/docs/concepts/containers/runtime-class.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,10 @@ This page describes the RuntimeClass resource and runtime selection mechanism.
RuntimeClass is a beta feature (as of v1.14) for selecting the container runtime configuration to
use to run a pod's containers.

tallclair marked this conversation as resolved.
Show resolved Hide resolved
{{< warning >}} RuntimeClass includes *breaking* changes in the beta upgrade in v1.14. If you were
using RuntimeClass prior to v1.14, the following actions are required:

- The `node.k8s.io` API group and `runtimeclasses.node.k8s.io` resource have been migrated to a
built-in API. RuntimeClass resources must be recreated *after* upgrading to v1.14, and the
runtimeclasses.node.k8s.io CRD should be manually deleted.
- The `spec.runtimeHandler` field in v1aplha1 has been renamed to `handler` (no more `spec`). The
handler is now a required field. Handlers can no longer include `.` characters.

{{< warning >}}
RuntimeClass includes *breaking* changes in the beta upgrade in v1.14. If you were using
RuntimeClass prior to v1.14, see [Upgrading RuntimeClass from Alpha to
Beta](#upgrading-runtimeclass-from-alpha-to-beta).
{{< /warning >}}

### Set Up
Expand Down Expand Up @@ -139,4 +134,31 @@ table](https://github.com/kubernetes-sigs/cri-o/blob/master/docs/crio.conf.5.md#
See cri-o's config documentation for more details:
https://github.com/kubernetes-sigs/cri-o/blob/master/cmd/crio/config.go


tallclair marked this conversation as resolved.
Show resolved Hide resolved
### Upgrading RuntimeClass from Alpha to Beta

RuntimeClass Beta (v1.14) included the following changes:

- The `node.k8s.io` API group and `runtimeclasses.node.k8s.io` resource have been migrated to a
built-in API from a CustomResourceDefintion.
- The `spec` has been inlined in the RuntimeClass definition (i.e. there is no more
RuntimeClassSpec).
- The `runtimeHandler` field has been renamed `handler`.
- The `handler` field is now required in all API versions. This means the `runtimeHandler` field in
the Alpha API is also required.
- The `handler` field must be a valid DNS label ([RFC 1123](https://tools.ietf.org/html/rfc1123)),
meaning it can no longer container `.` characters (in all versions). Valid handlers match the
following regular expression: `^[a-z0-9]([-a-z0-9]*[a-z0-9])?$`.

If you were using RuntimeClass Alpha (prior to v1.14), the following actions are required

- RuntimeClass resources must be recreated *after* upgrading to v1.14, and the
`runtimeclasses.node.k8s.io` CRD should be manually deleted:

kubectl delete customresourcedefinitions.apiextensions.k8s.io runtimeclasses.node.k8s.io

tallclair marked this conversation as resolved.
Show resolved Hide resolved
- Alpha RuntimeClasses with an unspecified or empty `runtimeHandler` or those using a `.` character
in the handler are no longer valid, and must be migrated to a valid handler configuration (see
above).

{{% /capture %}}
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ different Kubernetes components.
| `RotateKubeletServerCertificate` | `false` | Alpha | 1.7 | 1.11 |
| `RotateKubeletServerCertificate` | `true` | Beta | 1.12 | |
| `RunAsGroup` | `false` | Alpha | 1.10 | |
| `RuntimeClass` | `false` | Alpha | 1.12 | |
| `RuntimeClass` | `true` | Beta | 1.14 | |
| `SCTPSupport` | `false` | Alpha | 1.12 | |
| `ServiceNodeExclusion` | `false` | Alpha | 1.8 | |
| `StorageObjectInUseProtection` | `true` | Beta | 1.10 | 1.10 |
Expand Down