The CSI plug-in consists of CSI-Plugin and CSI-Provisioner. This topic describes how to install and upgrade the CSI plug-in in a Container Service for Kubernetes (ACK) cluster.
Prerequisites
- A cluster of ACK later than 1.14 is created, and the CSI plug-in is specified as the volume plug-in of the cluster. For more information, see Create an ACK managed cluster.
- You are connected to the cluster by using kubectl. For more information, see Obtain the kubeconfig file of a cluster and use kubectl to connect to the cluster.
Install CSI-Plugin and CSI-Provisioner
If you do not specify FlexVolume as the volume plug-in when you create a managed Kubernetes cluster or a dedicated Kubernetes cluster, the system installs CSI-Plugin and CSI-Provisioner by default.
Verify the installation
Check whether CSI-Plugin and CSI-Provisioner are installed in the cluster.
- Run the following command to check whether CSI-Plugin is installed in the cluster:
kubectl get pod -n kube-system | grep csi-plugin
- Run the following command to check whether CSI-Provisioner is installed in the cluster:
kubectl get pod -n kube-system | grep csi-provisioner
Upgrade CSI-Plugin and CSI-Provisioner
You can upgrade CSI-Plugin and CSI-Provisioner in the ACK console.
- Log on to the ACK console.
- In the left-side navigation pane of the ACK console, click Clusters.
- On the Clusters page, find the cluster that you want to manage and click the name of the cluster or click Details in the Actions column. The details page of the cluster appears.
- In the left-side navigation pane of the details page, choose .
- Click the Storage tab, find csi-plugin and csi-provisioner, and click Upgrade.
- In the Note message, confirm the versions of the plug-ins and click OK. After the plug-ins are upgraded, the system prompts that the upgrades are completed and the current versions of the plug-ins are displayed.
If the plug-ins fail to be upgraded in the console or the plug-ins fail to pass the precheck, you can perform the following operations accordingly:
- CSI-Plugin fails to pass the precheck.
- If volumes that use disks, NAS file systems, or OSS buckets are not provisioned in the cluster, you must manually update CSI-Plugin.
- If volumes that use disks, NAS file systems, or OSS buckets are provisioned in the cluster, and the cluster is created in a staging environment, you must manually update CSI-Plugin.
- If volumes that use disks, NAS file systems, or OSS buckets are provisioned in the cluster, and business-critical data is stored in the volumes, Submit a ticket to request technical support.
- CSI-Plugin passes the precheck but fails to be upgraded.
Check whether the nodes in the cluster are in the Ready state. If CSI-Plugin is installed on a node that is in the NotReady state, you must fix the state of the node.
If the issue persists, Submit a ticket to request technical support.
- CSI-Plugin is displayed in the console but CSI-Provisioner is not displayed.
CSI-Provisioner is deployed by using a StatefulSet. In this case, Submit a ticket to request technical support.
- CSI-Provisioner fails to pass the precheck.
- If no volumes that use disks or NAS file systems are dynamically provisioned by using StorageClasses in the cluster, you must manually update CSI-Provisioner.
- If volumes that use disks or NAS file systems are dynamically provisioned by using StorageClasses in the cluster, and the cluster is created in a staging environment, you must manually update CSI-Provisioner.
- If volumes that use disks or NAS file systems are dynamically provisioned by using StorageClasses in the cluster, and business-critical data is stored in the volumes, Submit a ticket to request technical support.
- If CSI-Provisioner passes the precheck but fails to be updated, Submit a ticket to request technical support.