约束与限制
本文主要为您介绍云容器引擎(CCE)集群使用过程中的一些限制。
集群/节点限制
- 集群一旦创建以后,不支持变更以下项:
- 变更集群类型,例如“CCE Standard集群”更换为“CCE Turbo集群”。
- 变更集群的控制节点数量,例如非高可用集群(控制节点数量为1)变更为高可用集群(控制节点数量为3)。
- 变更控制节点可用区。
- 变更集群的网络配置,如所在的虚拟私有云VPC、子网、容器网段、服务网段、IPv6、kubeproxy代理(转发)模式。
- 变更网络模型,例如“容器隧道网络”更换为“VPC网络”。
- CCE创建的ECS实例(节点)目前支持“按需计费”和“包年/包月”,其他资源(例如负载均衡)为按需计费。如果资源所属的服务支持将按需计费实例转换成包年/包月实例,您可以通过对应的控制台进行操作。
- 集群中纳管计费模式为“包年包月”的节点时,无法在CCE控制台为其续费,用户需前往ECS控制台单独续费。
- 由于ECS(节点)等CCE依赖的底层资源存在产品配额及库存限制,创建集群、扩容集群或者自动弹性扩容时,可能只有部分节点创建成功。
- ECS(节点)规格要求:CPU ≥ 2核且内存 ≥ 4GB。
- 通过搭建VPN方式访问CCE集群,需要注意VPN网络和集群所在的VPC网段、容器使用网段不能冲突。
网络限制
- 节点访问(NodePort)的使用约束:默认为VPC内网访问,如果需要通过公网访问该服务,请提前在集群的节点上绑定弹性IP。
- 针对Service关联使用的ELB实例,存在如下约束:
- 根据Service配置自动创建的ELB实例,请勿被其它资源关联使用,否则删除Service时无法联动清理ELB实例,会出现资源残留情况。
- v1.15及之前版本集群请勿修改ELB实例监听器名称,否则可能出现访问ELB异常的问题。
- 网络策略支持的集群对比:
集群类型
CCE Standard集群
CCE Standard集群
CCE Turbo集群
网络模型
容器隧道网络模型
VPC网络模型
云原生网络2.0模型
NetworkPolicy能力是否默认开启
默认开启
默认关闭,如需使用NetworkPolicy能力需在创建集群时开启DataPlane V2
默认关闭,如需使用NetworkPolicy能力需在创建集群时开启DataPlane V2
数据面实现
openvswitch
eBPF
eBPF
入规则支持的集群版本
所有版本
v1.27.16-r30、v1.28.15-r20、v1.29.13-r0、v1.30.10-r0、v1.31.6-r0及以上集群版本
v1.27.16-r10、v1.28.15-r0、v1.29.10-r0、 v1.30.6-r0及以上集群版本
出规则支持的集群版本
v1.23及以上集群版本
入规则支持的选择方式
namespaceSelector
podSelector
namespaceSelector
podSelector
ipBlock
namespaceSelector
podSelector
ipBlock
出规则支持的选择方式
namespaceSelector
podSelector
ipBlock
支持的操作系统
EulerOS
CentOS
Huawei Cloud EulerOS 2.0
支持Huawei Cloud EulerOS 2.0操作系统。
v1.28.15-r70、v1.29.15-r30、v1.30.14-r30、v1.31.10-r30、v1.32.6-r30、v1.33.5-r20、v1.34.1-r0及以上版本的集群额外支持使用Ubuntu 22.04操作系统。
支持Huawei Cloud EulerOS 2.0操作系统。
v1.28.15-r70、v1.29.15-r30、v1.30.14-r30、v1.31.10-r30、v1.32.6-r30、v1.33.5-r20、v1.34.1-r0及以上版本的集群额外支持使用Ubuntu 22.04操作系统。
是否支持IPv6网络策略
不支持
不支持
支持
是否支持安全容器
不支持
不支持
不支持
ipBlock限制范围
无约束
不支持配置容器网段、服务网段内的网段以及节点IP
不支持配置容器网段、服务网段内的网段以及节点IP
是否支持通过工作负载的标签限制ClusterIP的访问
不支持
支持
支持
是否支持限制100.125.0.0/16内部云服务网段
支持
支持
不支持
是否支持SCTP协议
不支持
支持
不支持
总是放通节点访问该节点上的Pod
支持
支持
支持
是否支持NetworkPolicy中EndPort配置
不支持
支持
不支持
- CCE Turbo集群使用DataPlane V2特性由CCE受限开放,使用前请提交工单给CCE服务进行申请。
- NetworkPolicy暂不支持安全容器(容器运行时为Kata)。
- 容器隧道网络的CCE Standard集群中,通过原地升级到支持Egress的集群版本,由于不会升级节点操作系统,会导致无法使用Egress,此种情况下请重置节点。
- 容器隧道网络集群开启NetworkPolicy后,Pod访问服务网段地址时,会在IP数据报文的可选字段里填充Pod源IP,以便目的端Pod上的NetworkPolicy规则可以基于Pod源IP进行网络策略限制。
存储卷限制
- 云硬盘存储卷使用约束:
- 文件存储卷使用约束:
- 支持多个PV挂载同一个SFS或SFS Turbo,但有如下限制:
- 多个不同的PVC/PV使用同一个底层SFS或SFS Turbo卷时,如果挂载至同一Pod使用,会因为PV的volumeHandle参数值相同导致无法为Pod挂载所有PVC,出现Pod无法启动的问题,请避免在同一个Pod中挂载相同的SFS或SFS Turbo。
- PV中persistentVolumeReclaimPolicy参数建议设置为Retain,否则可能存在一个PV删除时级联删除底层卷,其他关联这个底层卷的PV会由于底层存储被删除导致使用出现异常。
- 重复用底层存储时,建议在应用层做好多读多写的隔离保护,防止产生的数据覆盖和丢失。
- 使用通用文件系统(原SFS 3.0 容量型)存储卷时,集群中需要安装2.0.9及以上版本的CCE容器存储(Everest)插件。
- 使用通用文件系统(原SFS 3.0 容量型)存储卷时,挂载点不支持修改属组和权限,挂载点默认属主为root。
- 使用通用文件系统(原SFS 3.0 容量型)时,创建、删除PVC和PV过程中可能存在时延,实际计费时长请以SFS侧创建、删除时刻为准。
- CCE容器存储(Everest)插件版本在2.4.105以下,或区域为华南-广州时,若通用文件系统(原SFS 3.0 容量型)需要使用Delete回收策略,建议先删除文件系统内文件,否则可能会导致对应PV和PVC删除失败。插件版本在2.4.105及以上,且区域非华南-广州时,无该限制。
- 支持多个PV挂载同一个SFS或SFS Turbo,但有如下限制:
- 对象存储卷使用约束如下:
- 使用对象存储时,挂载点不支持修改属组和权限。
- 使用PVC挂载对象存储时,负载每挂载一个对象存储卷,后端会产生一个常驻进程。当负载使用对象存储数过多或大量读写对象存储文件时,常驻进程会占用大量内存,为保证负载稳定运行,建议负载使用的对象存储卷数量不超过其申请的内存GiB数量,如负载的申请的内存规格为4GiB,则建议其使用的对象存储数不超过4。
- 安全容器不支持使用对象存储。
- 挂载普通桶时不支持硬链接(Hard Link)。
- 在工作负载中挂载OBS存储卷声明时,不支持只读模式(readonly)。
- 本地持久卷使用约束:
- 本地持久卷仅在集群版本 >= v1.21.2-r0 时支持,且需要everest插件版本>=2.1.23。
- 移除节点、删除节点、重置节点和缩容节点会导致与节点关联的本地持久存储卷类型的PVC/PV数据丢失,无法恢复,且PVC/PV无法再正常使用。移除节点、删除节点、重置节点和缩容节点时使用了本地持久存储卷的Pod会从待删除、重置的节点上驱逐,并重新创建Pod,Pod会一直处于pending状态,因为Pod使用的PVC带有节点标签,由于冲突无法调度成功。节点重置完成后,Pod可能调度到重置好的节点上,此时Pod会一直处于creating状态,因为该PVC对应的底层逻辑卷已不存在。
- 请勿在节点上手动删除对应的存储池或卸载数据盘,否则会导致数据丢失等异常情况。
- 本地持久卷不支持被多个工作负载或多个任务同时挂载。
- 本地临时卷使用约束:
- 本地临时卷仅在集群版本 >= v1.21.2-r0 时支持,且需要everest插件版本>=1.2.29。
- 请勿在节点上手动删除对应的存储池或卸载数据盘,否则会导致数据丢失等异常情况。
- 请确保节点上Pod不要挂载/var/lib/kubelet/pods/目录,否则可能会导致使用了临时存储卷的Pod无法正常删除。
- 快照与备份使用约束:
- 快照功能仅支持v1.15及以上版本的集群,且需要安装基于CSI的everest插件才可以使用。
- 基于快照创建的云硬盘,其子类型(普通IO/高IO/超高IO)、是否加密、磁盘模式(VBD/SCSI)、共享性(非共享/共享)、容量等都要与快照关联磁盘保持一致,这些属性查询和设置出来后不能够修改。
- 只有可用或正在使用状态的磁盘能创建快照,且单个磁盘最大支持创建7个快照。
- 创建快照功能仅支持使用everest插件提供的存储类(StorageClass名称以csi开头)创建的PVC。使用Flexvolume存储类(StorageClass名为ssd、sas、sata)创建的PVC,无法创建快照。
- 加密磁盘的快照数据以加密方式存放,非加密磁盘的快照数据以非加密方式存放。
- LVM 配置约束:
节点中LVM的backup功能已修改默认配置(位于/etc/lvm/lvm.conf路径):安装存储插件Everest(>= 2.4.98)后,Archive保留时间会被约束为1天,以防止大量LVM操作的历史元数据侵占磁盘空间。
插件限制
CCE插件采用Helm模板方式部署,修改或升级插件请从插件配置页面或开放的插件管理API进行操作。请勿直接后台修改插件相关资源,以免插件异常或引入其他非预期问题(例如升级后参数配置被覆盖等)。
CCE集群配额限制
针对每个用户,云容器引擎的集群在每个地域分配了固定配额。
|
限制项 |
普通用户限制 |
例外 |
|---|---|---|
|
单Region下集群总数 |
50 |
请提交工单申请扩大配额。 |
|
单集群最大节点数(集群管理规模) |
可选择50节点、200节点、1000节点或2000节点多种管理规模。 |
如果已有规模无法满足您的需求,您可以提交工单申请扩大集群管理规模,最大支持10000节点。 |
|
单节点最大实例数 |
256
说明:
CCE Turbo集群中,节点最大实例数由节点可使用的网卡数量决定。 |
如果您期望提升节点上的部署密度,您可以提交工单申请调整节点最大实例数,最大支持修改至512个实例。 |
|
单个集群管理的最大Pod数 |
10万Pod |
如果当前支持的Pod数量无法满足您的需求,您可以提交工单申请技术支持,帮助您基于业务模型调优集群。 |
集群容量限制
集群规格容量由多种资源共同构成,例如容器组(Pod)、云存储实例(Persistent volume)、服务(Service)等,同时资源对象的大小也会影响集群规格容量。
例如:
- 当Pod对象资源过大时,在一定的规格性能范围内Pod数量上限将相应降低。
- 当Pod数量趋于上限时,集群内其他类型资源上限也将相应降低。
在实际使用环境中,由于集群中多种资源共存,单一的类型资源可能无法达到上限值。因此,您可以通过监控及时查看集群相关使用率,对集群进行适当的规划和管理,以确保所有资源的性能都能够得到最大化的利用。如果当前规格无法满足您的使用需求,可以通过扩容来保证集群的稳定性。
依赖底层云产品配额限制
|
限制大类 |
限制项 |
普通用户限制 |
|---|---|---|
|
计算 |
实例数 |
1000 |
|
核心数 |
8000核 |
|
|
RAM容量 (MB) |
16384000 |
|
|
网络 |
一个用户创建虚拟私有云的数量 |
5 |
|
一个用户创建子网的数量 |
100 |
|
|
一个用户拥有的安全组数量 |
100 |
|
|
一个用户拥有的安全组规则数量 |
5000 |
|
|
一个路由表里拥有的路由数量 |
100 |
|
|
一个虚拟私有云拥有路由数量 |
100 |
|
|
一个区域下的对等连接数量 |
50 |
|
|
一个用户拥有网络ACL数量 |
200 |
|
|
一个用户创建二层连接网关的数量 |
5 |
|
|
负载均衡 |
弹性负载均衡 |
50 |
|
弹性负载均衡监听器 |
100 |
|
|
弹性负载均衡证书 |
120 |
|
|
弹性负载均衡转发策略 |
500 |
|
|
弹性负载均衡后端主机组 |
500 |
|
|
弹性负载均衡后端服务器 |
500 |