diff --git a/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/node-pools/vsphere/enable-out-of-tree-vsphere-provider-on-new-cluster/_index.md b/content/rancher/v2.5/en/cluster-admin/volumes-and-storage/out-of-tree-vsphere/_index.md similarity index 96% rename from content/rancher/v2.5/en/cluster-provisioning/rke-clusters/node-pools/vsphere/enable-out-of-tree-vsphere-provider-on-new-cluster/_index.md rename to content/rancher/v2.5/en/cluster-admin/volumes-and-storage/out-of-tree-vsphere/_index.md index b8c775bc72e..59c66f566bb 100644 --- a/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/node-pools/vsphere/enable-out-of-tree-vsphere-provider-on-new-cluster/_index.md +++ b/content/rancher/v2.5/en/cluster-admin/volumes-and-storage/out-of-tree-vsphere/_index.md @@ -1,6 +1,6 @@ --- -title: Enable Out-of-tree vSphere CPI and CSI on a New Cluster -weight: 4 +title: vSphere Out-of-tree Cloud Provider +weight: 10 --- _Available as of v2.5.6_ 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-admin/volumes-and-storage/vsphere-volume-migration/_index.md new file mode 100644 index 00000000000..e024e44a252 --- /dev/null +++ b/content/rancher/v2.5/en/cluster-admin/volumes-and-storage/vsphere-volume-migration/_index.md @@ -0,0 +1,99 @@ +--- +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. + +This page covers how to migrate from the in-tree vSphere cloud provider to out-of-tree, and manage the existing VMs post migration. + +It follows the steps provided in the official [vSphere migration documentation](https://vsphere-csi-driver.sigs.k8s.io/features/vsphere_csi_migration.html) and provides the steps to be performed in Rancher. + +### Cloud-config Format Limitation + +Existing volumes that were provisioned using the following cloud-config format will NOT get migrated due to an existing bug in vsphere CSI. + +If the cloud-config has this format for datastore and resource pool path, vsphere CSI driver cannot recognize it: + +```yaml +default-datastore: /datastore/ +resourcepool-path: "/host//Resources/" +``` + +Volumes provisioned with the in-tree provider using the following format will get migrated correctly: + +```yaml +default-datastore: +resourcepool-path: "/Resources/" +``` + +Upstream bug: https://github.com/kubernetes-sigs/vsphere-csi-driver/issues/628 + +Rancher issue tracking this bug: https://github.com/rancher/rancher/issues/31105 + +# Prerequisites + +- vSphere CSI Migration requires vSphere 7.0u1. In order to be able to manage existing in-tree vSphere volumes, upgrade vSphere to 7.0u1. +- The Kubernetes version must be 1.19 or higher. + +# Migration + +### 1. Install the CPI plugin + +Before installing CPI, we need to taint all nodes with `node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule`. + +This can be done by running the following commands: + +``` +curl -O https://raw.githubusercontent.com/rancher/helm3-charts/56b622f519728378abeddfe95074f1b87ab73b1e/charts/vsphere-cpi/taints.sh +``` + +Or: + +``` +wget https://raw.githubusercontent.com/rancher/helm3-charts/56b622f519728378abeddfe95074f1b87ab73b1e/charts/vsphere-cpi/taints.sh +chmod +x taints.sh +./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. +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. + +Check if all nodes are initialized with the ProviderID with the following command: + +``` +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. 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**. + +### 3. Edit the cluster to enable CSI migration feature flags + +1. While editing the cluster, if the Kubernetes version is less than 1.19, select Kubernetes version 1.19 or higher from the **Kubernetes Version** dropdown. +2. For enabling feature flags, click on "Edit as YAML", and add the following under kube-controller and kubelet: + + ```yaml + extra_args: + feature-gates: "CSIMigration=true,CSIMigrationvSphere=true" + ``` + +### 4. Drain worker nodes + +Worker nodes must be drained during the upgrade before changing the kubelet and kube-controller-manager args. + +1. Click **Edit as Form** and then click on "Advanced Options." +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 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 index e024e44a252..ff491c7f33c 100644 --- 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 @@ -6,94 +6,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. -This page covers how to migrate from the in-tree vSphere cloud provider to out-of-tree, and manage the existing VMs post migration. - -It follows the steps provided in the official [vSphere migration documentation](https://vsphere-csi-driver.sigs.k8s.io/features/vsphere_csi_migration.html) and provides the steps to be performed in Rancher. - -### Cloud-config Format Limitation - -Existing volumes that were provisioned using the following cloud-config format will NOT get migrated due to an existing bug in vsphere CSI. - -If the cloud-config has this format for datastore and resource pool path, vsphere CSI driver cannot recognize it: - -```yaml -default-datastore: /datastore/ -resourcepool-path: "/host//Resources/" -``` - -Volumes provisioned with the in-tree provider using the following format will get migrated correctly: - -```yaml -default-datastore: -resourcepool-path: "/Resources/" -``` - -Upstream bug: https://github.com/kubernetes-sigs/vsphere-csi-driver/issues/628 - -Rancher issue tracking this bug: https://github.com/rancher/rancher/issues/31105 - -# Prerequisites - -- vSphere CSI Migration requires vSphere 7.0u1. In order to be able to manage existing in-tree vSphere volumes, upgrade vSphere to 7.0u1. -- The Kubernetes version must be 1.19 or higher. - -# Migration - -### 1. Install the CPI plugin - -Before installing CPI, we need to taint all nodes with `node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule`. - -This can be done by running the following commands: - -``` -curl -O https://raw.githubusercontent.com/rancher/helm3-charts/56b622f519728378abeddfe95074f1b87ab73b1e/charts/vsphere-cpi/taints.sh -``` - -Or: - -``` -wget https://raw.githubusercontent.com/rancher/helm3-charts/56b622f519728378abeddfe95074f1b87ab73b1e/charts/vsphere-cpi/taints.sh -chmod +x taints.sh -./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. -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. - -Check if all nodes are initialized with the ProviderID with the following command: - -``` -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. 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**. - -### 3. Edit the cluster to enable CSI migration feature flags - -1. While editing the cluster, if the Kubernetes version is less than 1.19, select Kubernetes version 1.19 or higher from the **Kubernetes Version** dropdown. -2. For enabling feature flags, click on "Edit as YAML", and add the following under kube-controller and kubelet: - - ```yaml - extra_args: - feature-gates: "CSIMigration=true,CSIMigrationvSphere=true" - ``` - -### 4. Drain worker nodes - -Worker nodes must be drained during the upgrade before changing the kubelet and kube-controller-manager args. - -1. Click **Edit as Form** and then click on "Advanced Options." -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 +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 new file mode 100644 index 00000000000..9f85cd15c9e --- /dev/null +++ b/content/rancher/v2.5/en/cluster-provisioning/rke-clusters/node-pools/vsphere/out-of-tree-vsphere/_index.md @@ -0,0 +1,9 @@ +--- +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 diff --git a/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/vsphere/enable-out-of-tree-vsphere-provider-on-new-cluster/_index.md b/content/rancher/v2.x/en/cluster-admin/volumes-and-storage/out-of-tree-vsphere/_index.md similarity index 96% rename from content/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/vsphere/enable-out-of-tree-vsphere-provider-on-new-cluster/_index.md rename to content/rancher/v2.x/en/cluster-admin/volumes-and-storage/out-of-tree-vsphere/_index.md index b8c775bc72e..59c66f566bb 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/vsphere/enable-out-of-tree-vsphere-provider-on-new-cluster/_index.md +++ b/content/rancher/v2.x/en/cluster-admin/volumes-and-storage/out-of-tree-vsphere/_index.md @@ -1,6 +1,6 @@ --- -title: Enable Out-of-tree vSphere CPI and CSI on a New Cluster -weight: 4 +title: vSphere Out-of-tree Cloud Provider +weight: 10 --- _Available as of v2.5.6_ diff --git a/content/rancher/v2.x/en/cluster-admin/volumes-and-storage/vsphere-volume-migration/_index.md b/content/rancher/v2.x/en/cluster-admin/volumes-and-storage/vsphere-volume-migration/_index.md new file mode 100644 index 00000000000..e024e44a252 --- /dev/null +++ b/content/rancher/v2.x/en/cluster-admin/volumes-and-storage/vsphere-volume-migration/_index.md @@ -0,0 +1,99 @@ +--- +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. + +This page covers how to migrate from the in-tree vSphere cloud provider to out-of-tree, and manage the existing VMs post migration. + +It follows the steps provided in the official [vSphere migration documentation](https://vsphere-csi-driver.sigs.k8s.io/features/vsphere_csi_migration.html) and provides the steps to be performed in Rancher. + +### Cloud-config Format Limitation + +Existing volumes that were provisioned using the following cloud-config format will NOT get migrated due to an existing bug in vsphere CSI. + +If the cloud-config has this format for datastore and resource pool path, vsphere CSI driver cannot recognize it: + +```yaml +default-datastore: /datastore/ +resourcepool-path: "/host//Resources/" +``` + +Volumes provisioned with the in-tree provider using the following format will get migrated correctly: + +```yaml +default-datastore: +resourcepool-path: "/Resources/" +``` + +Upstream bug: https://github.com/kubernetes-sigs/vsphere-csi-driver/issues/628 + +Rancher issue tracking this bug: https://github.com/rancher/rancher/issues/31105 + +# Prerequisites + +- vSphere CSI Migration requires vSphere 7.0u1. In order to be able to manage existing in-tree vSphere volumes, upgrade vSphere to 7.0u1. +- The Kubernetes version must be 1.19 or higher. + +# Migration + +### 1. Install the CPI plugin + +Before installing CPI, we need to taint all nodes with `node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule`. + +This can be done by running the following commands: + +``` +curl -O https://raw.githubusercontent.com/rancher/helm3-charts/56b622f519728378abeddfe95074f1b87ab73b1e/charts/vsphere-cpi/taints.sh +``` + +Or: + +``` +wget https://raw.githubusercontent.com/rancher/helm3-charts/56b622f519728378abeddfe95074f1b87ab73b1e/charts/vsphere-cpi/taints.sh +chmod +x taints.sh +./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. +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. + +Check if all nodes are initialized with the ProviderID with the following command: + +``` +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. 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**. + +### 3. Edit the cluster to enable CSI migration feature flags + +1. While editing the cluster, if the Kubernetes version is less than 1.19, select Kubernetes version 1.19 or higher from the **Kubernetes Version** dropdown. +2. For enabling feature flags, click on "Edit as YAML", and add the following under kube-controller and kubelet: + + ```yaml + extra_args: + feature-gates: "CSIMigration=true,CSIMigrationvSphere=true" + ``` + +### 4. Drain worker nodes + +Worker nodes must be drained during the upgrade before changing the kubelet and kube-controller-manager args. + +1. Click **Edit as Form** and then click on "Advanced Options." +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 diff --git a/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/vsphere/migration/_index.md b/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/vsphere/migration/_index.md index e024e44a252..0b50820e403 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/vsphere/migration/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/vsphere/migration/_index.md @@ -6,94 +6,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. -This page covers how to migrate from the in-tree vSphere cloud provider to out-of-tree, and manage the existing VMs post migration. - -It follows the steps provided in the official [vSphere migration documentation](https://vsphere-csi-driver.sigs.k8s.io/features/vsphere_csi_migration.html) and provides the steps to be performed in Rancher. - -### Cloud-config Format Limitation - -Existing volumes that were provisioned using the following cloud-config format will NOT get migrated due to an existing bug in vsphere CSI. - -If the cloud-config has this format for datastore and resource pool path, vsphere CSI driver cannot recognize it: - -```yaml -default-datastore: /datastore/ -resourcepool-path: "/host//Resources/" -``` - -Volumes provisioned with the in-tree provider using the following format will get migrated correctly: - -```yaml -default-datastore: -resourcepool-path: "/Resources/" -``` - -Upstream bug: https://github.com/kubernetes-sigs/vsphere-csi-driver/issues/628 - -Rancher issue tracking this bug: https://github.com/rancher/rancher/issues/31105 - -# Prerequisites - -- vSphere CSI Migration requires vSphere 7.0u1. In order to be able to manage existing in-tree vSphere volumes, upgrade vSphere to 7.0u1. -- The Kubernetes version must be 1.19 or higher. - -# Migration - -### 1. Install the CPI plugin - -Before installing CPI, we need to taint all nodes with `node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule`. - -This can be done by running the following commands: - -``` -curl -O https://raw.githubusercontent.com/rancher/helm3-charts/56b622f519728378abeddfe95074f1b87ab73b1e/charts/vsphere-cpi/taints.sh -``` - -Or: - -``` -wget https://raw.githubusercontent.com/rancher/helm3-charts/56b622f519728378abeddfe95074f1b87ab73b1e/charts/vsphere-cpi/taints.sh -chmod +x taints.sh -./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. -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. - -Check if all nodes are initialized with the ProviderID with the following command: - -``` -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. 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**. - -### 3. Edit the cluster to enable CSI migration feature flags - -1. While editing the cluster, if the Kubernetes version is less than 1.19, select Kubernetes version 1.19 or higher from the **Kubernetes Version** dropdown. -2. For enabling feature flags, click on "Edit as YAML", and add the following under kube-controller and kubelet: - - ```yaml - extra_args: - feature-gates: "CSIMigration=true,CSIMigrationvSphere=true" - ``` - -### 4. Drain worker nodes - -Worker nodes must be drained during the upgrade before changing the kubelet and kube-controller-manager args. - -1. Click **Edit as Form** and then click on "Advanced Options." -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 +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.x/en/cluster-admin/volumes-and-storage/vsphere-volume-migration) \ No newline at end of file diff --git a/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/vsphere/out-of-tree-vsphere/_index.md b/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/vsphere/out-of-tree-vsphere/_index.md new file mode 100644 index 00000000000..d3a1f3a12f0 --- /dev/null +++ b/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/vsphere/out-of-tree-vsphere/_index.md @@ -0,0 +1,9 @@ +--- +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.x/en/cluster-admin/volumes-and-storage/out-of-tree-vsphere) \ No newline at end of file