约束与限制
本文主要为您介绍云容器引擎(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。
- CCE中的负载均衡(LoadBalancer)访问类型使用弹性负载均衡 ELB提供网络访问,存在如下产品约束:
- 自动创建的ELB实例建议不要被其他资源使用,否则会在删除时被占用,导致资源残留。
- v1.15及之前版本集群使用的ELB实例请不要修改监听器名称,否则可能导致无法正常访问。
- 网络策略支持的集群对比:
集群类型
CCE Standard集群
CCE Turbo集群
网络模型
容器隧道网络模型
云原生网络2.0模型
NetworkPolicy能力是否默认开启
默认开启
默认关闭,如需使用NetworkPolicy能力需在创建集群时开启DataPlane V2
数据面实现
openvswitch
eBPF
入规则支持的集群版本
所有版本
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
支持的操作系统
EulerOS
CentOS
Huawei Cloud EulerOS 2.0
Huawei Cloud EulerOS 2.0
是否支持IPv6网络策略
不支持
支持
是否支持安全容器
不支持
不支持
ipBlock限制范围
无约束
不支持配置容器网段、服务网段内的网段以及节点IP
是否支持通过工作负载的标签限制ClusterIP的访问
不支持
支持
是否支持限制100.125.0.0/16内部云服务网段
支持
不支持
是否支持SCTP协议
不支持
不支持
总是放通节点访问该节点上的Pod
支持
支持
是否支持NetworkPolicy中EndPort配置
不支持
不支持
- 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侧创建、删除时刻为准。
- 通用文件系统(原SFS 3.0 容量型)使用Delete回收策略时,需要挂载文件系统手动删除所有文件后才可以正常删除PV和PVC。
- 支持多个PV挂载同一个SFS或SFS Turbo,但有如下限制:
- 对象存储卷使用约束如下:
- 使用对象存储时,挂载点不支持修改属组和权限。
- 使用PVC挂载对象存储时,负载每挂载一个对象存储卷,后端会产生一个常驻进程。当负载使用对象存储数过多或大量读写对象存储文件时,常驻进程会占用大量内存,为保证负载稳定运行,建议负载使用的对象存储卷数量不超过其申请的内存GiB数量,如负载的申请的内存规格为4GiB,则建议其使用的对象存储数不超过4。
- 安全容器不支持使用对象存储。
- 挂载普通桶时不支持硬链接(Hard Link)。
- 本地持久卷使用约束:
- 本地持久卷仅在集群版本 >= v1.21.2-r0 时支持,且需要everest插件版本>=2.1.23,推荐使用>=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 |