AS2200G2(48)

Inspur AS2200G2(48) ユーザーマニュアル

  • こんにちは!私は浪潮のK8sCSIPlugin 主機插件ユーザーマニュアルについて熟知しています。このマニュアルは、Kubernetesクラスタへの永続ストレージの自動プロビジョニング、ボリューム、スナップショット、共有の管理方法、オンライン/オフライン拡張、クローン作成などの機能について説明しています。どのようなご質問でもお気軽にお尋ねください!
  • K8sCSIPluginプラグインはどのKubernetesバージョンをサポートしていますか?
    サポートされているストレージ製品は?
    最大サポートされる共有数は?
    iSCSI方式で接続する場合、どのような準備が必要ですか?
    プラグインのインストールはKubernetesサービスの再起動を必要としますか?
浪潮存储平台
K8sCSIPlugin 主机插件用户手册
文档版 2.0
发布日 2022-03-25
适用版 V2.2.0
K8sCSIPlugin 主机插件 用户手册
i
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
尊敬的用户:
衷心感谢您选用浪潮存储!浪潮存储秉承“云存智用 运筹新数据”的新存储之道,致力于为您提供符合新数
据时代需求的存储产品和解决方案。
本手册用于帮助您更详细地了解和便捷地使用本存储,涉及的截图仅为示例,最终界面请以实际设备显示的
界面为准。
由于产品版本升级或其他原因,本手册内容会不定期进行更新,如有变动恕不另行通知。除非另有约定,本
手册仅作为使用指导,本手册中的所有陈述、信息和建议不构成任何明示或暗示的担保。
浪潮拥有本手册的版权,保留随时修改本手册的权利。未经浪潮许可,任何单位和个人不得以任何形式复制
本手册的内容。
如果您对本手册有任何疑问或建议,请向浪潮电子信息产业股份有限公司垂询。
技术服务电话:
4008600011
址:
中国济南市浪潮路 1036
浪潮电子信息产业股份有限公司
编:
250101
K8sCSIPlugin 主机插件 用户手册
ii
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
使用声明
在您正式使用本存储之前,请先阅读以下声明。只有您阅读并且同意以下声明后,方可正式开始使用本存储。
如果您对以下声明有任何疑问,请和您的供货商联系或直接与我们联系。如您在开始使用本系统前未就以下
声明向我们提出疑问,则默认您已经同意了以下声明。
1. 请不要自行拆卸本存储的机箱及机箱内任何硬件设备。在本存储出现任何硬件故障或您希望对硬件进行
任何升级时,请您将机器的详细硬件配置反映给我们的客户服务中心。
2. 请不要将本存储的设备与任何其他型号的相应设备混用。本存储的内存、CPUCPU 散热片、风扇、硬
盘托架、硬盘等都是特殊规格的。
3. 在使用本存储时遇到任何软件问题,请您首先和相应软件的提供商联系。由提供商和我们联系,以方便
我们共同沟通和解决您遇到的问题。对于数据库、网络管理软件或其他网络产品的安装、运行问题,我
们尤其希望您能够这样处理。
4. 上架安装本存储前,请先仔细阅读相关产品手册中的快速安装指南。我们致力于产品功能和性能的持续
提升,部分功能及操作与手册描述可能会有所差异,但不会影响使用。如果您有任何疑难问题,请与我
们的客户服务中心联系。
5. 我们特别提醒您:在使用过程中,注意对您的数据进行必要的备份。
6. 本存储为 A级产品,在生活环境中可能会造成无线电干扰,需要您对其干扰采取切实可行的措施。
7. 请仔细阅读并遵守本手册的安全声明和安全细则。
8. 本手册中涉及的各软、硬件产品的标识、名称版权归产品的相应公司拥有。
以上声明中,“我们”指代浪潮电子信息产业股份有限公司;浪潮电子信息产业股份有限公司拥有对以上声
明的最终解释权。
K8sCSIPlugin 主机插件 用户手册
iii
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
安全声明
我们非常重视数据安全和隐私,且一如既往严密关注产品和解决方案的安全性,为您提供更满意的服务。
在您正式使用本存储之前,请先阅读以下安全声明。
1. 为了保护您的数据隐私,在调整存储产品用途或淘汰存储设备时,请您将存储软件恢复固件出厂设置、
删除信息、除日志。 同时,建议采用第三方安全擦除工具对存储软件所在的系统盘进行全面安全擦除。
2. 您购买的存储产品业务运营或故障定位的过程中可能会获取或使用用户的某些个人数据(如告警邮件接
收地址、IP 地址)。因此,您有义务根据所适用国家或地区的法律法规制定必要的用户隐私政策,并采
取足够的措施以确保用户的个人数据受到充分的保护。
3. 如需获取本存储开源软件声明,请直接联系我们的客户服务人员。
4. 本存储的某些安全特性需要您自行配置,如认证、传输加密、存储数据加密等,这些配置操作可能会对
存储的性能和使用方便性造成一定影响。您可以根据应用环境,权衡是否进行安全特性配置。
5. 本存储自带了部分用于生产、装备、返厂检测维修的接口、命令及定位故障的高级命令,如使用不当,
可能会导致设备异常或者业务中断,不建议您自行使用。如需使用,请联系我们的客户服务人员。
6. 我们已全面建立产品安全漏洞应急和处理机制,确保第一时间处理产品安全问题。若您在存储产品使
过程中发现任何安全问题,或者寻求有关产品安全漏洞的必要支持,请直接联系我们的客户服务人员。
以上声明中,“我们”指代浪潮电子信息产业股份有限公司;浪潮电子信息产业股份有限公司拥有对以上声
明的最终解释权。
K8sCSIPlugin 主机插件 用户手册
iv
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
安全细则
在使用本存储时,若操作不当,可能会危及您的人身安全。为避免发生意外,在正式使用本存储之前,请务
必认真阅读以下安全细则,严格按照要求进行操作
1. 本存储中的电源设备可能会产生高电压和危险电能,从而导致人身伤害。请勿自行卸下主机盖以拆装、
更换系统内部的任何组件。除非另外得到我们的通知,否则只有经过我们培训的维修技术人员才有权拆
开主机盖及拆装、更换内部组件。
2. 请将设备连接到适当的电源,仅可使用额定输入标签上指明的外部电源为设备供电。为保护您的设备免
受电压瞬间升高或降低所导致的损坏,请使用相关的稳压设备或不间断电源设备。
3. 如果必须使用延长线缆,请使用配有正确接地插头的三芯线缆,并查看延长线缆的额定值,确保插入延
长线缆的所有产品的额定电流总和不超过延长线缆额定电流限制的百分之八十。
4. 请务必使用随机配备的供电组件,如电源线、电源插座(如果随机配备)等。为了本存储及使用者的
全,切勿随意更换电源线缆或插头。
5. 为防止因系统漏电而造成电击危险,请务必将本存储和外围设备的电源电缆插入已正确接地的电源插座。
在未安装接地导线及不确定是否已有适当接地保护的情况下,请勿操作和使用本存储,并及时与电工联
系。
6. 切勿将任何物体塞入本存储的开孔处,否则,可能会导致内部组件短路而引起火灾或电击。
7. 请将本存储置于远离散热片和有热源的地方,切勿堵塞通风孔。
8. 切勿在高潮湿、高灰尘的环境中使用本存储,切勿让食物或液体散落在系统内部或其它组件上。
9. 使用错误型号的电池会有爆炸的危险,需要更换电池时,请先向制造商咨询并使用与制造商推荐型号相
同或相近的电池。切勿拆开、挤压、刺戳电池或使其外部接点短路。不要将其丢入火中或水中,也不要
暴露在温度超过 60 摄氏度的环境中。请勿尝试打开或维修电池,务必合理处置用完的电池,不要将用
完的电池及可能包含电池的电路板及其它组件与其它废品放在一起。有关电池回收政策请与当地废品回
收处理机构联系。
10. 由于 3U4U 5U 设备过重,建议使用本公司官方选配导轨上架。如果您使用自备导轨,请联系本公司
客服,确保设备可以正常上架。在您使用自备导轨上架本设备前,请确认该导轨承载重量大于 150kg
否则,请务必使用本公司官方选配的导轨。若使用非本公司官方选配的导轨上架本设备,可能导致自备
导轨的承载重量小于设备重量,造成设备上架失效等风险,对此,本公司将不承担任何责任或义务。
以上内容中,“我们”指代浪潮电子信息产业股份有限公司;浪潮电子信息产业股份有限公司拥有对以
容的最终解释权。
K8sCSIPlugin 主机插件 用户手册
v
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
目录
使用声明 .................................................................................................................................................. ii
安全声明 ................................................................................................................................................. iii
安全细则 ................................................................................................................................................. iv
1 功能描述 .............................................................................................................................................. 1
1.1 基本介绍 .......................................................................................................................................................... 1
1.2 约束与限制 ...................................................................................................................................................... 2
1.3 应用场景 .......................................................................................................................................................... 3
2 安装与部署 ........................................................................................................................................... 1
2.1 搭建 Kubernetes 集群 ..................................................................................................................................... 1
2.2 安装 K8sCSIPlugin 插件 .................................................................................................................................. 1
2.3 升级 K8sCSIPlugin 插件 .................................................................................................................................. 7
2.4 sidecar 镜像版本兼容性说明 .......................................................................................................................... 8
2.5 feature-gates 兼容性说明 .............................................................................................................................. 9
3 功能配置与管理 .................................................................................................................................. 11
3.1 配置网络 ........................................................................................................................................................ 11
3.2 启用多路径 .................................................................................................................................................... 12
3.3 K8sCSIPlugin 插件存储配置文件说明 .......................................................................................................... 13
4 Kubernetes 使用存储 ................................................................................................................. 18
4.1 对接单套存储创建卷及 POD ......................................................................................................................... 18
4.2 对接多套存储 ................................................................................................................................................. 22
4.3 通过 PVC 创建快照 ........................................................................................................................................ 23
4.4 通过 PVC 克隆 PVC ........................................................................................................................................ 25
4.5 通过快照克隆 PVC ......................................................................................................................................... 27
4.6 离线扩容 ........................................................................................................................................................ 28
4.7 在线扩容 ........................................................................................................................................................ 32
4.8 storageclass 配置文件及参数说明 .............................................................................................................. 32
5 故障分析与解决 .................................................................................................................................. 35
6 附录 ................................................................................................................................................... 36
6.1 参考资料 ........................................................................................................................................................ 36
6.2 扩容双活卷 .................................................................................................................................................... 36
6.3 缩略语 ............................................................................................................................................................ 38
K8sCSIPlugin 主机插件 用户手册
ii
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
K8sCSIPlugin 主机插件 用户手册
1
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
1 功能描述
1.1 基本介绍
K8sCSIPlugin 插件使得存储可以为 Kubernetes 集群中的应用自动地提供持久化存储。通过 K8sCSIPlugin
插件,可以直接使用 Kubernetes 的管理命令自动在本存储上创建、管理卷/共享和快照,并将存储上的卷/
享提供给应用服务使用,用于服务的持久化数据存储。
Kubernetes 集群中的一个服务需要使用本存储提供的卷/共享时,首先在 Kubernetes 上创建一个 PVC
Persistent Volume Claim资源信息。Kubernetes 根据 PVC 中的信息,通过接口将消息传递给 instorage-
csiinstorage-csi 收到消息后会自动在存储上创建满足要求的卷/共享,并在 Kubernetes 上生成一个 PV
Persistent Volume信息,之后服务就可以使用该卷/共享Kubernetes 删除 PV 信息时,消息也将传递给
instorage-csiinstorage-csi 根据里面的具体信息,自动将存储上与之对应的卷/共享删除。
Kubernetes 集群中的一个使用持久化存储的服务启动时,需要先将服务所使用的持久化存储映射到某个主机
的指定目录上,然后服务才可以使用这些持久化存储。在这个过程中,Kubernetes 会调用与相应 PV 信息对
应的卷挂载/卸载插件,K8sCSIPlugin 插件中实现了该功能。当 Kubernetes 需要挂载一个卷时,instorage-
csi 会自动在存储上完成卷与主机信息的绑定,并在主机端将对应的卷扫描出来。根据需要,自动对卷进行格
式化,然后将卷上的文件系统挂载到 Kubernetes 指定的目录上。然后,Kubernetes 便可以将该目录映射到
服务的容器中供服务使用。
K8sCSIPlugin 插件支持 FC iSCSI 存储接口协议,能够实现对卷、快照、共享等的管理,详细说明如表 1-1
所示。
1-1 K8sCSIPlugin 插件的功能
存储类型
功能模块
操作
块存储
管理
创建普通卷、镜像卷、双活卷
克隆卷(基于卷克隆、基于快照克隆)
在线/离线扩容卷
删除卷
-主机管理
挂载卷到主机(单节点读写,多节点只读)
K8sCSIPlugin 主机插件 用户手册
2
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
挂载卷上的文件系统到主机
从主机上卸载卷上的文件系统
从主机上卸载卷
快照管理
创建快照
删除快照
多路径
支持多路径设备
文件存储
共享管理
创建共享(CIFS NFS
在线/离线扩容共享
删除共享
共享主机管理
挂载共享到主机
挂载共享上的文件系统到主机
从主机上卸载共享上的文件系统
从主机上卸载共享
1.2 约束与限制
版本限制
Kubernetes 版本1.15~1.21
Linux 内核版本4.4 及以上
操作系统版本:CentOS 7.x
共享数量限制
存储系统为 5.1.0.x 及以上版本时,支持创建的最大共享数为 4*N个(N为控制器个数)。
适用存储产品
K8sCSIPlugin 插件适用的存储产品如表 1-2 所示
1-2 适用存储产品
产品系列
产品型号
K8sCSIPlugin 主机插件 用户手册
3
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
G2 系列
AS2150G2&AS2200G2&AS2600G2&AS5300G2&AS5500G2&AS5600G2&AS5800G2&
AS6800G2
G2-F 系列
AS2600G2-F&AS5300G2-F&AS5500G2-F&AS5600G2-F&AS5800G2-F&AS6800G2-F
G5 系列
AS5300G5&AS5500G5&AS5600G5&AS5800G5&AS6800G5&HF5000G5&HF6000G5&
HF8000G5
G5-I 系列
AS18000G5-I&HF18000G5-I
其他
HF5500
1.3 应用场景
K8sCSIPlugin 插件主要包括 IdentityControllerNode 三个服务。
Identity 服务负责获取插件的信息、能力、状态。
Controller 服务负责创建、删除、克隆卷/共享和创建、删除快照。
Node 服务负责挂载、卸载卷/共享。
K8sCSIPlugin 插件支持 all-in-onecontrollernodeworker 三种工作模式。
all-in-one 模式包含上述三个服务,部署在 Kubernetes Master 节点。
controller 模式包含 Identity Controller 两个服务,部署在 Kubernetes Master 节点。
nodeworker 模式包含 Identity Node 两个服务,部署在 Kubernetes 的所有节点。
Kubernetes集群通过 sidecar容器与 K8sCSIPlugin插件进行对接,sidecar容器服务是为了方便 K8sCSIPlugin
插件与 Kubernetes 集群进行对接开发的桥接服务,本质上属于 Kubernetes CSI 接口支持的一部分Sidecar
容器按照 Kubernetes 的实现机制与 Kubernetes 进行交互,并按照 CSI 接口定义的规范调用 K8sCSIPlugin
件。K8sCSIPlugin 插件的应用拓扑图如图 1-1 所示。
K8sCSIPlugin 主机插件 用户手册
4
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
1-1 K8sCSIPlugin 插件应用拓扑图
上图中,controller 模式的 K8sCSIPlugin 插件通过 csi-provisionercsi-attachercsi-snapshottersnapshot-
controllercsi-extender sidecar 服务接收 kubernetes 集群的任务,并与存储交互完成管理任务。
nodeworker 模式的 K8sCSIPlugin 插件通过 sidecar 服务 csi-driver-registrar 注册到 kubernetes 集群工作节
点的 kubelet 服务中,后续 kubelet 服务直接调用 nodeworker 模式的 K8sCSIPlugin 插件来完成工作节点卷
挂载/卸载相关任务。挂载设备时,nodeworker 模式的 K8sCSIPlugin 插件会根据主机信息在存储上映射卷,
并在主机上扫描挂载设备。卸载设备时,nodeworker 模式的 K8sCSIPlugin 插件卸载和删除设备,并在存储
上解除卷映射。
K8sCSIPlugin 主机插件 用户手册
1
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
2 安装与部署
为了在 Kubernetes 集群中使用本存储,需要提前完成存储的初始化,并将 K8sCSIPlugin 插件部署在集群中。
all-in-one 模式和 controller 模式的插件部署在 Kubernetes Master 节点。
nodeworker 模式的插件部署在 Kubernetes 的所有节点。
说明
部署 K8sCSIPlugin 插件前,需要确保 Kubernetes 集群状态正常。
部署时,无需重启 Kubernetes 服务。
升级时,先删除插件容器对应的 pods 并修改部署文件,然后重新创建 pods
2.1 搭建 Kubernetes 集群
Kubernetes 是一个开源的容器编排管理平台。Kubernetes 集群的搭建过程、使用方法请参考官方网站
https://kubernetes.io/
由于 Kubernetes 是一个开源系统,各个厂商可以基于 Kubernetes 发行自己的版本。不同厂商版本的使用
请参考各厂商提供的使用手册及相关文档。
2.2 安装 K8sCSIPlugin 插件
请按如下顺序完成 K8sCSIPlugin 插件的安装部署,每个步骤的详细说明见后续对应内容模块。
1. 解压安装包。
2. 安装软件包
3. 拉取镜像
4. 加载镜像
5. 制作镜像
6. 增加 kube-apiserver 服务的启动参数。
7. 增加 kube-controller-manager 服务的启动参数。
8. 增加 kubelet 服务的启动参数。
9. 创建 RBAC 权限信息。
K8sCSIPlugin 主机插件 用户手册
2
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
10. 创建存储配置信息。
11. 可选:创建 v1beta1 版本的快照资源。
12. 部署 K8sCSIPlugin 插件。
解压安装包
在官网获取 K8sCSIPlugin 插件安装包解压并查看安装包中的文件。
./csiplugin/csiplugin 文件K8sCSIPlugin 插件。
./csiplugin/Dockerfile 文件:用于构建 K8sCSIPlugin 插件镜像
./csiplugin/deploy 目录用于存放部署文件。
./csiplugin/demo 目录用于存放示例文件。
root@lab:~/workspace$ ls
K8sPlugin_V2.1.0.Build20200114_amd64.tar.gz
root@lab:~/ K8sPlugin_V2.1.0.Build20200114_amd64# tree
├── csiplugin
└─ csiplugin
└─ Dockerfile
└─ deploy
└── configMap.yaml
└── csi-rbac.yaml
└── gen-deploy-file-for-snapshot-v1alpha1.sh
└── gen-deploy-file-for-snapshot-v1beta1.sh
└── README.md
└── images
└── centos-7.6.1812.for-csiplugin.docker-image
└── csi-attacher-v2.2.0
└── csi-node-driver-registrar-v1.3.0
└── csi-provisioner-v1.4.0
└── csi-provisioner-v1.6.0
└── csi-resizer-v0.5.0
└── csi-resizer-v0.1.0
└── csi-snapshotter-v1.2.2
K8sCSIPlugin 主机插件 用户手册
3
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
└── csi-snapshotter-v2.1.0
└── snapshot-controller-v2.1.0
└─ demo
└── gen-demo-file-for-snapshot-v1alpha1.sh
└── gen-demo-file-for-snapshot-v1beta1.sh
安装软件包
使用 iSCSI 方式对接存储时,需要在每个 K8s 节点上执行以下命令安装 iSCSI 客户端(版本号 6.2.0.874-
11.el7~6.2.0.874-17.el7):
yum -y install iscsi-initiator-utils
执行以下命令启动 iscsid 服务
systemctl enable iscsid
systemctl start iscsid
使用多路径软件聚合单路径时,需要在每个 K8s 节点上执行以下命令安装多路径:
yum -y install device-mapper device-mapper-multipath
执行如下命令将配置文件 multipath.conf 拷贝到/etc 目录下multipath.conf 文件的修改请参考3.2
用多路径”。
cp /usr/share/doc/device-mapper-multipath-*.*.*/multipath.conf /etc
执行如下命令启动多路径:
modprobe dm-multipath
modprobe dm-round-robin
modprobe dm-service-time
systemctl enable multipathd
systemctl start multipathd
对接存储的文件设备(NFS)时,需要在每个 K8s 节点上执行以下命令安装 NFS
yum -y install nfs-utils
对接存储的文件设备(CIFS)时,需要在每个 K8s 节点上执行以下命令安装 CIFS
yum -y install cifs-utils
K8sCSIPlugin 主机插件 用户手册
4
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
拉取镜像
部署过程依赖 sidecar 镜像,不同 kubernetes 版本对应的 sidecar 镜像(个数和版本)不同,二者的对应
系请参考2.4 sidecar 镜像版本兼容性说明”。
根据 kubernetes 版本分别拉取 56sidecar 镜像以拉取 csi-snapshotter v1.2.2 为例,命令如下:
docker load i csi-snapshotter-v1.2.2
拉取完成后,可执行以下命令查看已拉取的镜像:
docker images | grep csi
说明:拉取镜像后,查询到的镜像名为空时,可使用 docker tag 命令手动为镜像打上对应的 tag
加载镜像
执行以下命令加载镜像:
docker load -i centos-7.6.1812.for-csiplugin.docker-image
加载完成后,可执行以下命令查看已加载的镜像。
docker images | grep centos
说明:加载后,查询到的镜像名为空时,可使用 docker tag 命令手动为镜像打上对应的 tag
制作镜像
在第一个 csiplugin 目录下执行以下命令,注意命令中的“.”。
chmod -R 777 csiplugin
docker build -t csiplugin:v2.1.0 -f Dockerfile .
制作完成后,可执行以下命令查看已制作的镜像:
docker images | grep csiplugin
增加 kube-apiserver 服务的启动参数
feature-gates 的支持情况请参考2.5 feature-gates 兼容性说明”。
K8sCSIPlugin 主机插件 用户手册
5
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
对于 K8s-v1.15 K8s-v1.16,在/etc/kubernetes/manifests/kube-apiserver.yaml 文件中增加以下代码
--feature-gates=VolumeSnapshotDataSource=true
--feature-gates=VolumePVCDataSource=true
--feature-gates=ExpandInUsePersistentVolumes=true
--feature-gates=ExpandCSIVolumes=true
增加完成后,kube-apiserver 服务会自动重启。执行以下命令查看是否生效:
ps aux | grep kube-apiserver
增加 kube-controller-manager 服务的启动参数
feature-gates 的支持情况请参考2.5 feature-gates 兼容性说明”。
/etc/kubernetes/manifests/kube-controller-manager.yaml 文件中增加以下代码:
--feature-gates=ExpandInUsePersistentVolumes=true
--feature-gates=ExpandCSIVolumes=true
增加完成后,kube-controller-manager 服务会自动重启。执行以下命令查看是否生效:
ps aux | grep kube-controller-manager
增加 kubelet 服务的启动参数
feature-gates 的支持情况请参考2.5 feature-gates 兼容性说明”。
1. /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf 文件中增加以下代码
--feature-gates=ExpandInUsePersistentVolumes=true
--feature-gates=ExpandCSIVolumes=true
2. 增加完成后,手动执行以下命令重启 kubelet 服务
systemctl daemon-reload
systemctl restart kubelet
3. 执行以下命令查看是否生效:
ps aux | grep kubelet
创建 RBAC 权限信息
csiplugin/deploy 目录下,执行以下命令创建 RBAC 权限信息:
K8sCSIPlugin 主机插件 用户手册
6
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
kubectl create -f csi-rbac.yaml
创建存储配置信息
参考“3.3K8sCSIPlugin 插件存储配置文件说明修改 configMap.yaml 中的存储信息。在 csiplugin/deploy
目录下,执行以下命令创建存储配置信息:
kubectl create f configMap.yaml
创建 v1beta1 版本的快照资源
K8s-v1.15 K8s-v1.16 不支持 v1beta1 版本的快照资源,可直接转至下一步“部署 K8sCSIPlugin 插件”。
对于 K8s-v1.17 及以上版本,执行以下命令创建 v1beta1 版本的快照资源:
kubectl apply -f snapshot/external-snapshotter-2.1-
crd/snapshot.storage.k8s.io_volumesnapshotclasses.yaml
kubectl apply -f snapshot/external-snapshotter-2.1-
crd/snapshot.storage.k8s.io_volumesnapshotcontents.yaml
kubectl apply -f snapshot/external-snapshotter-2.1-
crd/snapshot.storage.k8s.io_volumesnapshots.yaml
部署 K8sCSIPlugin 插件
对于 K8s-v1.15 K8s-v1.16
a. csiplugin/deploy 目录下,执行以下命令创建部署文件 csi-instorage-deploy.yaml
./gen-deploy-file-for-snapshot-v1alpha1.sh
b. 修改部署文件 csi-instorage-deploy.yaml instorage-csi 部分的镜像名称,请参考步骤“制作镜
像”的镜像命名。
c. 执行以下命令部署 K8sCSIPlugin 插件:
kubectl create -f csi-instorage-deploy.yaml
d. 执行以下命令查看插件部署是否成功:
kubectl get pods
2-1 查看部署结果
对于 K8s-v1.17 及以上版本:
K8sCSIPlugin 主机插件 用户手册
7
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
a. csiplugin/deploy 目录下,执行以下命令创建部署文件 csi-instorage-deploy.yaml
./gen-deploy-file-for-snapshot-v1beta1.sh
b. 修改部署文件 csi-instorage-deploy.yaml instorage-csi 部分的镜像名称,请参考步骤“制作镜
像”的镜像命名。
c. 执行以下命令部署 K8sCSIPlugin 插件:
kubectl create -f csi-instorage-deploy.yaml
d. 执行以下命令查看插件是否部署成功:
kubectl get pods
2-2 查看部署结果
完成部署
至此,K8sCSIPlugin 插件部署完毕,后续可参考“3功能配置与管理”进行配置。
说明
插件是以容器方式部署的,可执行以下命令查看日志:
kubectl logs ${pod_name} c instorage-csi
2.3 升级 K8sCSIPlugin 插件
部署 K8sCSIPlugin 插件后,需要升级时,请参考以下说明完成升级操作。为方便描述,以如下目录为例进行
说明。
旧版 K8sCSIPlugin 插件解压后的目录为:/home/K8sPlugin_V2.1.0.Build_Old_amd64
新版 K8sCSIPlugin 插件解压缩后的目录为:/home/K8sPlugin_V2.1.1.Build_New_amd64
1. 在某个 K8s-master 节点上:将旧版 K8sCSIPlugin 插件configmap.yaml 文件拷贝到新版插件的对应
目录下,进行覆盖。命令如下:
cp /home/K8sPlugin_V2.1.0.Build_Old_amd64/csiplugin/deploy/configmap.xml
/home/K8sPlugin_V2.1.1.Build_New_amd64/csiplugin/deploy
2. 在某个 K8s-master 节点上:将旧版 K8sCSIPlugin 插件的 csi-instorage-deploy.yaml 文件拷贝到新版插
件的对应目录,进行覆盖,命令如下:
K8sCSIPlugin 主机插件 用户手册
8
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
cp /home/K8sPlugin_V2.1.0.Build_Old_amd64/csiplugin/deploy/csi-instorage-deploy.yaml
/home/K8sPlugin_V2.1.1.Build_New_amd64/csiplugin/deploy
3. 在某个 K8s-master 节点上:卸载旧版 K8sCSIPlugin 插件,命令如下:
kubectl delete -f /home/K8sPlugin_V2.1.1.Build_New_amd64/csiplugin/deploy/csi-instorage-
deploy.yaml
4. 在每个 K8s 节点上:在目录/home/K8sPlugin_V2.1.1.Build_New_amd64/csiplugin 下制作新镜像,命
令如下:
chmod -R 755 csiplugin
docker build -t csiplugin:v2.1.1 -f Dockerfile .
5. 完成新镜像的制作后,执行如下命令查看已制作的镜像。该示例中制作的新镜像为 csiplugin:v2.1.1
docker images | grep csiplugin
6. 在某个 K8s-master 节点上:修改 csi-instorage-deploy.yaml 文件
/home/K8sPlugin_V2.1.1.Build_New_amd64/csiplugin/deploy 目录下,将 csi-instorage-
deploy.yaml 中容器 instorage-csi 的镜像修改为 csiplugin:v2.1.1(共两处)
说明:镜像及版本必须与步骤 5制作的新镜像保持一致
7. 在某个 K8s-master 节点上:安装新版本的 K8sCSIPlugin。命令如下:
kubectl apply -f /home/K8sPlugin_V2.1.1.Build_New_amd64/csiplugin/deploy/csi-instorage-
deploy.yaml
2.4 sidecar 镜像版本兼容性说明
K8sCSIPlugin 插件部署过程需要使用 sidecar 镜像,sidecar 镜像的版本需与 kubernetes 的版本兼容
K8s-v1.15 K8s-v1.16 需要使用 5sidecar 镜像,推荐的版本配置如表 2-1 所示。
2-1 sidecar 镜像版本兼容性列表
kubernetes
csi-
provisioner
csi- attacher
csi-
snapshotter
csi- resizer
csi-node-
driver-registrar
clientv1.15.2
server: v1.15.0
v1.4.0
v2.2.0
v1.2.2
v0.5.0
v1.3.0
clientv1.16.0
v1.4.0
v2.2.0
v1.2.2
v0.5.0
v1.3.0
K8sCSIPlugin 主机插件 用户手册
9
浪潮专有和保密信息
版权所有 © 浪潮电子信息产业股份有限公司
serverv1.16.0
K8s-v1.17 及以上版本需要使用 6sidecar 镜像,推荐的版本配置如表 2-2 所示。
2-2 sidecar 镜像版本兼容性列表(volumesnapshot v1beta1
kubernetes
csi-
provisioner
csi-
attacher
csi-
snapshotter
snapshot-
controller
csi-
resizer
csi-node-
driver-registrar
clientv1.17.0
server: v1.17.0
v1.6.0
v2.2.0
v2.1.0
v2.1.0
v0.5.0
v1.3.0
clientv1.18.0
serverv1.18.0
v1.6.0
v2.2.0
v2.1.0
v2.1.0
v0.5.0
v1.3.0
clientv1.19.0
serverv1.19.0
v1.6.0
v2.2.0
v2.1.0
v2.1.0
v0.5.0
v1.3.0
clientv1.20.0
serverv1.20.0
v1.6.0
v2.2.0
v2.1.0
v2.1.0
v0.5.0
v1.3.0
clientv1.21.0
serverv1.21.0
v1.6.0
v2.2.0
v2.1.0
v2.1.0
v0.5.0
v1.3.0
2.5 feature-gates 兼容性说明
K8sCSIPlugin 插件对块设备支持克隆卷、扩容卷创建快照这些特性要求 kubernetes 开启相应的 feature-
gates,相关 feature-gates kubernetes 不同版本的支持情况如表 2-3 所示。
2-3 feature-gates 版本兼容性列表
特性
默认值
阶段
开始版本
结束版本
VolumeSnapshotDataSource
false
Alpha
1.12
1.16
true
Beta
1.17
-
VolumePVCDataSource
false
Alpha
1.15
1.15
true
Beta
1.16
1.17
true
GA
1.18
-
ExpandInUsePersistentVolumes
false
Alpha
1.11
1.14
/