-
Notifications
You must be signed in to change notification settings - Fork 14.5k
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
Revise StorageClass docs #42551
Revise StorageClass docs #42551
Conversation
### Default StorageClass | ||
{{% code file="storage/storageclass-low-latency.yaml" %}} | ||
|
||
## Default StorageClass |
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 defaulting behavior is now generally available, so I thought it was worth mentioning here.
|
||
For instructions on setting the default StorageClass, see | ||
[Change the default StorageClass](/docs/tasks/administer-cluster/change-default-storage-class/). | ||
Note that certain cloud providers may already define a default StorageClass. | ||
|
||
### Provisioner | ||
## Provisioner |
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 table in this section is now in alphabetical order.
5adcaa0
to
1cd6d80
Compare
✅ Pull request preview available for checkingBuilt without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify site configuration. |
Relevant to #42176 |
1cd6d80
to
1805ae1
Compare
1805ae1
to
bbb5da4
Compare
@kubernetes/sig-storage-misc |
@@ -172,23 +193,21 @@ and [taints and tolerations](/docs/concepts/scheduling-eviction/taint-and-tolera | |||
|
|||
The following plugins support `WaitForFirstConsumer` with dynamic provisioning: | |||
|
|||
- CSI volumes, provided that the specific CSI driver supports this |
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 list is woefully out of date. Maybe best to remove GCEPersistentDisk and just mention CSI (and Local below)
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.
Ideally, we can get a current list of in-tree providers that do provide that support. If it's in-tree, we try to document it somewhere. Even if it's also deprecated.
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.
@msau42 is there a way we can get SIG Storage to provide a list of storage plugins with that support? If not, I'll drop the mention.
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.
Off the top of my head, we have local, gce-pd, aws-ebs, azure-disk, azure-file. Maybe vsphere and ceph? @jsafrane can you confirm?
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 awsElasticBlockStore
and azureDisk
volume types are not included in Kubernetes v1.28 - is that right?
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.
In 1.29, all cloud-based volume plugins are migrated to CSI, so just local
remains in-tree and supports WaitForFirstConsumer
. So CSI and local
is more appropriate.
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.
Bear in mind: these are the docs for v1.28
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.
IMO it'd be nice to get this page updated ahead of the v1.29 release.
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.
(v1.29 is now released, and I've rebased)
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.
Is there any feature gate that lets you re-enable in tree support for azure file? I think we may have some work to do, as a project, to make sure the docs are up to date around those removals.
bbb5da4
to
df1e395
Compare
df1e395
to
39cc206
Compare
{{< /note >}} | ||
|
||
You can create a PersistentVolumeClaim without specifying a `storageClassName` | ||
for the new PVC, and you can do so even when no default StorageClass exists |
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.
for the new PVC, and you can do so even when no default StorageClass exists | |
, and you can do so even when no default StorageClass exists |
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 prefer the original - what's not right with it?
existing PVCs without `storageClassName`. For the PVCs that either have an empty | ||
value for `storageClassName` or do not have this key, the control plane then | ||
updates those PVCs to set `storageClassName` to match the new default StorageClass. | ||
If you have an existing PVC where the `storageClassName` is `""`, and you configure |
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 statement is inconsistent with the previous one.
If storageClassName: ""
is specified, a new default StorageClass is then added, what will happen?
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 text is copied from https://kubernetes.io/docs/concepts/storage/persistent-volumes/#retroactive-default-storageclass-assignment; if that text is wrong, we should fix both occurrences).
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.
To me, who knows how default storage classes work, the PR text looks correct.
However, it would be great to distinguish between "empty value" (the filed is missing or nil
) and empty string ""
more explicitly. How it's done in other API fields where nil
and ""
means something different?
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.
In the API it's actually null
(JSON does not have a nil
value, and we usually represent API details as JSON - much more readable than protobuf, IMO). We don't have a strong convention though. ""
is something most people would think means empty string and not “field unset”.
0a225c2
to
c4e1c77
Compare
/hold Avoid provoking that merge conflict. I can backport this to release-1.28 if this merges into main after the 1.29 (or 1.30, etc) release. |
25c0c2a
to
ecf28d0
Compare
/hold cancel v1.29 is released |
/lgtm |
LGTM label has been added. Git tree hash: 207fb7495527ec693f9f3284baa180c6109b393c
|
Hello, @sftim |
There are no nits that must be addressed; nits are feedback that don't block a merge (at least, that's how the Kubernetes project uses the term). I can see #42551 (comment) as open, but my opinion is that there's nothing to do. Ultimately, I'm the author here and it's not for me to judge the approval. It's a change to the live site. However, I would recommend approving it. I can see that a rebase is needed but Prow hasn't yet noticed. One forced push coming right up. |
ecf28d0
to
cc148df
Compare
| :------------------- | :----------------------------------------------- | | ||
| Azure File | 1.11 | | ||
| CSI | 1.24 | | ||
| FlexVolume | 1.13 | | ||
| Portworx | 1.11 | | ||
| rbd | 1.11 | |
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 table is now in alphabetical order.
Co-authored-by: Qiming Teng <tengqm@outlook.com> Co-authored-by: Shannon Kularathna <ax3shannonkularathna@gmail.com>
Use sentence case for headings.
cc148df
to
ddb1892
Compare
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: kbhawkey 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 |
This pull request has a technical review and LGTM. |
LGTM label has been added. Git tree hash: c0b0cccfb22a6371128ecab82fa71b4f50236342
|
Update https://kubernetes.io/docs/concepts/storage/storage-classes/ in light of v1.28 changes and for general tidying.
Also, swap an example manifest to use
code
shortcode.