Document CSI node ID annotations#54035
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/hold |
✅ Pull request preview available for checkingBuilt without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
It's actually OK to mark both of these deprecated right away, because the paradigm of putting "alpha" or "beta" in the key is deprecated, and any label or annotation using the old way can be marked deprecated on those grounds. Also we can mark things deprecated even if we don't have a plan to migrate to a different key. The text should briefly explain the situation to readers though; they might wonder what persistent storage to use if non-CSI is deprecated and CSI depends on using a deprecated annotation. I think this is fine though; various important subparts of Kubernetes were technically in alpha at the 1.0 release and were still alpha come (eg) v1.17, and the world Did Not End. |
@lmktfy we can not deprecated the /cc @jsafrane |
01dc368 to
4ad3801
Compare
updated. |
1544bd7 to
e427b89
Compare
You really can; you can deprecate ("ask people not to do") a thing even when it still works. |
e427b89 to
e08a839
Compare
Added. |
|
LGTM label has been added. DetailsGit tree hash: 251ee83316a18e4e48e23ee547f07fdbf1a7cc3d |
Adds documentation for csi.alpha.kubernetes.io/node-id annotation used on VolumeAttachments for finding node identifiers when CSINode object is unavailable, and csi.volume.kubernetes.io/nodeid deprecated annotation previously used on Nodes. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> Signed-off-by: carlory <baofa.fan@daocloud.io>
e08a839 to
da7a70a
Compare
|
New changes are detected. LGTM label has been removed. |
| This annotation is used internally to find the node identifier when it can not be obtained from | ||
| the `CSINode` object. It is populated by the CSI external-attacher sidecar container before a volume is attached. | ||
|
|
||
| It provides a fallback mechanism for detaching volumes when a `CSINode` object is not present. |
There was a problem hiding this comment.
| This annotation is used internally to find the node identifier when it can not be obtained from | |
| the `CSINode` object. It is populated by the CSI external-attacher sidecar container before a volume is attached. | |
| It provides a fallback mechanism for detaching volumes when a `CSINode` object is not present. | |
| the CSINode object. It is populated by the CSI external-attacher sidecar container before a volume is attached. | |
| It provides a fallback mechanism for detaching volumes when an appropriate CSINode is not present. |
(no backticks on API types, per style guide)
There was a problem hiding this comment.
@carlory , are you able to address the above suggestion
|
|
||
| This annotation was used internally to specify the identifier for a node as understood by the Container Storage Interface (CSI) driver. kubelet populated this annotation by calling the `NodeGetInfo` gRPC method of the CSI driver to retrieve the node ID during the driver registration. And the external-attacher sidecar container read this annotation to get the node ID when attaching or detaching volumes. | ||
|
|
||
| But it has been deprecated in favor of the `CSINode` object, which provides the same functionality via the `spec.drivers[].nodeID` field. And it needs the csi driver to bump the external-attacher sidecar to v2.2 or later. |
There was a problem hiding this comment.
| But it has been deprecated in favor of the `CSINode` object, which provides the same functionality via the `spec.drivers[].nodeID` field. And it needs the csi driver to bump the external-attacher sidecar to v2.2 or later. | |
| The annotation has been deprecated in favor of using the CSINode object, which provides the same functionality via the `spec.drivers[].nodeID` field. |
Instead of explaining the deprecation, hyperlink to some relevant CSI docs about it.
| the `CSINode` object. It is populated by the CSI external-attacher sidecar container before a volume is attached. | ||
|
|
||
| It provides a fallback mechanism for detaching volumes when a `CSINode` object is not present. | ||
|
|
There was a problem hiding this comment.
| Because this annotation is deprecated, the Kubernetes project recommends that you do | |
| **not** set this on a VolumeAttachment, nor on any other object. | |
lmktfy
left a comment
There was a problem hiding this comment.
Should this PR target main? I think the deprecation may already have happened.
Summary
csi.alpha.kubernetes.io/node-idannotation used on VolumeAttachments for finding node identifiers when CSINode object is unavailablecsi.volume.kubernetes.io/nodeiddeprecated annotation previously used on Nodesrelated to kubernetes/kubernetes#135676
🤖 Generated with Claude Code