Checking the Images on Which CSI Depends

The installation of Huawei CSI depends on the images listed in the following table. If all worker nodes in the cluster have been connected to the Internet and can pull images online, you can skip this section. If nodes in the cluster cannot connect to the Internet, download the corresponding image file based on the Kubernetes version and upload it to the image repository or import it to all worker nodes in the Kubernetes cluster.

The huawei-csi-controller service depends on the following sidecar images: livenessprobe, csi-provisioner, csi-attacher, csi-resizer, csi-snapshotter, snapshot-controller, storage-backend-controller, storage-backend-sidecar, huawei-csi-driver, and huawei-csi-extender. The huawei-csi-node service depends on the following sidecar images: livenessprobe, csi-node-driver-registrar, and huawei-csi-driver.

For details about the functions and details of each image, see the following table.

Table 1 Images on which Huawei CSI depends

Container Name

Container Image

K8s Version Requirements

Feature Description

livenessprobe

k8s.gcr.io/sig-storage/livenessprobe:v2.5.0

v1.16+

This image is provided by the Kubernetes community, used to monitor the health status of CSI and report it to Kubernetes so that Kubernetes can automatically detect CSI program problems and restart the Pod to rectify the problems.

csi-resizer

k8s.gcr.io/sig-storage/csi-resizer:v1.4.0

v1.16+

This image is provided by the Kubernetes community, used to call CSI to provide more storage space for a PVC when expanding the capacity of the PVC.

csi-node-driver-registrar

k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.3.0

v1.16+

This image is provided by the Kubernetes community, used to obtain CSI information and register a node with kubelet using the plug-in registration mechanism of kubelet so that Kubernetes can detect the connection between the node and Huawei storage.

csi-snapshotter

k8s.gcr.io/sig-storage/csi-snapshotter:v4.2.1

v1.17+

This image is provided by the Kubernetes community, used to call CSI to create or delete a snapshot on the storage system when creating or deleting a VolumeSnapshot.

snapshot-controller

k8s.gcr.io/sig-storage/snapshot-controller:v4.2.1

v1.17+

This image is provided by the Kubernetes community, used to listen to the VolumeSnapshot and VolumeSnapshotContent objects in the Kubernetes API and trigger csi-snapshotter to create a snapshot on the storage system when creating or deleting a VolumeSnapshot.

csi-provisioner

k8s.gcr.io/sig-storage/csi-provisioner:v3.0.0

v1.17+

This image is provided by the Kubernetes community, used to create or delete PVCs.

  • Calls the huawei-csi-controller service to create a LUN or file system on the storage system as a PV when creating a PVC.
  • Calls the huawei-csi-controller service to delete the LUN or file system corresponding to the PV when deleting a PVC.

quay.io/k8scsi/csi-provisioner:v1.4.0

v1.16.x

csi-attacher

k8s.gcr.io/sig-storage/csi-attacher:v3.4.0

v1.17+

Calls the huawei-csi-controller service to perform the "Publish/Unpublish Volume" operation when creating or deleting a Pod.

quay.io/k8scsi/csi-attacher:v1.2.1

v.1.16.x

storage-backend-controller

storage-backend-controller:4.5.0

v1.16+

This image is provided by Huawei CSI software package, used to manage storageBackendClaim resources.

storage-backend-sidecar

storage-backend-sidecar:4.5.0

v1.16+

This image is provided by Huawei CSI software package, used to manage storageBackendContent resources.

huawei-csi-driver

huawei-csi:4.5.0

v1.16+

This image is provided by Huawei CSI software package, used to provide all features supported by Huawei CSI.

huawei-csi-extender

huawei-csi-extender:4.5.0

v1.16+

This image is provided by Huawei CSI software package, used to provide extended features of Huawei CSI.

If the cluster is not connected to the Internet, manually download the container images and upload them to the cluster. For details, see Downloading a Container Image.