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
Add Kubernetes 1.24 Removals and Deprecations blog post #31767
Conversation
✅ Deploy Preview for kubernetes-io-main-staging ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
/milestone 1.24 |
/retitle [WIP] Add Kubernetes 1.24 Deprecations and Removals blog post |
One thing to cover: I think v1.24 might be the first release to deprecate |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here's some early (and, I'm afraid, rather thorough) feedback. I do hope it's useful.
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall a great job. A nit, a bring this thing up in the doc, and a hyphen.
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
@sftim I saw your comment #31767 (comment). Is that something we should add to this blog? If so, could you help me with what needs to be said? |
I'll ask SIG Cluster Lifecycle to confirm. |
/label tide/merge-method-squash A local squash is better if you get the chance to do so, @mickeyboxell |
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
@sftim Since you have been active in providing feedback on this doc, would you mind giving this another review at your convenience? I expect I will need to make a handful of changes based on exceptions that may come out of today's change freeze. @chris-short is there a style guide I need to follow? For example, I'm curious about whether I should say "v1.24" or "1.24". |
I'll have a look if I get a chance. Don't worry about nits like I did spot another thing we might want to cover, see #32648. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is really well written. I only had a few small suggestions.
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
@mickeyboxell , can you change the commit message for commit 641fa41, can't use |
A late entrant: #32765 I'd tweak the wording around CSIStorageCapacity. |
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
content/en/blog/_posts/2022-03-31-Kubernetes-1-24-deprecations-and-removals
Outdated
Show resolved
Hide resolved
…3-31-Kubernetes-1-24-deprecations-and-removals.md
@sftim let me know what you had in mind for this: #31767 (comment). Aside from that, I have made all of the proposed changes. I would like to see this ship tomorrow if possible. |
…2-04-07-Kubernetes-1-24-removals-and-deprecations.md File rename
Hi blog owners and reviewers @sftim , @onlydole , @mrbobbytables , @nate-double-u /lgtm |
LGTM label has been added. Git tree hash: 206fff63d89cd1a5ae9bd742008203d9674cee48
|
I have no specific thoughts on how to incorporate the changes relating to #31767 (comment) If we merge this, we can update after the fact (even after publication). |
I'm concerned this article doesn't show in the preview. I'm previewing this locally and will see how it looks there. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for working on this @mickeyboxell
Overall, my concerns are:
- the “what to do” section has no advice about the dockershim removal
- readers might skip there and then feel short-changed
- linking to KEPs provides context, but I think for non-contributors perhaps too much context. An article like this should be able to be read as a piece of standalone writing and not rely on folks following links.
- if we link to the dockershim KEP, does that unintentionally imply that the KEP is the place for discussion feedback?
Overall, the question in my mind comes down to: is it better to delay the article more in pursuit of some extra refinement, or should we ship it?
The message in this article is worth saying more than it's worth not saying. Let's say it.
/approve
|
||
We want to make sure you are aware of the changes coming in the Kubernetes 1.24 release. The release will | ||
**deprecate** several (beta) APIs in favor of stable versions of the same APIs. The major change coming | ||
in the Kubernetes 1.24 release is the [removal of Dockershim](https://github.com/kubernetes/enhancements/issues/2221). This is discussed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm minded to link elsewhere. This link would be an invitation for folks who want to comment to do so on the KEP, which may not be the outcome we want.
This could happen after the article merges.
* [Dynamic kubelet configuration](https://github.com/kubernetes/enhancements/issues/281): `DynamicKubeletConfig` is used to enable the dynamic configuration of the kubelet. The `DynamicKubeletConfig` flag was deprecated in Kubernetes 1.22. As of v1.24, the feature gate was removed from the kubelet. See [Reconfigure kubelet](/docs/tasks/administer-cluster/reconfigure-kubelet/). Refer to the ["Dynamic kubelet config is removed" KEP](https://github.com/kubernetes/enhancements/issues/281) for more information. | ||
* [Dynamic log sanitization](https://github.com/kubernetes/kubernetes/pull/107207): The experimental dynamic log sanitization feature is deprecated and was removed in v1.24. This feature introduced a logging filter that could be applied to all Kubernetes system components logs to prevent various types of sensitive information from leaking via logs. Refer to [KEP-1753: Kubernetes system components logs sanitization](https://github.com/kubernetes/enhancements/tree/master/keps/sig-instrumentation/1753-logs-sanitization#deprecation) for more information and an [alternative approach](https://github.com/kubernetes/enhancements/tree/master/keps/sig-instrumentation/1753-logs-sanitization#alternatives=). | ||
* In-tree provisioner to CSI driver migration: This applies to a number of in-tree plugins, including [Portworx](https://github.com/kubernetes/enhancements/issues/2589). Refer to the [In-tree Storage Plugin to CSI Migration Design Doc](https://github.com/kubernetes/design-proposals-archive/blob/main/storage/csi-migration.md#background-and-motivations) for more information. | ||
* [Removing Dockershim from kubelet](https://github.com/kubernetes/enhancements/issues/2221): the Container Runtime Interface (CRI) for Docker (i.e. Dockershim) is currently a built-in container runtime in the kubelet code base. It was deprecated in v1.20. As of v1.24, dockershim has been removed from kubelet. Check out this blog on [what you need to do be ready for v1.24](/blog/2022/03/31/ready-for-dockershim-removal/). | ||
* [Storage capacity tracking for pod scheduling](https://github.com/kubernetes/enhancements/issues/1472): The CSIStorageCapacity API supports exposing currently available storage capacity via CSIStorageCapacity objects and enhances scheduling of pods that use CSI volumes with late binding. The CSIStorageCapacity API is stable as of v1.24. The v1beta1 CSIStorageCapacity API is deprecated in v1.24. Refer to the [Storage Capacity Constraints for Pod Scheduling KEP](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1472-storage-capacity-tracking) for more information. | ||
* [The `master` label is no longer present on kubeadm control plane nodes](https://github.com/kubernetes/kubernetes/pull/107533). For new clusters, the label 'node-role.kubernetes.io/master' will no longer be added to control plane nodes, only the label 'node-role.kubernetes.io/control-plane' will be added. For more information, refer to [KEP-2067: Rename the kubeadm "master" label and taint](https://github.com/kubernetes/enhancements/tree/master/keps/sig-cluster-lifecycle/kubeadm/2067-rename-master-label-taint). | ||
* [VolumeSnapshot v1beta1 CRD will be removed in v1.24](https://github.com/kubernetes/enhancements/issues/177). Volume snapshot and restore functionality for Kubernetes and the [Container Storage Interface](https://github.com/container-storage-interface/spec/blob/master/spec.md) (CSI), which provides standardized APIs design (CRDs) and adds PV snapshot/restore support for CSI volume drivers, entered beta in v1.20. VolumeSnapshot v1beta1 was deprecated in v1.21 and is now unsupported. Refer to [KEP-177: CSI Snapshot](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/177-volume-snapshot#kep-177-csi-snapshot) and [kubernetes-csi/external-snapshotter](https://github.com/kubernetes-csi/external-snapshotter/releases/tag/v4.1.0) for more information. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Parts of this text uses the wrong grammatical tense. Instead of “was” and “has been”, we should use a tense that is appropriate for describing upcoming changes.
I am concerned that this is wrong enough that people will file issues reporting it.
I would list the dockershim removal first in the list.
A nit, “VolumeSnapshot v1beta1 CRD will be removed in v1.24” could be shortened to “VolumeSnapshot v1beta1 CRD will be removed”
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall, this feels too long (I think many readers will skim it). I'd prefer to tell people to watch out for the release notes for the full detail of a particular removal.
### `kubectl convert` | ||
|
||
The [`kubectl convert`](/docs/tasks/tools/included/kubectl-convert-overview/) plugin for `kubectl` | ||
can be helpful to address migrating off deprecated APIs. The plugin facilitates the conversion of | ||
manifests between different API versions, for example, from a deprecated to a non-deprecated API | ||
version. More general information about the API migration process can be found in the [Deprecated API Migration Guide](/docs/reference/using-api/deprecation-guide/). | ||
Follow the [install `kubectl convert` plugin](https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#install-kubectl-convert-plugin) | ||
documentation to download and install the `kubectl-convert` binary. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The main removal is dockershim, and yet the “what to do” section makes no mention. To me that feels odd.
As Kubernetes evolves, features and APIs are regularly revisited and removed. New features may offer | ||
an alternative or improved approach to solving existing problems, motivating the team to remove the | ||
old approach. Old APIs are first deprecated and then removed according to the [Kubernetes Deprecation Policy](/docs/reference/using-api/deprecation-policy/). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd skip this intro; there's no API removal in v1.24
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: sftim The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@sftim the points you made above make sense to me. If you have bandwidth, would you be interested in co-authoring this with me and making it into the post you envisioned? I will leave it up to the discretion of the other folks on this thread regarding whether to ship now and iterate or hold off on shipping. I would like to release the most helpful possible for the K8s community. Assuming we plan to continue these posts in future releases, I would advocate for the creation of a guide describing the expectations for removals blogs. |
@mickeyboxell @sftim |
Creating Kubernetes 1.24 Deprecations and Removals blog post placeholder.