CCE容器存储(Everest)
插件简介
CCE容器存储(Everest)是一个云原生容器存储系统,基于CSI(即Container Storage Interface)为Kubernetes v1.15.6及以上版本集群对接云存储服务的能力。
该插件为系统资源插件,Kubernetes 1.15及以上版本的集群在创建时默认安装。
约束与限制
- 插件版本为1.2.0的CCE容器存储插件(Everest)优化了使用OBS存储时的密钥认证功能,低于该版本的插件在升级完成后,需要重启集群中使用OBS存储的全部工作负载,否则工作负载使用存储的能力将受影响。
- Huawei Cloud EulerOS 1.1系统的节点支持2.x.x版本(2.1.9及以上)和1.2.x版本(1.2.70及以上)的CCE容器存储插件(Everest),不支持1.3.x版本的插件。
安装插件
本插件为系统默认安装,若因特殊情况卸载后,可参照如下步骤重新安装。
- 登录CCE控制台,单击集群名称进入集群,单击左侧导航栏的“插件中心”,在右侧找到CCE容器存储(Everest)插件,单击“安装”。
- 在安装插件页面,根据需求选择“规格配置”。
- 选择“系统预置规格”时,您可根据并发域名解析能力选择“小规格”、“中规格”或“大规格”,系统会根据不同的预置规格配置插件的实例数及资源配额,具体配置值请以控制台显示为准。
“小规格”最大支持50节点、500PVC规模集群;“中规格”最大支持200节点、2000PVC规模集群;“大规格”最大支持1000节点、10000PVC规模集群。
- 选择“自定义规格”时,您可根据需求调整插件实例数和资源配额。其中,插件组件的CPU和内存申请值可根据集群节点规模和PVC数量不同进行调整,配置建议请参见表1。
非典型场景下,限制值一般估算公式如下:
- everest-csi-controller:
- CPU限制值:200及以下节点规模设置为250m;1000节点规模设置为350m;2000节点规模设置为500m。
- 内存限制值 = (200Mi + 节点数 * 1Mi + PVC数 * 0.2Mi)* 1.2
- everest-csi-driver:
- CPU限制值:200及以下节点规模设置为300m;1000节点规模设置为500m;2000节点规模设置为800m。
- 内存限制值:200及以下节点规模设置为300Mi;1000节点规模设置为600Mi;2000节点规模设置为900Mi。
表1 典型场景组件限制值建议 配置场景
everest-csi-controller组件
everest-csi-driver组件
节点数量
PV/PVC数量
插件实例数
CPU(限制值同申请值)
内存(限制值同申请值)
CPU(限制值同申请值)
内存(限制值同申请值)
50
1000
2
250m
600Mi
300m
300Mi
200
1000
2
250m
1Gi
300m
300Mi
1000
1000
2
350m
2Gi
500m
600Mi
1000
5000
2
450m
3Gi
500m
600Mi
2000
5000
2
550m
4Gi
800m
900Mi
2000
10000
2
650m
5Gi
800m
900Mi
- everest-csi-controller:
- 选择“系统预置规格”时,您可根据并发域名解析能力选择“小规格”、“中规格”或“大规格”,系统会根据不同的预置规格配置插件的实例数及资源配额,具体配置值请以控制台显示为准。
- 设置插件支持的“参数配置”。
表2 everest插件参数配置 配置项
配置方式
参数说明
节点预留给非容器场景的EVS盘槽位(number_of_reserved_disks)
可视化界面配置
插件版本为2.3.11及以上时支持该参数,用于设置节点上预留的挂盘数,预留出部分盘位供用户自定义挂载云硬盘使用。
假设节点可挂载的云硬盘上限为20,并设置该参数值为6,则在调度挂载云硬盘的工作负载时,实际上节点可挂载的云硬盘为20-6=14。预留的6个挂盘数中,除去节点上已挂载的1块系统盘和1块数据盘后,还可以自定义挂载4块云硬盘,可以作为额外的数据盘或者作为裸盘用于创建本地存储池。
禁用全局访问密钥挂载对象存储(disable_auto_mount_secret)
可视化界面配置
挂载对象桶/并行文件系统时,是否允许使用默认的AKSK。
- 是:对象存储PVC未指定自定义挂载密钥时,默认使用用户上传的全局长效密钥挂载对象存储。
- 否:对象存储PVC未指定自定义挂载密钥时,不使用用户上传的全局长效密钥挂载对象存储,会导致PVC无法挂载。
处理EVS盘挂载任务的并发数(csi_attacher_worker_threads)
可视化界面配置
CCE容器存储插件(Everest)中同时处理挂EVS卷的worker数,默认值为“60”。
处理EVS盘卸载任务的并发数(csi_attacher_detach_worker_threads)
可视化界面配置
CCE容器存储插件(Everest)中同时处理卸载EVS卷的worker数,默认值均为“60”。
分布式挂卷策略(enable_node_attacher)
可视化界面配置
开启时,由每个节点上的everest-csi-driver组件负责attach/detach EVS卷。
不开启时,由everest-csi-controller负责attach/detach EVS卷。
flow_control
扩展参数配置
采用默认的API客户端流控配置,具体配置可在CCE容器存储插件安装好后查看kube-system命名空间下ConfigMap everest-driver-th-config详情。
over_subscription
扩展参数配置
本地存储池(local_storage)的超分比。默认为80,若本地存储池为100GiB,可以超分为180GiB使用,即超分后的总容量=(1+超分比)*实际容量。
enable_local_autoexpander
扩展参数配置
是否开启精简卷本地存储池自动扩容,开启后,会根据本地存储池扩容阈值和扩容步长触发自动扩容。
expansion_threshold
扩展参数配置
精简卷本地存储池使用率扩容阈值,当精简卷本地存储池使用率超过阈值时,触发本地存储池自动扩容。
expansion_step
扩展参数配置
精简卷本地存储池单块EVS盘扩容步长,单位Gi
expansion_max_evs_size
扩展参数配置
精简卷本地存储池单块EVS盘扩容的上限,单位Gi
volume_attaching_flow_ctrl
扩展参数配置
CCE容器存储插件(Everest)在1分钟内可以挂载EVS卷的最大数量,此参数的默认值“0”表示everest插件不做挂卷限制,此时挂卷性能由底层存储资源决定。
在扩展参数配置中,您可以自定义设置可视化界面中没有的高级配置。如果扩展参数配置中的设置与可视化界面中的参数设置冲突,将以扩展参数配置为准。
- 设置插件实例的部署策略。
- 调度策略对于DaemonSet类型的插件实例不会生效。
- 设置多可用区部署或节点亲和策略时,需保证集群中存在满足调度策略的节点且拥有足够的资源,否则插件实例将无法运行。
表3 插件调度配置 参数
参数说明
多可用区部署
- 优先模式:优先将插件的Deployment实例调度到不同可用区的节点上,如集群下节点不满足多可用区,插件实例将调度到单可用区下的不同节点。
- 均分模式:插件Deployment实例均匀调度到当前集群下各可用区,增加新的可用区后建议扩容插件实例以实现跨可用区高可用部署;均分模式限制不同可用区间插件实例数相差不超过1,单个可用区资源不足会导致后续其他实例无法调度。
- 强制模式:插件Deployment实例强制调度到不同可用区的节点上,每个可用区下最多运行一个实例。如集群下节点不满足多可用区,插件实例将无法全部运行。节点故障后,插件实例存在无法迁移风险。
节点亲和
容忍策略
容忍策略与节点的污点能力配合使用,允许(不强制)插件的 Deployment 实例调度到带有与之匹配的污点的节点上,也可用于控制插件的 Deployment 实例所在的节点被标记污点后插件的 Deployment 实例的驱逐策略。
插件会对实例添加针对node.kubernetes.io/not-ready和node.kubernetes.io/unreachable污点的默认容忍策略,容忍时间窗为60s。
详情请参见设置容忍策略。
- 单击“安装”。
组件说明
容器组件 |
说明 |
资源类型 |
---|---|---|
everest-csi-controller |
此容器负责存储卷的创建、删除、快照、扩容、attach/detach等功能。若集群版本大于等于1.19,且插件版本为1.2.x,everest-csi-controller组件的Pod还会默认带有一个everest-localvolume-manager容器,此容器负责管理节点上的lvm存储池及localpv的创建。 |
Deployment |
everest-csi-driver |
此容器负责PV的挂载、卸载、文件系统resize等功能。若插件版本为1.2.x,且集群所在区域支持node-attacher,everest-csi-driver组件的Pod还会带有一个everest-node-attacher的容器,此容器负责分布式attach EVS,该配置项在部分Region开放。 |
DaemonSet |
Prometheus指标采集
everest-csi-controller通过端口3225暴露Prometheus metrics指标。您可以自建Prometheus采集器识别并通过http://{{everest-csi-controllerPodIP}}:3225/metrics路径获取everest-csi-controller相关指标。
Prometheus指标暴露仅支持Everest插件2.4.4及以上版本。
指标名称 |
指标类型 |
描述 |
Labels |
举例 |
---|---|---|---|---|
everest_action_result_total |
counter |
everest不同功能的调用情况 |
action:表示不同功能,详情请参见表6 result:表示调用成功或失败 |
everest_action_result_total{action="create_snapshot:disk.csi.everest.io",result="success"} 2 |
everest_function_duration_seconds_bucket |
histogram |
everest不同功能在不同执行时间下的次数 |
function:表示不同功能,详情请参见表6 |
everest_function_duration_seconds_bucket{function="create_snapshot:disk.csi.everest.io",le="10"} 2 |
everest_function_duration_seconds_sum |
histogram |
everest不同功能的调用时间总和 |
function:表示不同功能,详情请参见表6 |
everest_function_duration_seconds_sum{function="create:disk.csi.everest.io"} 24.381399053 |
everest_function_duration_seconds_count |
histogram |
everest不同功能的调用次数 |
function:表示不同功能,详情请参见表6 |
everest_function_duration_seconds_count{function="attach:disk.csi.everest.io"} 4 |
action及function表示不同CSI驱动及其功能,表示为:{功能}:{CSI驱动}。例如create:disk.csi.everest.io,表示功能为创建卷、卷类型为云硬盘。
版本记录
插件版本 |
支持的集群版本 |
更新特性 |
---|---|---|
2.4.75 |
v1.23 v1.25 v1.27 v1.28 v1.29 v1.30 |
HCE2.0节点上的云硬盘类型PVC支持指定Fstype类型为xfs |
2.4.72 |
v1.23 v1.25 v1.27 v1.28 v1.29 v1.30 |
适配CCE v1.30版本 |
2.4.44 |
v1.23 v1.25 v1.27 v1.28 v1.29 |
|
2.4.28 |
v1.23 v1.25 v1.27 v1.28 v1.29 |
修复部分问题 |
2.4.21 |
v1.23 v1.25 v1.27 v1.28 v1.29 |
|
2.4.8 |
v1.21 v1.23 v1.25 v1.27 v1.28 v1.29 |
|
2.3.23 |
v1.21 v1.23 v1.25 v1.27 v1.28 |
支持在SFS Turbo文件系统中创建子目录 |
2.3.21 |
v1.21 v1.23 v1.25 v1.27 v1.28 |
修复部分问题 |
2.3.14 |
v1.21 v1.23 v1.25 v1.27 v1.28 |
适配CCE v1.28版本 |
2.1.51 |
v1.19 v1.21 v1.23 v1.25 v1.27 |
支持Huawei Cloud EulerOS 2.0系统 |
2.1.30 |
v1.19 v1.21 v1.23 v1.25 |
|
2.1.13 |
v1.19 v1.21 v1.23 v1.25 |
SFS Turbo存储卷subpath PVC批创性能优化 |
2.1.9 |
v1.19 v1.21 v1.23 v1.25 |
|
2.0.9 |
v1.19 v1.21 v1.23 |
|
1.3.28 |
v1.19 v1.21 v1.23 |
|
1.3.22 |
v1.19 v1.21 v1.23 |
修复重复挂盘偶现挂载后读写失败的问题 |
1.3.20 |
v1.19 v1.21 v1.23 |
修复重复挂盘偶现挂载后读写失败的问题 |
1.3.17 |
v1.19 v1.21 v1.23 |
|
1.3.8 |
v1.23 |
适配CCE v1.23集群 |
1.3.6 |
v1.23 |
适配CCE v1.23集群 |
1.2.78 |
v1.15 v1.17 v1.19 v1.21 |
支持插件实例AZ反亲和配置 |
1.2.70 |
v1.15 v1.17 v1.19 v1.21 |
SFS Turbo存储卷subpath PVC批创性能优化 |
1.2.67 |
v1.15 v1.17 v1.19 v1.21 |
|
1.2.61 |
v1.15 v1.17 v1.19 v1.21 |
|
1.2.55 |
v1.15 v1.17 v1.19 v1.21 |
修复重复挂盘偶现挂载后读写失败的问题 |
1.2.53 |
v1.15 v1.17 v1.19 v1.21 |
修复重复挂盘偶现挂载后读写失败的问题 |
1.2.51 |
v1.15 v1.17 v1.19 v1.21 |
|
1.2.44 |
v1.15 v1.17 v1.19 v1.21 |
|
1.2.42 |
v1.15 v1.17 v1.19 v1.21 |
|
1.2.30 |
v1.15 v1.17 v1.19 v1.21 |
CCE支持EmptyDir |
1.2.28 |
v1.15 v1.17 v1.19 v1.21 |
适配CCE v1.21集群 |
1.2.27 |
v1.15 v1.17 v1.19 v1.21 |
支持极速型SSD(ESSD)、通用型SSD(GPSSD)类型云硬盘 |
1.2.13 |
v1.15 v1.17 v1.19 |
支持EulerOS 2.10系统。 |
1.2.9 |
v1.15 v1.17 v1.19 |
|
1.2.5 |
v1.15 v1.17 v1.19 |
|
1.1.12 |
v1.15 v1.17 |
优化和增强everest-csi-controller组件可靠性 |
1.1.11 |
v1.15 v1.17 |
|
1.1.8 |
v1.15 v1.17 |
支持CCE v1.17,v1.13升级到v1.15场景支持接管Flexvolume |
1.1.7 |
v1.15 v1.17 |
支持CCE v1.17,v1.13升级到v1.15场景支持接管Flexvolume |