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

Add support for vSphere CSI plugin #1484

Merged
merged 5 commits into from Sep 1, 2021
Merged

Add support for vSphere CSI plugin #1484

merged 5 commits into from Sep 1, 2021

Conversation

xmudrii
Copy link
Member

@xmudrii xmudrii commented Sep 1, 2021

What this PR does / why we need it:

This PR:

  • Adds a new embedded addon used to deploy the vSphere CSI plugin
    • This addon is deployed automatically if .cloudProvider.csiConfig is provided and .cloudProvider.external is enabled
      • This is the same behavior as for OpenStack
  • Adds a new API field .cloudProvider.csiConfig to be used with CSI plugins
    • vSphere has different configuration file formats for CCM and CSI, therefore dedicated fields for cloudConfig and csiConfig are required
      • The CCM and CSI configs are very similar. There are two key differences:
        • The CSI plugin requires providing cluster-id property. Providing this property in the CCM configuration causes the CCM to crash because the field doesn't exist
        • The CSI driver requires credentials to be provided as plain-text instead of referring to the Kubernetes Secret
  • Updates the list of embedded addons
  • Block provisioning 1.22 clusters or upgrading to 1.22 for vSphere
    • The reason behind this is that vSphere CCM and CSI don't support Kubernetes 1.22 yet

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Relevants to #1471

Does this PR introduce a user-facing change?:

* Add vSphere CSI addon
  * Deploying the CSI plugin/driver requires providing CSI config using a newly added .cloudProvider.csiConfig field
  * The CSI plugin/driver is deployed automatically if .cloudProvider.csiConfig is provided and .cloudProvider.external is enabled
* Block creating 1.22 clusters or upgrading to 1.22 for vSphere because CCM and CSI don't support Kubernetes 1.22 yet

/assign @kron4eg

Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
@xmudrii xmudrii requested a review from kron4eg September 1, 2021 13:53
@kubermatic-bot kubermatic-bot added release-note Denotes a PR that will be considered when it comes time to generate release notes. dco-signoff: yes Denotes that all commits in the pull request have the valid DCO signoff message. labels Sep 1, 2021
@kubermatic-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: xmudrii

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

@kubermatic-bot kubermatic-bot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Sep 1, 2021
@kubermatic-bot kubermatic-bot added the lgtm Indicates that a PR is ready to be merged. label Sep 1, 2021
@kubermatic-bot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 3d4d1fe8551eae099fd25bdff3ff8f7fb8ae641f

@kubermatic-bot kubermatic-bot merged commit a866c2d into master Sep 1, 2021
@kubermatic-bot kubermatic-bot added this to the KubeOne 1.3 milestone Sep 1, 2021
@kubermatic-bot kubermatic-bot deleted the vsphere-csi branch September 1, 2021 14:39
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. dco-signoff: yes Denotes that all commits in the pull request have the valid DCO signoff message. lgtm Indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. 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.

None yet

3 participants