这是本节的多页打印视图。
点击此处打印.
返回本页常规视图.
安装前准备
本章节将对安装前的准备工作进行详细说明。
前提条件
在进行本章节所说明的操作前,请确保如下条件已经具备:
- 容器管理平台已部署完成并正常运行,且兼容性满足Kubernetes及操作系统兼容性章节的要求。
- (企业存储必选)已完成对接华为企业存储初始化配置,包括存储池划分、端口配置等。且存储产品的版本满足华为企业存储兼容性章节的要求。
- (分布式存储必选)已完成对接华为分布式存储初始化配置,包括存储池划分、端口配置等。且存储产品的版本满足华为分布式存储兼容性章节的要求。
- 完成华为存储和容器平台主机连通性配置,例如运行huawei-csi-controller的worker节点与待接入的存储设备的管理IP地址通信正常,运行huawei-csi-node的worker节点与待接入的存储设备的业务IP地址通信正常,iSCSI场景下允许使用ping命令进行连通性校验。
- 请确保操作系统的语言是英文。
- 请确保存储池、租户名称等相关存储资源名称是英文。
2 - 上传华为CSI镜像
华为提供huawei-csi镜像供用户使用,镜像文件获取请参考下载华为CSI软件包。
为了后续在容器管理平台中可以使用CSI镜像,需要按照以下方式中的一种提前将CSI镜像导入到集群中:
- 使用Docker工具,将CSI镜像上传至镜像仓库(推荐)。
- 手动将CSI镜像导入到所有需要部署华为CSI的节点。
上传镜像到镜像仓库
安装华为CSI依赖如下三个华为提供的镜像文件,请按照说明依次导入并上传下列镜像文件,镜像文件获取请参考下载华为CSI软件包。
- huawei-csi-v4.5.0-arch.tar
- storage-backend-controller-v4.5.0-arch.tar
- storage-backend-sidecar-v4.5.0-arch.tar
- huawei-csi-extender-v4.5.0-arch.tar
前提条件
已准备一台已安装Docker的Linux主机,且该主机支持访问镜像仓库。
操作步骤
执行docker load -i huawei-csi-v4.5.0-arch.tar命令,将CSI镜像导入当前节点。
docker load -i huawei-csi-v4.5.0-arch.tar
执行docker tag huawei-csi:4.5.0 repo.huawei.com/huawei-csi:4.5.0命令,添加镜像仓库地址到镜像标签。其中repo.huawei.com表示镜像仓库的地址。
docker tag huawei-csi:4.5.0 repo.huawei.com/huawei-csi:4.5.0
执行docker push repo.huawei.com/huawei-csi:4.5.0命令,将CSI镜像上传到镜像仓库。其中repo.huawei.com表示镜像仓库的地址。
docker push repo.huawei.com/huawei-csi:4.5.0
- 也可以使用containerd来进行镜像的导入和上传。
- CCE / CCE Agile平台请参考该平台用户手册完成镜像导入和上传。
上传镜像到本地节点
若镜像已上传至镜像仓库,则跳过本章节。
前提条件
- 该节点已获取对应的华为CSI镜像文件,镜像文件获取请参考下载华为CSI软件包。
- 该节点已经安装Docker或其他容器引擎。
操作步骤
使用远程访问工具(以PuTTY为例),通过管理IP地址,登录需要导入镜像的节点。
将Kubernetes CSI组件包中的"image"目录拷贝到当前节点的任意目录下。
执行cd image命令,进入到image的工作目录。工具路径请参见表 软件包组件描述。
执行命令依次将image目录下的所有华为CSI镜像导入至本地节点,其中 name 参数是镜像tar包的名字。
使用Docker容器引擎执行:
docker load -i <name>.tar
使用containerd容器引擎执行:
ctr -n k8s.io image import <name>.tar
使用Podman容器引擎执行:
podman load -i <name>.tar
当节点主机安装的是其他容器引擎时,请使用对应容器引擎的导入镜像命令。
3 - 检查华为存储上的用户配置
当华为存储接入容器平台后,华为CSI需要在华为存储上根据业务要求,管理存储资源,如创建卷、映射卷等操作。此时,华为CSI需要使用华为存储上已经创建的用户和华为存储进行通信。针对不同存储设备所需要的用户信息如下表所示。
表 1 存储对接CSI时使用的用户要求
存储类型 | 用户类型 | 角色 | 级别 | 类型 |
---|
OceanStor V5 | 系统用户 | 管理员 | 管理员 | 本地用户 |
租户用户 | 租户管理员 | 管理员 | 本地用户 |
OceanStor Dorado V3 | 系统用户 | 管理员 | 管理员 | 本地用户 |
OceanStor 6.1.3, 6.1.5, 6.1.6, 6.1.7, 6.1.8 | 系统用户 | 管理员/自定义角色1 | N/A | 本地用户 |
OceanStor Dorado 6.1.0, 6.1.2, 6.1.3, 6.1.5, 6.1.6, 6.1.7, 6.1.8 | 系统用户 | 管理员/自定义角色1 | N/A | 本地用户 |
租户用户 | 租户管理员 | N/A | 本地用户 |
OceanStor Pacific系列 | 系统用户 | 管理员 | N/A | 本地用户 |
- 注释1 使用自定义角色,需要给角色配置权限,最小权限请参考配置自定义权限章节配置。
不推荐使用“超级管理员”角色下的用户。
4 - 检查卷快照依赖组件
本章节介绍如何检查集群中卷快照依赖组件情况。
由于Kubernetes v1.17.0之前不支持快照功能,如果部署快照CRD可能导致集群出现问题,因此在低于Kubernetes v1.17.0版本上部署华为CSI,请务必按照Kubernetes低于v1.17.0章节检查。
Kubernetes低于v1.17.0
Kubernetes低于v1.17.0时,部署快照时将会导致集群出现问题,请按照以下步骤删除快照CRD安装文件。
执行以下命令查看Kubernetes版本。如下示例中,Kubernetes版本为v1.16.0。
命令结果示例如下:
NAME STATUS ROLES AGE VERSION
test-master Ready master 311d v1.16.0
test-node Ready <none> 311d v1.16.0
进入/helm/esdk/crds/snapshot-crds目录,执行以下命令,删除快照CRD安装文件。组件包路径请参考表 软件包组件描述。
rm -rf ./huawei-csi-snapshot-crd-v1.yaml
5 - 检查主机多路径配置
当您计划在容器环境中使用FC/iSCSI/NVMe over RoCE/NVMe over FC协议对华为存储进行访问时,推荐您使用主机多路径软件增强主机和存储的链路冗余和性能。如果您不准备使用多路径软件,请跳过本章节。
华为CSI软件支持对接的操作系统和多路径软件请参考表 支持的主机操作系统及多路径软件版本。
- 如果您准备使用FC/iSCSI协议对接华为存储时,推荐使用操作系统自带的原生DM-Multipath。
- 如果您准备使用NVMe over RoCE/NVMe over FC协议对接华为存储时,推荐使用华为自研的UltraPath-NVMe。
- 如果您使用SCSI协议对接华为存储时,请关闭操作系统自带的DM-Multipath。
前提条件
主机多路径软件已经被正确的安装在主机上。
- 如果您使用的是操作系统自带的原生DM-Multipath,请咨询您的主机或操作系统提供商获取安装所需的资料和软件包。
- 如果您使用的是华为自研的UltraPath或者UltraPath-NVMe,请联系华为工程师获取UltraPath或者UltraPath-NVMe的资料和软件包。软件包版本请参考表 软件包组件描述。
操作步骤
如果您使用iSCSI/FC协议对接华为企业存储,请参考OceanStor Dorado & OceanStor在Red Hat下的主机连通性指南,对主机多路径进行配置和检查。
如果您使用NVMe over RoCE/NVMe over FC协议对接华为企业存储,请参考OceanStor Dorado & OceanStor在Red Hat下的主机连通性指南,对主机多路径进行配置和检查。
如果您使用iSCSI协议对接华为分布式存储,请参考 《FusionStorage 8.0.1 块存储基础业务配置指南》中的“应用服务器配置多路径”章节,对主机多路径进行配置和检查。
如果您使用了操作系统原生多路径时,需要检查/etc/multipath.conf文件,检查文件是否存在如下配置:
defaults {
user_friendly_names yes
find_multipaths no
}
如果配置不存在,请在/etc/multipath.conf文件开始处增加该配置项。
user_friendly_names 和find_multipaths 的参数作用请参考:dm_multipath/config_file_defaults
6 - 检查主机依赖软件状态
本章节介绍如何检查集群中工作节点上主机依赖软件状态是否正常。本例中主机操作系统为CentOS 7.9 x86_64。
检查iSCSI客户端状态。
systemctl status iscsi iscsid
检查NFS客户端状态。
检查DM-Multipath多路径软件状态。
systemctl status multipathd.socket multipathd
检查UltraPath多路径软件状态。
检查UltraPath-NVMe多路径软件状态。
systemctl status upudev upService_plus
7 - 检查CSI依赖的镜像
华为CSI安装过程中需要依赖下表中的镜像,若集群中的所有worker节点已连接互联网且能够在线拉取镜像,则可跳过本章节。若集群中的节点无法连接互联网,则请根据使用的Kubernetes版本,下载对应的镜像文件并上传到镜像仓库中或者导入Kubernetes集群的所有worker节点中。
huawei-csi-controller服务依赖的sidecar镜像:livenessprobe、csi-provisioner、csi-attacher、csi-resizer、csi-snapshotter、snapshot-controller、storage-backend-controller、storage-backend-sidecar、huawei-csi-driver和huawei-csi-extender。huawei-csi-node服务依赖的sidecar镜像:livenessprobe、csi-node-driver-registrar和huawei-csi-driver。
关于每个镜像的功能和详情,请参考下表。
表 1 Huawei CSI依赖的镜像
容器名称 | 容器镜像 | K8s版本要求 | 功能描述 |
---|
livenessprobe | k8s.gcr.io/sig-storage/livenessprobe:v2.5.0 | v1.16+ | Kubernetes社区提供,提供用于监控CSI的健康状态,并上报给Kubernetes,使Kubernetes能够自动检测CSI程序的问题并重启Pod尝试修改该问题。 |
csi-resizer | k8s.gcr.io/sig-storage/csi-resizer:v1.4.0 | v1.16+ | Kubernetes社区提供,在扩容PVC时,调用CSI给PVC提供更多的存储容量空间。 |
csi-node-driver-registrar | k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.3.0 | v1.16+ | Kubernetes社区提供,用于获取CSI信息,并通过kubelet的插件注册机制将节点注册到kubelet中,从而Kubernetes能够感知该节点与华为存储的对接。 |
csi-snapshotter | k8s.gcr.io/sig-storage/csi-snapshotter:v4.2.1 | v1.17+ | Kubernetes社区提供,在创建/删除VolumeSnapshot时,调用CSI在存储侧完成快照的创建和删除。 |
snapshot-controller | k8s.gcr.io/sig-storage/snapshot-controller:v4.2.1 | v1.17+ | Kubernetes社区提供,在创建/删除VolumeSnapshot时,监听Kubernetes API中关于VolumeSnapshot和VolumeSnapshotContent的对象,并触发csi-snapshotter在存储上完成快照的创建。 |
csi-provisioner
| k8s.gcr.io/sig-storage/csi-provisioner:v3.0.0 | v1.17+ | Kubernetes社区提供,用于完成PVC创建/删除。 - 在创建PVC时,调用huawei-csi-controller服务在存储上创建LUN/文件系统作为PV。
- 在删除PVC时,调用huawei-csi-controller服务在存储上删除该PV对应的LUN/文件系统。
|
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+ | 在创建/删除Pod时,调用huawei-csi-controller服务执行Publish/Unpublish Volume操作。
|
quay.io/k8scsi/csi-attacher:v1.2.1 | v.1.16.x |
storage-backend-controller | storage-backend-controller:4.5.0 | v1.16+ | 华为CSI软件包提供、用于管理storageBackendClaim资源。 |
storage-backend-sidecar | storage-backend-sidecar:4.5.0 | v1.16+ | 华为CSI软件包提供、用于管理storageBackendContent资源。 |
huawei-csi-driver | huawei-csi:4.5.0 | v1.16+ | 华为CSI软件包提供、用于提供华为CSI支持的所有特性。 |
huawei-csi-extender | huawei-csi-extender:4.5.0 | v1.16+ | 华为CSI软件包提供、用于提供华为CSI的扩展特性。 |
集群若未连接互联网,需要手动下载容器镜像并上传到集群中,具体操作请参考下载容器镜像。