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

vSphere CPI & CSI implementation #5959

Merged
merged 3 commits into from
Apr 20, 2020
Merged

vSphere CPI & CSI implementation #5959

merged 3 commits into from
Apr 20, 2020

Conversation

pierreyves-lebrun
Copy link
Contributor

What type of PR is this?
/kind feature

What this PR does / why we need it:
Implement external vSphere cloud provider as per #5309.
The in-tree vSphere cloud provider has been deprecated so the out-of-tree one should now be used. Duplicate of #5861.

Tested on vSphere 6.7 U3.

Special notes for your reviewer:
In order to keep both working, I added new vSphere configuration variables which are the same as the old ones but prefixed with external_

Does this PR introduce a user-facing change?:
Users should use the new external vSphere cloud provider rather than the old in-tree one.

@k8s-ci-robot k8s-ci-robot added kind/feature Categorizes issue or PR as related to a new feature. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Apr 15, 2020
@k8s-ci-robot
Copy link
Contributor

Hi @pierreyves-lebrun. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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.

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Apr 15, 2020
@k8s-ci-robot k8s-ci-robot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Apr 15, 2020
@Miouge1
Copy link
Contributor

Miouge1 commented Apr 15, 2020

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Apr 15, 2020
@pierreyves-lebrun
Copy link
Contributor Author

/assign @ant31
/assign @alijahnas

Copy link
Contributor

@alijahnas alijahnas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All this seems good to me. Can you just add a deployment in persistent_volumes so that we can have a storage class that works with the vsphere CSI driver? Thanks.
https://github.com/kubernetes-sigs/kubespray/tree/master/roles/kubernetes-apps/persistent_volumes
https://github.com/kubernetes-sigs/kubespray/blob/master/inventory/sample/group_vars/k8s-cluster/k8s-cluster.yml#L254

P.S. I don't understand how you got those strange commits haha

@Miouge1 Miouge1 added this to the 2.13 milestone Apr 15, 2020
@Miouge1
Copy link
Contributor

Miouge1 commented Apr 15, 2020

I don't have a sphere cluster available to test this on. Any ideas on how to test this with say a mock server or something?

@pierreyves-lebrun
Copy link
Contributor Author

I don't have a sphere cluster available to test this on. Any ideas on how to test this with say a mock server or something?

Afaik, there isn't any ready-to-use solution for this. That said it is fairly easy (and free) to install ESXi and vCenter on a single host.

I remember hacking something together on a Mac mini in just one afternoon. A baremetal EC2 instance would also do the job otherwise.

@Russell-IO
Copy link

Russell-IO commented Apr 18, 2020

Is there any docs on how to migrate from the previous / current vsphere storage solution ?
Relevant link: https://cormachogan.com/2019/10/10/moving-a-stateful-app-from-vcp-to-csi-based-kubernetes-cluster-using-velero/

@pierreyves-lebrun
Copy link
Contributor Author

Is there any docs on how to migrate from the previous / current vsphere storage solution ?

This still is a work in progress, I’ll be waiting for the official guide on how to perform the migration:

kubernetes/cloud-provider-vsphere#268

@Miouge1
Copy link
Contributor

Miouge1 commented Apr 20, 2020

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 20, 2020
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Miouge1, pierreyves-lebrun

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 20, 2020
@k8s-ci-robot k8s-ci-robot merged commit 03c8d01 into kubernetes-sigs:master Apr 20, 2020
LuckySB pushed a commit to southbridgeio/kubespray that referenced this pull request Apr 21, 2020
@asmoljo
Copy link

asmoljo commented Oct 29, 2020

Hello everyone,
A few months ago I installed bare metal k8s cluster v1.18.5 (RedHat 7 servers) using Kubespray scripts. Now I am trying to configure dynamic provisioning with vSphere Storage for Kubernetes. I'm following several documents and I'm quite confused because I don't know which way to go, so I'm asking you for help. I first read this https://kubernetes.io/docs/concepts/storage/storage-classes/#vsphere and here I see that there are two providers:
CSI provisioner: csi.vsphere.vmware.com
vCP provisioner kubernetes.io/vsphere-volume
I then opened the document https://vmware.github.io/vsphere-storage-for-kubernetes/documentation/policy-based-mgmt.html which describes the vCP provisional: kubernetes.io/vsphere-volume.
After that I found the documents:
https://github.com/kubernetes-sigs/kubespray/blob/master/docs/vsphere.md
https://github.com/kubernetes-sigs/kubespray/blob/master/docs/vsphere-csi.md
which describe the CSI provisional: csi.vsphere.vmware.com
Please can someone advise me which documents to follow if I installed the k8s cluster in the way I described above.

@pierreyves-lebrun
Copy link
Contributor Author

Hello everyone,
A few months ago I installed bare metal k8s cluster v1.18.5 (RedHat 7 servers) using Kubespray scripts. Now I am trying to configure dynamic provisioning with vSphere Storage for Kubernetes. I'm following several documents and I'm quite confused because I don't know which way to go, so I'm asking you for help. I first read this https://kubernetes.io/docs/concepts/storage/storage-classes/#vsphere and here I see that there are two providers:
CSI provisioner: csi.vsphere.vmware.com
vCP provisioner kubernetes.io/vsphere-volume
I then opened the document https://vmware.github.io/vsphere-storage-for-kubernetes/documentation/policy-based-mgmt.html which describes the vCP provisional: kubernetes.io/vsphere-volume.
After that I found the documents:
https://github.com/kubernetes-sigs/kubespray/blob/master/docs/vsphere.md
https://github.com/kubernetes-sigs/kubespray/blob/master/docs/vsphere-csi.md
which describe the CSI provisional: csi.vsphere.vmware.com
Please can someone advise me which documents to follow if I installed the k8s cluster in the way I described above.

The in-tree vSphere cloud provider is deprecated so please use the out-of-tree one:
https://github.com/kubernetes-sigs/kubespray/blob/master/docs/vsphere.md

It will deploy the CSI driver automatically so you don’t have to worry about it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants