diff --git a/content/rancher/v2.5/en/cluster-admin/volumes-and-storage/_index.md b/content/rancher/v2.5/en/cluster-admin/volumes-and-storage/_index.md index 917806e2f1c..ad6328fbaac 100644 --- a/content/rancher/v2.5/en/cluster-admin/volumes-and-storage/_index.md +++ b/content/rancher/v2.5/en/cluster-admin/volumes-and-storage/_index.md @@ -66,6 +66,12 @@ In [Rancher Launched Kubernetes clusters]({{}}/rancher/v2.5/en/cluster- ### hostPath Volumes Before you create a hostPath volume, you need to set up an [extra_bind]({{}}/rke/latest/en/config-options/services/services-extras/#extra-binds/) in your cluster configuration. This will mount the path as a volume in your kubelets, which can then be used for hostPath volumes in your workloads. +### Migrating vSphere Cloud Provider from In-tree to Out-of-tree + +Kubernetes is moving away from maintaining cloud providers in-tree. vSphere has an out-of-tree cloud provider that can be used by installing the vSphere cloud provider and cloud storage plugins. + +For instructions on how to migrate from the in-tree vSphere cloud provider to out-of-tree, and manage the existing VMs post migration, refer to [this page.]({{}}/rancher/v2.5/en/cluster-provisioning/rke-clusters/cloud-providers/vsphere/out-of-tree) + ### Related Links - [Kubernetes Documentation: Storage](https://kubernetes.io/docs/concepts/storage/) diff --git a/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/cloud-providers/vsphere/_index.md b/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/cloud-providers/vsphere/_index.md index 157b05af7b2..5bc41b34041 100644 --- a/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/cloud-providers/vsphere/_index.md +++ b/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/cloud-providers/vsphere/_index.md @@ -3,23 +3,14 @@ title: Setting up the vSphere Cloud Provider weight: 4 --- -In this section, you'll learn how to set up the vSphere cloud provider for a Rancher managed RKE Kubernetes cluster in vSphere. +In this section, you'll learn how to set up a vSphere cloud provider for a Rancher managed RKE Kubernetes cluster in vSphere. -Follow these steps while creating the vSphere cluster in Rancher: +# In-tree Cloud Provider -1. Set **Cloud Provider** option to `Custom`. +To use the in-tree vSphere cloud provider, you will need to use an RKE configuration option. For details, refer to [this page.](./in-tree) - {{< img "/img/rancher/vsphere-node-driver-cloudprovider.png" "vsphere-node-driver-cloudprovider">}} +# Out-of-tree Cloud Provider -1. Click on **Edit as YAML** -1. Insert the following structure to the pre-populated cluster YAML. This structure must be placed under `rancher_kubernetes_engine_config`. Note that the `name` *must* be set to `vsphere`. +_Available as of v2.5+_ - ```yaml - rancher_kubernetes_engine_config: - cloud_provider: - name: vsphere - vsphereCloudProvider: - [Insert provider configuration] - ``` - -Rancher uses RKE (the Rancher Kubernetes Engine) to provision Kubernetes clusters. Refer to the [vSphere configuration reference in the RKE documentation]({{}}/rke/latest/en/config-options/cloud-providers/vsphere/config-reference/) for details about the properties of the `vsphereCloudProvider` directive. \ No newline at end of file +To set up the out-of-tree vSphere cloud provider, you will need to install Helm charts from the Rancher marketplace. For details, refer to [this page.](./out-of-tree) diff --git a/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/cloud-providers/vsphere/in-tree/_index.md b/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/cloud-providers/vsphere/in-tree/_index.md new file mode 100644 index 00000000000..d4a19ef8b58 --- /dev/null +++ b/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/cloud-providers/vsphere/in-tree/_index.md @@ -0,0 +1,24 @@ +--- +title: How to Configure In-tree vSphere Cloud Provider +shortTitle: In-tree Cloud Provider +weight: 10 +--- + +To set up the in-tree vSphere cloud provider, follow these steps while creating the vSphere cluster in Rancher: + +1. Set **Cloud Provider** option to `Custom` or `Custom (In-Tree)`. + + {{< img "/img/rancher/vsphere-node-driver-cloudprovider.png" "vsphere-node-driver-cloudprovider">}} + +1. Click on **Edit as YAML** +1. Insert the following structure to the pre-populated cluster YAML. This structure must be placed under `rancher_kubernetes_engine_config`. Note that the `name` *must* be set to `vsphere`. + + ```yaml + rancher_kubernetes_engine_config: + cloud_provider: + name: vsphere + vsphereCloudProvider: + [Insert provider configuration] + ``` + +Rancher uses RKE (the Rancher Kubernetes Engine) to provision Kubernetes clusters. Refer to the [vSphere configuration reference in the RKE documentation]({{}}/rke/latest/en/config-options/cloud-providers/vsphere/config-reference/) for details about the properties of the `vsphereCloudProvider` directive. diff --git a/content/rancher/v2.5/en/cluster-admin/volumes-and-storage/out-of-tree-vsphere/_index.md b/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/cloud-providers/vsphere/out-of-tree/_index.md similarity index 56% rename from content/rancher/v2.5/en/cluster-admin/volumes-and-storage/out-of-tree-vsphere/_index.md rename to content/rancher/v2.5/en/cluster-provisioning/rke-clusters/cloud-providers/vsphere/out-of-tree/_index.md index c3f593e6549..ae51ed4b22b 100644 --- a/content/rancher/v2.5/en/cluster-admin/volumes-and-storage/out-of-tree-vsphere/_index.md +++ b/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/cloud-providers/vsphere/out-of-tree/_index.md @@ -1,16 +1,21 @@ --- -title: vSphere Out-of-tree Cloud Provider +title: How to Configure Out-of-tree vSphere Cloud Provider +shortTitle: Out-of-tree Cloud Provider weight: 10 --- -_Available as of v2.5.6_ +_Available as of v2.5+_ Kubernetes is moving away from maintaining cloud providers in-tree. vSphere has an out-of-tree cloud provider that can be used by installing the vSphere cloud provider and cloud storage plugins. -This page covers how to install the CPI and CSI plugins after bringing up a cluster. +This page covers how to install the Cloud Provider Interface (CPI) and Cloud Storage Interface (CSI) plugins after bringing up a cluster. # Prerequisites -The vSphere version must be 6.7U3 or higher. +The vSphere version must be 7.0u1 or higher. + +The Kubernetes version must be 1.19 or higher. + +Using the vSphere out-of-tree cloud provider requires Linux nodes and is not supported on Windows. # Installation @@ -18,14 +23,14 @@ The Cloud Provider Interface (CPI) should be installed first before installing t ### 1. Create a vSphere cluster -1. On the Clusters page, click on **Add Cluster** and select the **vSphere** option. -1. Under **Cluster Options > In-Tree Cloud Provider** select **External**. -1. Click **Create**. +1. On the Clusters page, click on **Add Cluster** and select the **vSphere** option or **Existing Nodes** option. +1. Under **Cluster Options > Cloud Provider** select **External (Out-of-tree)**. This sets the cloud provider option on the Kubernetes cluster to `external` which sets your Kubernetes cluster up to be configured with an out-of-tree cloud provider. +1. Finish creating your cluster. ### 2. Install the CPI plugin - 1. From the **Cluster Explorer** view, go to the top left dropdown menu and click **Apps & Marketplace.** -1. Select the **vsphere-cpi** chart from the **helm3-library** catalog. Fill out the required vCenter details. +1. From the **Cluster Explorer** view, go to the top left dropdown menu and click **Apps & Marketplace.** +1. Select the **vSphere CPI** chart. Fill out the required vCenter details. 1. vSphere CPI initializes all nodes with ProviderID which is needed by the vSphere CSI driver. Check if all nodes are initialized with the ProviderID before installing CSI driver with the following command: ``` @@ -35,7 +40,7 @@ The Cloud Provider Interface (CPI) should be installed first before installing t ### 3. Installing the CSI plugin 1. From the **Cluster Explorer** view, go to the top left dropdown menu and click **Apps & Marketplace.** -1. Select the **vsphere-csi** chart from the **helm3-library** catalog. Fill out the required vCenter details. +1. Select the **vSphere CSI** chart. Fill out the required vCenter details. 2. Set **Enable CSI Migration** to **false**. 3. This chart creates a StorageClass with the `csi.vsphere.vmware.com` as the provisioner. Fill out the details for the StorageClass and launch the chart. @@ -46,4 +51,4 @@ The CSI chart by default creates a storageClass. If that option was not selected while launching the chart, create a storageClass with the `csi.vsphere.vmware.com` as the provisioner. -All volumes provisioned using this StorageClass will get provisioned by the CSI driver. \ No newline at end of file +All volumes provisioned using this StorageClass will get provisioned by the CSI driver. diff --git a/content/rancher/v2.5/en/cluster-admin/volumes-and-storage/vsphere-volume-migration/_index.md b/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/cloud-providers/vsphere/out-of-tree/vsphere-volume-migration/_index.md similarity index 91% rename from content/rancher/v2.5/en/cluster-admin/volumes-and-storage/vsphere-volume-migration/_index.md rename to content/rancher/v2.5/en/cluster-provisioning/rke-clusters/cloud-providers/vsphere/out-of-tree/vsphere-volume-migration/_index.md index e024e44a252..0582fb22bc9 100644 --- a/content/rancher/v2.5/en/cluster-admin/volumes-and-storage/vsphere-volume-migration/_index.md +++ b/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/cloud-providers/vsphere/out-of-tree/vsphere-volume-migration/_index.md @@ -2,7 +2,7 @@ title: Migrating vSphere In-tree Volumes to CSI weight: 5 --- -_Available as of v2.5.6_ +_Available as of v2.5+_ Kubernetes is moving away from maintaining cloud providers in-tree. vSphere has an out-of-tree cloud provider that can be used by installing the vSphere cloud provider and cloud storage plugins. @@ -59,8 +59,8 @@ chmod +x taints.sh Once all nodes are tainted by the running the script, launch the Helm vSphere CPI chart. -1. Within a project, select **Apps > Launch.** -2. Select the **vsphere-cpi** chart from the **helm3-library** catalog. +1. From the **Cluster Explorer** view, go to the top left dropdown menu and click **Apps & Marketplace.** +2. Select the **vSphere CPI** chart. 3. Fill out the required vCenter details and click **Launch**. vSphere CPI initializes all nodes with ProviderID, which is needed by the vSphere CSI driver. @@ -73,7 +73,8 @@ kubectl describe nodes | grep "ProviderID" ### 2. Install the CSI driver -1. Within a project, select **Apps > Launch** and select the **vsphere-csi** chart from the **helm3-library** catalog. +1. From the **Cluster Explorer** view, go to the top left dropdown menu and click **Apps & Marketplace.** +1. Select the **vSphere CSI** chart. 1. Fill out the required vCenter details and click **Launch**. 1. Set **Enable CSI Migration** to **true**. 1. This chart creates a StorageClass with the `csi.vsphere.vmware.com` as the provisioner. You can provide the URL of the datastore to be used for CSI volume provisioning while creating this StorageClass. The datastore URL can be found in the vSphere client by selecting the datastore and going to the Summary tab. Fill out the details for the StorageClass and click **Launch**. @@ -96,4 +97,4 @@ Worker nodes must be drained during the upgrade before changing the kubelet and 1. Set the field **Maximum Worker Nodes Unavailable** to count of 1. 1. To drain the nodes during upgrade, select **Drain Nodes > Yes**. 1. Set **Force** and **Delete Local Data** to **true**. -1. Click **Save** to upgrade the cluster. \ No newline at end of file +1. Click **Save** to upgrade the cluster. diff --git a/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/node-pools/vsphere/migration/_index.md b/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/node-pools/vsphere/migration/_index.md deleted file mode 100644 index ff491c7f33c..00000000000 --- a/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/node-pools/vsphere/migration/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Migrating vSphere In-tree Volumes to CSI -weight: 5 ---- -_Available as of v2.5.6_ - -Kubernetes is moving away from maintaining cloud providers in-tree. vSphere has an out-of-tree cloud provider that can be used by installing the vSphere cloud provider and cloud storage plugins. - -For instructions on how to migrate from the in-tree vSphere cloud provider to out-of-tree, and manage the existing VMs post migration, refer to [this page.]({{}}/rancher/v2.5/en/cluster-admin/volumes-and-storage/vsphere-volume-migration) \ No newline at end of file diff --git a/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/node-pools/vsphere/out-of-tree-vsphere/_index.md b/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/node-pools/vsphere/out-of-tree-vsphere/_index.md deleted file mode 100644 index 9f85cd15c9e..00000000000 --- a/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/node-pools/vsphere/out-of-tree-vsphere/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: vSphere Out-of-tree Cloud Provider -weight: 4 ---- -_Available as of v2.5.6_ - -Kubernetes is moving away from maintaining cloud providers in-tree. vSphere has an out-of-tree cloud provider that can be used by installing the vSphere cloud provider and cloud storage plugins. - -For instructions on how to install the CPI and CSI plugins after bringing up a cluster, refer to [this page.]({{}}/rancher/v2.5/en/cluster-admin/volumes-and-storage/out-of-tree-vsphere) \ No newline at end of file