Helm values.yaml参数说明
在使用Helm安装CSI时,需要您根据部署时需要使用的特性准备Helm工程的values.yaml文件。华为CSI已经在软件包的helm/esdk目录下提供了values.yaml模板文件。
本章节将详细说明values.yaml中的配置项以及典型场景下的后端配置示例。
images参数配置说明
values.yaml中的images配置项主要配置华为CSI运行时依赖的组件镜像信息。需要配置的参数如下:
表 1 images配置项说明
livenessprobe sidecar镜像。 | |||
csi-provisioner sidecar镜像。 | |||
csi-attacher sidecar镜像。 | |||
csi-resizer sidecar镜像。 | |||
csi-snapshotter sidecar镜像。 | |||
snapshot-controller sidecar镜像。 | |||
csi-node-driver-registrar sidecar镜像。 |
- huaweiCSIService、storageBackendSidecar、storageBackendController、huaweiCSIExtender参数的值,请参考上传华为CSI镜像章节的说明,使用最终生成镜像的名称和版本。
- 其他sidecar镜像参数,请参考检查CSI依赖的镜像章节的说明,使用最终上传的镜像的名称和版本。
controller参数配置说明
controller配置项用于配置huawei-csi-controller组件的相关配置。
表 2 controller配置项说明
PV名称的前缀,默认值为pvc,即创建的PV名称为:pvc-<uuid>。前缀必须满足DNS 子域名的命名规则,且PV名称总长度不得超过253个字符。 | 对应的provisioner参数名称为:--volume-name-prefix。 详细配置请参考配置PV名称前缀。
| |||
huawei-csi-controller的节点选择器。配置后huawei-csi-controller仅会调度到存在该标签的节点上。 | 节点选择器的详细说明请参考:将 Pod 分配给节点 | |||
huawei-csi-controller的污点容忍。配置后huawei-csi-controller能够容忍节点上存在该污点。 | 污点和容忍度的详细说明请参考:污点和容忍度 | |||
当controller.snapshot.enabled参数配置为true时,需要安装“helm/crd/snapshot-crds”目录下的卷快照CRD资源。
node参数配置说明
node配置项用于配置huawei-csi-node组件的相关配置。
表 3 node配置项说明
详细说明请参考:Volume Limits | ||||
节点选择器的详细说明请参考:将 Pod 分配给节点 | ||||
- key: "node.kubernetes.io/memory-pressure" operator: "Exists" effect: "NoExecute" - key: "node.kubernetes.io/disk-pressure" operator: "Exists" effect: "NoExecute" - key: "node.kubernetes.io/network-unavailable" operator: "Exists" effect: "NoExecute" | 污点和容忍度的详细说明请参考:污点和容忍度 | |||
当一个块设备被成功挂载之后,挂载路径的目录结构应该如下所示: /var/lib/kubelet/plugins/kubernetes.io/csi/{kubeletVolumeDevicesDirName}/publish/{specName}/{podUID} |
csiDriver参数配置说明
csiDriver配置项包括了华为CSI运行时的基本配置,如华为驱动名称、多路径类型等配置信息。
表 4 csiDriver配置项说明
如果您的容器环境已经部署了华为CSI,请确保csiDriver.driverName的设置和之前部署时的配置保持一致。否则会导致系统中已存在的有华为CSI发放的卷/快照无法被新部署的华为CSI管理。
其他参数配置说明
其他配置项包括了CSI插件某些特性的开关或者镜像获取策略。
表 5 其他配置项说明
华为CSI运行时所在Kubernetes命名空间,支持用户自定义。名称必须由小写字母、数字和“-”组成,例如:my-name、123-abc。 | ||||
| ||||
CSIDriver特性在Kubernetes v1.18成为GA版本,因此要求Kubernetes版本高于v1.18,当Kubernetes版本低于 v1.18时,请设置该参数为false。 | ||||
| 参数attachRequired在Kubernetes v1.18支持配置。 如果CSIDriverObject.isCreate为true并且attachRequired参数设置为false时,huawei-csi插件将不会部署csi-attacher这个sidecar。
| |||
基础卷是否支持在装载之前更改卷的所有权和权限。支持配置如下参数:
| 参数fsGroupPolicy在Kubernetes v1.20支持配置,并且当CSIDriverObject.isCreate为true时该参数生效。 该特性在Kubernetes v1.20中为Beta版本,在Kubernetes v1.23成为GA版本,因此要求Kubernetes版本高于v1.20。 | |||
请确保此kubernetes.namespace填入的命名空间在Kubernetes上已经存在,如果不存在请使用如下命令创建对应的命名空间。本例中,华为CSI运行的命名空间为“huawei-csi”。kubectl create namespace huawei-csi