-
Notifications
You must be signed in to change notification settings - Fork 38.8k
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
Should we deprecate and remove the in-tree volume plugin hostpath dynamic provisioning feature? #123804
Comments
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the The Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/assign @xing-yang @jsafrane @pacoxu @neolit123 @deepakkinni |
yes, but kubeadm allows you to pass clusterconfiguration.controllerManager.extraVolumes it's also important to note that not everyone is using kubeadm. |
what i'm interested in doing is removing the flex volume support from kubeadm. seems to me the feature in k8s core is stale and there was a plan to remove it completely.
|
The flexVolume is deprecated but still avaliable and no plan to remove support. because some users still may use the volume plugin. some discussions can be found in #122071 (comment) and the volume doc is updated by kubernetes/website#44657 |
You're right. I haven't seen that before. Unfortunately, those manfiests in https://cs.k8s.io/?q=enable-hostpath-provisioner&i=nope&files=&excludeFiles=&repos= don't have extra volumes when An example is https://github.com/kubernetes/kubeadm/blob/main/kinder/pkg/kubeadm/config.go#L136-L143 @neolit123 |
external tools (or users) that use kubeadm can add the extravolumes if they need to.
this is something kinder copied from kind: i think it can be removed from kinder because we don't need it. it was added to kind here:
if the feature should be kept a test must be added for it. |
/remove-area kubeadm |
/cc @msau42 |
I am for removing the hostpath provisioner. For the record, it can be still used in hack/local-up-cluster.sh, so we would need to remove it from there too: kubernetes/hack/local-up-cluster.sh Line 258 in 7ea3d02
Officially, we would need to mark the |
kind's default provisioner these days is "implementing PVs" using https://github.com/rancher/local-path-provisioner so I think we can drop this, we can version-gate disabling it in kind on some future k8s release to let users transition if there are any still.
cc @dims I don't think we should just deprecate out a feature like this without:
|
Consider for example non-kubernetes-repo users: https://github.com/search?q=enable-hostpath-provisioner&type=code |
@BenTheElder @jsafrane add a KEP in kubernetes/enhancements#4548. Can you help review it? |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The in-tree volume plugin hostpath supports dynamic provisioning a volume for a claim when the kube-controller-manager starts with
--enable-hostpath-provisioner=true
.It creates a local /tmp/%/%s directory as a new PersistentVolume, default /tmp/hostpath_pv/%s. It is meant for development and testing only and WILL NOT WORK in a multi-node cluster.
There are 3 problems I want to talk about:
kubernetes/test/e2e/storage/drivers/in_tree.go
Line 649 in 2ec63e0
DynamicPVTestDriver
interface, so the e2e tests don't have a test case for in-tree hostpath dynamic provisioning.kubernetes/cmd/kubeadm/app/phases/controlplane/volumes.go
Line 64 in 2ec63e0
--enable-hostpath-provisioner=true
. Please see https://cs.k8s.io/?q=enable-hostpath-provisioner&i=nope&files=&excludeFiles=&repos=. But they use kubeadm to create a cluster, so the dynamic provisioning of in-tree hostpath is never used by those projects. I don't know why they enable the flag.There are 3 in-tree plugins that support dynamic provisioning: hostpath, rbd (removed in 1.31), and portworxVolume (will be removed in a future release once its csi migration is completed).
Now, the community has various CSI drivers users can use for dynamic provisioning. So let us deprecate and remove the in-tree volume plugin hostpath dynamic provisioning feature if the feature is never used.
What do you think?
/cc @xing-yang @jsafrane @pacoxu @neolit123
/sig storage
/kind bug
/area kubeadm
related-to: add some e2e test for in-tree volume plugin to verify HonorPVReclaimPolicy
Tasks
The text was updated successfully, but these errors were encountered: