华为云用户手册

  • 指标说明 PVC视图暴露的指标如下: 表1 PVC图表说明 指标名称 单位 说说 PV状态 / PV当前所处的状态 PVC状态 / PVC当前所处的状态 PVC使用量 字节 PVC已使用量及空闲量 PVC使用率 百分比 PVC已使用的空间占比 PVC inodes 个 PVC inodes已使用及空闲量 PVC inodes使用率 百分比 PVC已使用的inodes占比 PVC每小时使用量 字节/秒 PVC每小时平均使用速率 PVC每天使用量 字节/秒 PVC每天的平均使用速率 PVC每周使用量 字节/秒 PVC每周的平均使用速率 一周后PVC使用量 字节 PVC每周的平均使用量
  • 版本记录 表6 v1.28集群配套插件版本记录 插件版本 支持的集群版本 更新特性 社区版本 1.28.51 v1.28 优化节点池资源售罄告警逻辑 1.28.1 1.28.22 v1.28 修复部分问题 1.28.1 1.28.20 v1.28 修复部分问题 1.28.1 1.28.17 v1.28 解决存在自定义控制器类型的Pod时无法缩容的问题 1.28.1 表7 v1.27集群配套插件版本记录 插件版本 支持的集群版本 更新特性 社区版本 1.27.84 v1.27 优化节点池资源售罄告警逻辑 1.27.1 1.27.55 v1.27 修复部分问题 1.27.1 1.27.53 v1.27 修复部分问题 1.27.1 1.27.51 v1.27 修复部分问题 1.27.1 1.27.18 v1.27 修复部分问题 1.27.1 1.27.16 v1.27 伸缩组支持配置节点上下限 1.27.1 1.27.14 v1.27 修复多规格情况下无法缩容和非预期PreferNoSchedule污点问题 1.27.1 1.27.11 v1.27 - 1.27.1 1.27.7 v1.27 适配CCE v1.27集群 优化异构设备(GPU/NPU)识别方法 1.27.1 表8 v1.25集群配套插件版本记录 插件版本 支持的集群版本 更新特性 社区版本 1.25.116 v1.25 优化节点池资源售罄告警逻辑 1.25.0 1.25.88 v1.25 修复部分问题 1.25.0 1.25.86 v1.25 修复部分问题 1.25.0 1.25.84 v1.25 修复部分问题 1.25.0 1.25.50 v1.25 修复部分问题 1.25.0 1.25.48 v1.25 伸缩组支持配置节点上下限 1.25.0 1.25.46 v1.25 修复多规格情况下无法缩容和非预期PreferNoSchedule污点问题 1.25.0 1.25.43 v1.25 - 1.25.0 1.25.39 v1.25 - 1.25.0 1.25.34 v1.25 优化异构设备(GPU/NPU)识别方法 扩容节点数量超过集群规模时,使用集群支持的剩余节点数量进行扩容 1.25.0 1.25.21 v1.25 修复autoscaler伸缩策略least-waste默认未启用的问题 修复节点池扩容失败后无法未切换到其他节点池扩容且插件有重启动作的问题 默认污点容忍时长修改为60s 扩容规则禁用后仍然触发扩容 1.25.0 1.25.11 v1.25 支持插件实例AZ反亲和配置 对创建临时存储卷的POD添加不可调度容忍时间 修复伸缩组资源不足时无法正常修复节点池数量问题 1.25.0 1.25.7 v1.25 适配CCE v1.25集群 修改自定义规格的内存申请与限制 当没有开启弹性伸缩的节点池时上报无法伸缩的事件 修复NPU节点在扩容过程中会再次触发扩容的问题 1.25.0 表9 v1.23集群配套插件版本记录 插件版本 支持的集群版本 更新特性 社区版本 1.23.121 v1.23 优化节点池资源售罄告警逻辑 1.23.0 1.23.95 v1.23 修复部分问题 1.23.0 1.23.93 v1.23 修复部分问题 1.23.0 1.23.91 v1.23 修复部分问题 1.23.0 1.23.57 v1.23 修复部分问题 1.23.0 1.23.56 v1.23 伸缩组支持配置节点上下限 修复配置节点AZ拓扑约束时,节点池弹性扩容后不符合预期问题 1.23.0 1.23.54 v1.23 修复多规格情况下无法缩容和非预期PreferNoSchedule污点问题 1.23.0 1.23.51 v1.23 - 1.23.0 1.23.47 v1.23 优化异构设备(GPU/NPU)识别方法 扩容节点数量超过集群规模时,使用集群支持的剩余节点数量进行扩容 1.23.0 1.23.44 v1.23 优化异构设备(GPU/NPU)识别方法 扩容节点数量超过集群规模时,使用集群支持的剩余节点数量进行扩容 1.23.0 1.23.31 v1.23 修复autoscaler伸缩策略least-waste默认未启用的问题 修复节点池扩容失败后无法未切换到其他节点池扩容且插件有重启动作的问题 默认污点容忍时长修改为60s 扩容规则禁用后仍然触发扩容 1.23.0 1.23.21 v1.23 支持插件实例AZ反亲和配置 对创建临时存储卷的POD添加不可调度容忍时间 修复伸缩组资源不足时无法正常修复节点池数量问题 1.23.0 1.23.17 v1.23 适配NPU和安全容器 节点伸缩策略支持不设置步长 bug修复,自动移除已删除的节点池 设置优先调度 注册EmptyDir调度策略 修复停用节点伸缩策略时,低于缩容阈值的节点未触发缩容的问题 修改自定义规格的内存申请与限制 当没有开启弹性伸缩的节点池时上报无法伸缩的事件 修复NPU节点在扩容过程中会再次触发扩容的问题 1.23.0 1.23.10 v1.23 日志优化 支持缩容等待,等待用户在节点删除前完成数据转储等操作 1.23.0 1.23.9 v1.23 新增nodenetworkconfigs.crd.yangtse.cni资源对象权限。 1.23.0 1.23.8 v1.23 修复周期性扩容场景下,单次扩容数量超过节点池上限,扩容失败问题。 1.23.0 1.23.7 v1.23 支持CCE分布式集群 1.23.0 1.23.3 v1.23 适配CCE v1.23集群 1.23.0 表10 v1.21集群配套插件版本记录 插件版本 支持的集群版本 更新特性 社区版本 1.21.114 v1.21 优化节点池资源售罄告警逻辑 1.21.0 1.21.89 v1.21 修复部分问题 1.21.0 1.21.87 v1.21 修复部分问题 1.21.0 1.21.86 v1.21 修复配置节点AZ拓扑约束时,节点池弹性扩容后不符合预期问题 1.21.0 1.21.54 v1.21 修复部分问题 1.21.0 1.21.53 v1.21 伸缩组支持配置节点上下限 1.21.0 1.21.51 v1.21 修复多规格情况下无法缩容和非预期PreferNoSchedule污点问题 1.21.0 1.21.49 v1.21 - 1.21.0 1.21.45 v1.21 - 1.21.0 1.21.43 v1.21 优化异构设备(GPU/NPU)识别方法 扩容节点数量超过集群规模时,使用集群支持的剩余节点数量进行扩容 1.21.0 1.21.29 v1.21 支持插件实例AZ反亲和配置 对创建临时存储卷的POD添加不可调度容忍时间 修复伸缩组资源不足时无法正常修复节点池数量问题 修复节点池扩容失败后无法未切换到其他节点池扩容且插件有重启动作的问题 默认污点容忍时长修改为60s 扩容规则禁用后仍然触发扩容 1.21.0 1.21.20 v1.21 支持插件实例AZ反亲和配置 对创建临时存储卷的POD添加不可调度容忍时间 修复伸缩组资源不足时无法正常修复节点池数量问题 1.21.0 1.21.16 v1.21 适配NPU和安全容器 节点伸缩策略支持不设置步长 bug修复,自动移除已删除的节点池 设置优先调度 注册EmptyDir调度策略 修复停用节点伸缩策略时,低于缩容阈值的节点未触发缩容的问题 修改自定义规格的内存申请与限制 当没有开启弹性伸缩的节点池时上报无法伸缩的事件 修复NPU节点在扩容过程中会再次触发扩容的问题 1.21.0 1.21.9 v1.21 日志优化 支持缩容等待,等待用户在节点删除前完成数据转储等操作 1.21.0 1.21.8 v1.21 新增nodenetworkconfigs.crd.yangtse.cni资源对象权限 1.21.0 1.21.6 v1.21 修复插件请求重试场景下签名错误导致鉴权失败的问题 1.21.0 1.21.4 v1.21 修复插件请求重试场景下签名错误导致鉴权失败的问题 1.21.0 1.21.2 v1.21 修复未注册节点删除失败可能阻塞弹性伸缩的问题 1.21.0 1.21.1 v1.21 修复在已有的周期弹性伸缩规则里节点池修改不生效的问题。 1.21.0 表11 v1.19集群配套插件版本记录 插件版本 支持的集群版本 更新特性 社区版本 1.19.76 v1.19 优化异构设备(GPU/NPU)识别方法 扩容节点数量超过集群规模时,使用集群支持的剩余节点数量进行扩容 1.19.0 1.19.56 v1.19 修复多规格情况下无法缩容和非预期PreferNoSchedule污点问题 1.19.0 1.19.54 v1.19 - 1.19.0 1.19.50 v1.19 - 1.19.0 1.19.48 v1.19 优化异构设备(GPU/NPU)识别方法 扩容节点数量超过集群规模时,使用集群支持的剩余节点数量进行扩容 1.19.0 1.19.35 v1.19 支持插件实例AZ反亲和配置 对创建临时存储卷的POD添加不可调度容忍时间 修复伸缩组资源不足时无法正常修复节点池数量问题 修复节点池扩容失败后无法未切换到其他节点池扩容且插件有重启动作的问题 默认污点容忍时长修改为60s 扩容规则禁用后仍然触发扩容 1.19.0 1.19.27 v1.19 支持插件实例AZ反亲和配置 对创建临时存储卷的POD添加不可调度容忍时间 修复伸缩组资源不足时无法正常修复节点池数量问题 1.19.0 1.19.22 v1.19 适配NPU和安全容器 节点伸缩策略支持不设置步长 bug修复,自动移除已删除的节点池 设置优先调度 注册EmptyDir调度策略 修复停用节点伸缩策略时,低于缩容阈值的节点未触发缩容的问题 修改自定义规格的内存申请与限制 当没有开启弹性伸缩的节点池时上报无法伸缩的事件 修复NPU节点在扩容过程中会再次触发扩容的问题 1.19.0 1.19.14 v1.19 日志优化 支持缩容等待,等待用户在节点删除前完成数据转储等操作 1.19.0 1.19.13 v1.19 修复周期性扩容场景下,单次扩容数量超过节点池上限,扩容失败问题 1.19.0 1.19.12 v1.19 修复插件请求重试场景下签名错误导致鉴权失败的问题 1.19.0 1.19.11 v1.19 修复插件请求重试场景下签名错误导致鉴权失败的问题 1.19.0 1.19.9 v1.19 修复未注册节点删除失败可能阻塞弹性伸缩的问题 1.19.0 1.19.8 v1.19 修复在已有的周期弹性伸缩规则里节点池修改不生效的问题。 1.19.0 1.19.7 v1.19 插件依赖例行升级。 1.19.0 1.19.6 v1.19 修复污点异步更新场景触发的重复扩容问题。 1.19.0 1.19.3 v1.19 定时策略中能够根据节点总数,CPU,内存限制进行扩缩容。修复其它功能缺陷。 1.19.0 表12 v1.17集群配套插件版本记录 插件版本 支持的集群版本 更新特性 社区版本 1.17.27 v1.17 日志优化 bug修复,自动移除已删除的节点池 设置优先调度 修复刚扩容出的节点打污点会被覆盖的问题 修复停用节点伸缩策略时,低于缩容阈值的节点未触发缩容的问题 修改自定义规格的内存申请与限制 当没有开启弹性伸缩的节点池时上报无法伸缩的事件 1.17.0 1.17.22 v1.17 日志优化 1.17.0 1.17.21 v1.17 修复周期性扩容场景下,单次扩容数量超过节点池上限,扩容失败问题 1.17.0 1.17.19 v1.17 修复插件请求重试场景下签名错误导致鉴权失败的问题 1.17.0 1.17.17 v1.17 修复未注册节点删除失败可能阻塞弹性伸缩的问题 1.17.0 1.17.16 v1.17 修复在已有的周期弹性伸缩规则里节点池修改不生效的问题。 1.17.0 1.17.15 v1.17 资源规格配置单位统一化 1.17.0 1.17.14 v1.17 修复Taints异步更新场景触发的重复扩容问题。 1.17.0 1.17.8 v1.17 Bug修复 1.17.0 1.17.7 v1.17 添加日志内容,Bug修复 1.17.0 1.17.5 v1.17 支持v1.17版本的集群,支持页面显示伸缩事件 1.17.0 1.17.2 v1.17 支持v1.17版本的集群 1.17.0
  • 缩容冷却时间说明 节点池中配置的缩容冷却时间和autoscaler插件中配置的缩容冷却时间之间的影响和关系如下: 节点池配置的缩容冷却时间 弹性缩容冷却时间:当前节点池扩容出的节点多长时间不能被缩容,作用范围为节点池级别。 autoscaler插件配置的缩容冷却时间 扩容后缩容冷却时间:autoscaler触发扩容后(不可调度、指标、周期策略)整个集群多长时间内不能被缩容,作用范围为集群级别。 节点删除后缩容冷却时间:autoscaler触发缩容后整个集群多长时间内不能继续缩容,作用范围为集群级别。 缩容失败后缩容冷却时间:autoscaler触发缩容失败后整个集群多长时间内不能继续缩容,作用范围为集群级别。
  • 插件简介 CCE集群弹性引擎(autoscaler)是Kubernetes中非常重要的一个Controller,它提供了微服务的弹性能力,并且和Serverless密切相关。 弹性伸缩是很好理解的一个概念,当微服务负载高(CPU/内存使用率过高)时水平扩容,增加pod的数量以降低负载,当负载降低时减少pod的数量,减少资源的消耗,通过这种方式使得微服务始终稳定在一个理想的状态。 云容器引擎简化了Kubernetes集群的创建、升级和手动扩缩容,而集群中应用的负载本身是会随着时间动态变化的,为了更好的平衡资源使用率以及性能,Kubernetes引入了autoscaler插件,它可以根据部署的应用所请求的资源量自动伸缩集群中节点数量,详情请了解创建节点弹性策略。 开源社区地址:https://github.com/kubernetes/autoscaler
  • 插件说明 autoscaler可分成扩容和缩容两个方面: 自动扩容 集群的自动扩容有以下两种方式实现: 当集群中的Pod由于工作节点资源不足而无法调度时,会触发集群扩容,扩容节点与所在节点池资源配额一致。 此时需要满足以下条件时才会执行自动扩容: 节点上的资源不足。 Pod的调度配置中不能包含节点亲和的策略(即Pod若已经设置亲和某个节点,则不会自动扩容节点),节点亲和策略设置方法请参见调度策略(亲和与反亲和)。 当集群满足节点伸缩策略时,也会触发集群扩容,详情请参见创建节点弹性策略。 当前该插件使用的是最小浪费策略,即若Pod创建需要3核,此时有4核、8核两种规格,优先创建规格为4核的节点。 自动缩容 当集群节点处于一段时间空闲状态时(默认10min),会触发集群缩容操作(即节点会被自动删除)。当节点存在以下几种状态的Pod时,不可缩容: Pod有设置Pod Disruption Budget(即干扰预算),当移除Pod不满足对应条件时,节点不会缩容。 Pod由于一些限制,如亲和、反亲和等,无法调度到其他节点,节点不会缩容。 Pod拥有cluster-autoscaler.kubernetes.io/safe-to-evict: 'false'这个annotations时,节点不缩容。 节点上存在kube-system命名空间下的Pod(除kube-system命名空间下由DaemonSet创建的Pod),节点不缩容。 节点上如果有非controller(Deployment/ReplicaSet/Job/StatefulSet)创建的Pod,节点不缩容。 当节点符合缩容条件时,Autoscaler将预先给节点打上DeletionCandidateOfClusterAutoscaler污点,限制Pod调度到该节点上。当autoscaler插件被卸载后,如果节点上依然存在该污点请您手动进行删除。
  • 安装插件 登录CCE控制台,单击集群名称进入集群,在左侧导航栏中选择“插件中心”,在右侧找到CCE集群弹性引擎插件,单击“安装”。 在安装插件页面,设置“规格配置”。 表1 规格配置 参数 参数说明 实例数 插件实例的副本数量。 实例数为1时插件不具备高可用能力,当插件实例所在节点异常时可能导致插件功能无法正常使用,请谨慎选择。 容器 请根据集群的规模,合理调整插件实例数和容器CPU/内存配额,详情请参见表2。 表2 插件配额建议 节点数量 实例数 CPU申请值 CPU限制值 内存申请值 内存限制值 50 2 1000m 1000m 1000Mi 1000Mi 200 2 4000m 4000m 2000Mi 2000Mi 1000 2 8000m 8000m 8000Mi 8000Mi 2000 2 8000m 8000m 8000Mi 8000Mi 设置插件支持的“参数配置”。 表3 参数配置 参数 说明 节点总数 集群可管理的节点数目的最大值,扩容时不会让集群下节点数超过此值。 CPU总数(核) 集群中所有节点 CPU 核数之和的最大值,扩容时不会让集群下节点CPU核数之和超过此值。 内存总数(GB) 集群中所有节点内存之和的最大值,扩容时不会让集群下节点内存之和超过此值。 统计节点、CPU和内存总数时,不包括默认节点池中不可用的节点。 设置插件实例的“调度策略”。 调度策略对于DaemonSet类型的插件实例不会生效。 设置多可用区部署或节点亲和策略时,需保证集群中存在满足调度策略的节点且拥有足够的资源,否则插件实例将无法运行。 表4 插件调度配置 参数 参数说明 多可用区部署 优先模式:优先将插件的Deployment实例调度到不同可用区的节点上,如集群下节点不满足多可用区,插件实例将调度到单可用区。 均分模式:插件Deployment实例均匀调度到当前集群下各可用区,增加新的可用区后建议扩容插件实例以实现跨可用区高可用部署;均分模式限制不同可用区间插件实例数相差不超过1,单个可用区资源不足会导致后续其他实例无法调度。 强制模式:插件Deployment实例强制调度到不同可用区的节点上,如集群下节点不满足多可用区,插件实例将无法全部运行。 节点亲和 不配置:插件实例不指定节点亲和调度。 指定节点调度:指定插件实例部署的节点。若不指定,将根据集群默认调度策略进行随机调度。 指定节点池调度:指定插件实例部署的节点池。若不指定,将根据集群默认调度策略进行随机调度。 自定义亲和策略:填写期望插件部署的节点标签实现更灵活的调度策略,若不填写将根据集群默认调度策略进行随机调度。 同时设置多条自定义亲和策略时,需要保证集群中存在同时满足所有亲和策略的节点,否则插件实例将无法运行。 容忍策略 容忍策略与节点的污点能力配合使用,允许(不强制)插件的 Deployment 实例调度到带有与之匹配的污点的节点上,也可用于控制插件的 Deployment 实例所在的节点被标记污点后插件的 Deployment 实例的驱逐策略。 插件会对实例添加针对node.kubernetes.io/not-ready和node.kubernetes.io/unreachable污点的默认容忍策略,容忍时间窗为60s。 详情请参见容忍策略。 配置完成后,单击“安装”。
  • 约束与限制 安装时请确保有足够的资源安装本插件。 该插件功能仅支持通过按需计费方式购买的虚拟机节点,不支持“包年/包月”方式购买的节点和裸金属节点。 默认节点池不支持弹性扩缩容,详情请参见默认节点池DefaultPool说明。 使用autoscaler插件时,部分污点/注解可能会影响弹性伸缩功能,因此集群中应避免使用以下污点/注解: 节点避免使用ignore-taint.cluster-autoscaler.kubernetes.io的污点:该污点作用于节点。由于autoscaler原生支持异常扩容保护策略,会定期评估集群的可用节点比例,非Ready分类节点数统计比例超过45%比例会触发保护机制;而集群中任何存在该污点的节点都将从自动缩放器模板节点中过滤掉,记录到非Ready分类的节点中,进而影响集群的扩缩容。 Pod避免使用cluster-autoscaler.kubernetes.io/enable-ds-eviction的注解:该注解作用于Pod,控制DaemonSet Pod是否可以被autoscaler驱逐。详情请参见Kubernetes原生的标签、注解和污点。
  • 容器引擎版本说明 Docker EulerOS/CentOS:docker-engine 18.9.0,CCE定制的Docker版本,会及时修复安全漏洞。 Ubuntu:docker-ce: 18.9.9,开源社区版本。Ubuntu节点建议使用containerd引擎。 Ubuntu下开源docker-ce在并发exec(如配置了多个exec探针时)可能触发社区bug,建议使用http/tcp的探针。 Containerd:1.6.14
  • AI任务性能增强调度(Volcano调度器支持) 公平调度(DRF) DRF(Dominant Resource Fairness)是主资源公平调度策略,可以支持多种类型资源的公平分配,应用于大批量提交AI训练和大数据作业场景。DRF调度算法优先考虑集群中业务的吞吐量,适用单次AI训练、单次大数据计算以及查询等批处理小业务场景。 启用公平调度(DRF)后,可增强集群业务的吞吐量,提高业务运行性能。详情请参见公平调度(DRF)。 组调度(Gang) Gang调度策略满足了调度过程中的“All or nothing”的调度需求,避免Pod的任意调度导致集群资源的浪费,应用于AI、大数据等多任务协作场景。 启用组调度(Gang)后,可以解决分布式训练任务之间的资源忙等和死锁等痛点问题,大幅度提升整体训练性能。详情请参见组调度(Gang)。
  • 资源利用率优化调度(Volcano调度器支持) 装箱策略(Binpack) 启用该能力后,调度器优先选择具有最多请求资源的节点,减少各节点资源碎片,提高集群整体资源利用率。详情请参见装箱调度(Binpack)。 装箱策略整体权重和内部各资源维度的打分权重设置如表3。 表3 装箱策略权重配置 名称 说明 默认值 装箱调度策略权重 增大该权重值,可提高装箱策略在整体调度中的影响力。 10 CPU权重 增大该权重值,优先提高集群CPU利用率。 1 内存权重 增大该权重值,优先提高集群Memory利用率。 1 自定义资源类型 指定Pod请求的其他自定义资源类型,例如nvidia.com/gpu。增大该权重值,优先提高指定资源的利用率。 - 负载感知调度(Binpack) 负载感知调度通过云原生监控插件(kube-prometheus-stack)获取各节点 CPU、内存的真实负载数据,根据用户指定的周期计算各节点的负载平均值,优先调度任务至真实负载较低的节点,实现节点负载均衡。详情请参见负载感知调度。
  • 异构资源调度(Volcano调度器支持) GPU资源调度 使用该能力时,集群中需要同时安装CCE AI套件(NVIDIA GPU)。启用该能力后,可使用GPU资源运行AI训练作业,调度器提供GPU整卡调度和GPU共享调度能力,提高GPU资源利用率。 NPU资源调度 使用该能力时,集群中需要同时安装CCE AI套件(Ascend NPU)。启用该能力后,可使用使用昇腾NPU资源运行AI训练作业,调度器提供NPU拓扑感知调度能力,提高训练作业执行效率。
  • 业务优先级保障调度 基于优先级调度 基础调度能力,不支持关闭,调度器会优先保障高优先级业务运行,但不会主动驱逐已运行的低优先级业务。详情请参见优先级调度与抢占。 基于优先级抢占调度(Volcano调度器支持) 启用该能力后,集群资源不足时,调度器主动驱逐低优先级业务,保障高优先级业务正常调度。详情请参见优先级调度与抢占。 集群默认调度器设置为Volcano调度器时支持该配置。 基于优先级抢占调度能力与Pod延迟创建能力不可同时开启。
  • 设置集群默认调度器 默认调度器 (default-scheduler) Kubernetes调度器可以发现集群中新创建且尚未被调度到节点上的Pod,并负责将未调度的Pod指派到一个合适的节点上运行。在同一个集群中可以使用多个不同的调度器,kube-scheduler调度器是Kubernetes社区提供的集群默认调度器,CCE同时还支持增强的Volcano调度器,提供了高性能任务调度引擎、高性能异构芯片管理、高性能任务运行管理等通用计算能力。 您可以选择将kube-scheduler调度器和Volcano调度器配合使用,也可以单独使用kube-scheduler调度器或Volcano调度器。 表1 集群默认调度器 调度器名称 说明 调度器配置 kube-scheduler调度器 提供社区原生调度器标准调度能力。 设置kube-scheduler调度器为默认调度器时,如果集群中同时安装Volcano调度器,将默认启用Volcano增强能力,为您提供资源利用率优化、AI任务性能增强、异构资源管理等高级调度能力,提升集群资源利用率,节约使用成本。此时,集群中的普通工作负载调度任务任由kube-scheduler调度器执行,仅部分指定的工作负载由Volcano调度器执行,详情请参见使用Volcano调度工作负载。 kube-scheduler调度器配置: 调度器性能配置 业务优先级保障调度 安装Volcano调度器后的增强配置: 资源利用率优化调度(Volcano调度器支持) AI任务性能增强调度(Volcano调度器支持) 异构资源调度(Volcano调度器支持) Volcano调度器 设置Volcano调度器为默认调度器后,Volcano调度器将替换kube-scheduler调度器,集群中的工作负载任务调度均由Volcano调度器执行。 Volcano兼容kube-scheduler调度能力,并提供增量调度能力。使用该调度器时,请先安装Volcano调度器插件,详情请参见Volcano调度器。 Volcano调度器增强配置: 业务优先级保障调度 资源利用率优化调度(Volcano调度器支持) AI任务性能增强调度(Volcano调度器支持) 异构资源调度(Volcano调度器支持)
  • 调度器性能配置 仅kube-scheduler调度器支持该配置。 表2 调度器性能配置参数说明 名称 参数 说明 取值 调度器访问kube-apiserver的QPS kube-api-qps 与kube-apiserver通信的QPS,即每秒查询率。 集群规格为1000节点以下时,默认值100 集群规格为1000节点及以上时,默认值200 调度器访问kube-apiserver的突发流量上限 kube-api-burst 与kube-apiserver通信的突发流量上限。 集群规格为1000节点以下时,默认值100 集群规格为1000节点及以上时,默认值200
  • 版本记录 表4 Kubernetes Metrics Server插件版本记录 插件版本 支持的集群版本 更新特性 社区版本 1.3.60 v1.21 v1.23 v1.25 v1.27 v1.28 v1.29 适配CCE v1.29集群 0.6.2 1.3.39 v1.21 v1.23 v1.25 v1.27 v1.28 修复部分问题 0.6.2 1.3.37 v1.21 v1.23 v1.25 v1.27 v1.28 适配CCE v1.28集群 0.6.2 1.3.12 v1.19 v1.21 v1.23 v1.25 v1.27 - 0.6.2 1.3.10 v1.19 v1.21 v1.23 v1.25 v1.27 适配CCE v1.27集群 0.6.2 1.3.8 v1.19 v1.21 v1.23 v1.25 插件挂载节点时区 0.6.2 1.3.6 v1.19 v1.21 v1.23 v1.25 支持插件实例AZ反亲和配置 默认污点容忍时长修改为60s 0.6.2 1.3.3 v1.19 v1.21 v1.23 v1.25 适配CCE v1.25集群 CronHPA调整Deployment实例数,新增skip场景 0.6.2 1.3.2 v1.19 v1.21 v1.23 v1.25 适配CCE v1.25集群 0.6.2 1.2.1 v1.19 v1.21 v1.23 适配CCE v1.23集群 0.4.4 1.1.10 v1.15 v1.17 v1.19 v1.21 适配CCE v1.21集群 0.4.4 1.1.4 v1.15 v1.17 v1.19 资源规格配置单位统一化 0.4.4 1.1.2 v1.15 v1.17 v1.19 同步至社区v0.4.4版本 0.4.4 1.1.1 v1.13 v1.15 v1.17 v1.19 支持自定义资源规格配置,最大无效实例数改为1 0.3.7 1.1.0 v1.13 v1.15 v1.17 v1.19 适配CCE v1.19集群 0.3.7 1.0.5 v1.13 v1.15 v1.17 更新至社区v0.3.7版本 0.3.7
  • 安装插件 登录CCE控制台,单击集群名称进入集群,单击左侧导航栏的“插件中心”,在右侧找到Kubernetes Metrics Server插件,单击“安装”。 在安装插件页面,设置“规格配置”。 表1 metrics-server插件规格配置 参数 参数说明 插件规格 该插件可配置“单实例”、“高可用”或“自定义”规格。 实例数 选择上方插件规格后,显示插件中的实例数。 选择“自定义”规格时,您可根据需求调整插件实例数。 实例数为1时插件不具备高可用能力,当插件实例所在节点异常时可能导致插件功能无法正常使用,请谨慎选择。 容器 选择插件规格后,显示插件容器的CPU和内存配额。 选择“自定义”规格时,您可根据需求调整插件实例的容器规格。 设置插件实例的“调度策略”。 调度策略对于DaemonSet类型的插件实例不会生效。 设置多可用区部署或节点亲和策略时,需保证集群中存在满足调度策略的节点且拥有足够的资源,否则插件实例将无法运行。 表2 插件调度配置 参数 参数说明 多可用区部署 优先模式:优先将插件的Deployment实例调度到不同可用区的节点上,如集群下节点不满足多可用区,插件实例将调度到单可用区。 均分模式:插件Deployment实例均匀调度到当前集群下各可用区,增加新的可用区后建议扩容插件实例以实现跨可用区高可用部署;均分模式限制不同可用区间插件实例数相差不超过1,单个可用区资源不足会导致后续其他实例无法调度。 强制模式:插件Deployment实例强制调度到不同可用区的节点上,如集群下节点不满足多可用区,插件实例将无法全部运行。 节点亲和 不配置:插件实例不指定节点亲和调度。 指定节点调度:指定插件实例部署的节点。若不指定,将根据集群默认调度策略进行随机调度。 指定节点池调度:指定插件实例部署的节点池。若不指定,将根据集群默认调度策略进行随机调度。 自定义亲和策略:填写期望插件部署的节点标签实现更灵活的调度策略,若不填写将根据集群默认调度策略进行随机调度。 同时设置多条自定义亲和策略时,需要保证集群中存在同时满足所有亲和策略的节点,否则插件实例将无法运行。 容忍策略 容忍策略与节点的污点能力配合使用,允许(不强制)插件的 Deployment 实例调度到带有与之匹配的污点的节点上,也可用于控制插件的 Deployment 实例所在的节点被标记污点后插件的 Deployment 实例的驱逐策略。 插件会对实例添加针对node.kubernetes.io/not-ready和node.kubernetes.io/unreachable污点的默认容忍策略,容忍时间窗为60s。 详情请参见容忍策略。 单击“安装”。
  • 创建subpath类型SFS Turbo存储卷 subpath模式的卷请勿通过前端进行“扩容”、“解关联”、“删除”等操作。 创建SFS Turbo资源,选择网络时,请选择与集群相同的VPC与子网。 新建一个StorageClass的YAML文件,例如sfsturbo-subpath-sc.yaml。 配置示例: apiVersion: storage.k8s.io/v1 allowVolumeExpansion: true kind: StorageClass metadata: name: sfsturbo-subpath-sc mountOptions: - lock parameters: csi.storage.k8s.io/csi-driver-name: sfsturbo.csi.everest.io csi.storage.k8s.io/fstype: nfs everest.io/share-access-to: 7ca2dba2-1234-1234-1234-626371a8fb3a everest.io/share-expand-type: bandwidth everest.io/share-export-location: 192.168.1.1:/sfsturbo/ everest.io/share-source: sfs-turbo everest.io/share-volume-type: STANDARD everest.io/volume-as: subpath everest.io/volume-id: 0d773f2e-1234-1234-1234-de6a35074696 provisioner: everest-csi-provisioner reclaimPolicy: Delete volumeBindingMode: Immediate 其中: name:storageclass的名称。 mountOptions:选填字段;mount挂载参数。 默认使用如下所示配置,具体请参见设置挂载参数。此处不能配置为nolock=true,会导致挂载失败。 mountOptions: - vers=3 - timeo=600 - nolock - hard everest.io/volume-as:该参数需设置为“subpath”来使用subpath模式。 everest.io/share-access-to:选填字段。subpath模式下,填写SFS Turbo资源的所在VPC的ID。 everest.io/share-expand-type:选填字段。若SFS Turbo资源存储类型为增强版(标准型增强版、性能型增强版),设置为bandwidth。 everest.io/share-export-location:挂载目录配置。由SFS Turbo共享路径和子目录组成,共享路径可至SFS Turbo服务页面查询,子路径由用户自定义,后续指定该StorageClass创建的PVC均位于该子目录下。 everest.io/share-volume-type:选填字段。填写SFS Turbo的类型。标准型为STANDARD,性能型为PERFORMANCE。对于增强型需配合“everest.io/share-expand-type”字段使用,everest.io/share-expand-type设置为“bandwidth”。 everest.io/zone:选填字段。指定SFS Turbo资源所在的可用区。 everest.io/volume-id:SFS Turbo资源的卷ID,可至SFS Turbo界面查询。 执行kubectl create -f sfsturbo-subpath-sc.yaml。 新建一个PVC的YAML文件,sfs-turbo-test.yaml。 配置示例: apiVersion: v1 kind: PersistentVolumeClaim metadata: name: sfs-turbo-test namespace: default spec: accessModes: - ReadWriteMany resources: requests: storage: 50Gi storageClassName: sfsturbo-subpath-sc volumeMode: Filesystem 其中: name: PVC的名称。 storageClassName:SC的名称。 storage:subpath模式下,该参数无实际意义,容量受限于SFS Turbo资源的总容量,若SFS Turbo资源总容量不足,请及时到SFS Turbo界面扩容。 执行kubectl create -f sfs-turbo-test.yaml。 对subpath类型的SFS Turbo扩容时,没有实际的扩容意义。该操作不会对SFS Turbo资源进行实际的扩容,需要用户自行保证SFS Turbo的总容量不被耗尽。
  • 创建Deployment挂载已有数据卷 新建一个Deployment的YAML文件,例如deployment-test.yaml。 配置示例: apiVersion: apps/v1 kind: Deployment metadata: name: test-turbo-subpath-example namespace: default generation: 1 labels: appgroup: '' spec: replicas: 1 selector: matchLabels: app: test-turbo-subpath-example template: metadata: labels: app: test-turbo-subpath-example spec: containers: - image: nginx:latest name: container-0 volumeMounts: - mountPath: /tmp name: pvc-sfs-turbo-example restartPolicy: Always imagePullSecrets: - name: default-secret volumes: - name: pvc-sfs-turbo-example persistentVolumeClaim: claimName: sfs-turbo-test 其中: name:创建的工作负载名称。 image:工作负载的镜像。 mountPath:容器内挂载路径,示例中挂载到“/tmp”路径。 claimName:已有的PVC名称。 创建Deployment负载。 kubectl create -f deployment-test.yaml
  • StatefulSet动态创建subpath模式的数据卷 新建一个StatefulSet的YAML文件,例如statefulset-test.yaml。 配置示例: apiVersion: apps/v1 kind: StatefulSet metadata: name: test-turbo-subpath namespace: default generation: 1 labels: appgroup: '' spec: replicas: 2 selector: matchLabels: app: test-turbo-subpath template: metadata: labels: app: test-turbo-subpath annotations: metrics.alpha.kubernetes.io/custom-endpoints: '[{"api":"","path":"","port":"","names":""}]' pod.alpha.kubernetes.io/initialized: 'true' spec: containers: - name: container-0 image: 'nginx:latest' resources: {} volumeMounts: - name: sfs-turbo-160024548582479676 mountPath: /tmp terminationMessagePath: /dev/termination-log terminationMessagePolicy: File imagePullPolicy: IfNotPresent restartPolicy: Always terminationGracePeriodSeconds: 30 dnsPolicy: ClusterFirst securityContext: {} imagePullSecrets: - name: default-secret affinity: {} schedulerName: default-scheduler volumeClaimTemplates: - metadata: name: sfs-turbo-160024548582479676 namespace: default annotations: {} spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: sfsturbo-subpath-sc serviceName: wwww podManagementPolicy: OrderedReady updateStrategy: type: RollingUpdate revisionHistoryLimit: 10 其中: name:创建的工作负载名称。 image:工作负载的镜像。 mountPath:容器内挂载路径,示例中挂载到“/tmp”路径。 “spec.template.spec.containers.volumeMounts.name ”和 “spec.volumeClaimTemplates.metadata.name”有映射关系,必须保持一致。 storageClassName: 填写自建的SC名称。 创建StatefulSet负载。 kubectl create -f statefulset-test.yaml
  • 指标清单 Kubelet视图使用的指标清单如下: 表2 Kubelet指标说明 指标 类型 说明 storage_operation_errors_total Counter 存储操作期间发生的错误次数 storage_operation_duration_seconds_count Counter 存储操作的操作次数 storage_operation_duration_seconds_bucket Histogram 存储操作的持续时间 kubelet_pod_start_duration_seconds_count Counter 进行过pod start的数量 kubelet_pod_start_duration_seconds_bucket Histogram pod start的耗时分布情况 kubelet_runtime_operations_duration_seconds_bucket Histogram 不同操作的累计操作耗时分布情况 kubelet_runtime_operations_errors_total Counter 不同操作的累计操作失败的数量 kubelet_node_config_error Gauge 如果节点遇到与配置相关的错误,则此指标为true(1),否则为false(0) volume_manager_total_volumes Gauge Volume Manager中的卷数 kubelet_running_containers Gauge 当前运行的Containers数 kubelet_running_pods Gauge 当前运行的pod数 kubelet_node_name Gauge 节点名称,值始终为1 kubelet_runtime_operations_total Counter 运行过程中不同的操作类型的累计操作次数 kubelet_cgroup_manager_duration_seconds_count Counter 销毁和更新的数量 kubelet_cgroup_manager_duration_seconds_bucket Histogram 销毁和更新操作的耗时分布情况 kubelet_pleg_relist_duration_seconds_count Counter PLEG relist pod不同耗时的数量 kubelet_pleg_relist_interval_seconds_bucket Histogram PLEG relist 间隔的分布情况 kubelet_pleg_relist_duration_seconds_bucket Histogram PLEG relist pod耗时的分布情况 rest_client_requests_total Counter 请求apiserver的总次数(按照返回码code和请求类型method统计) rest_client_request_duration_seconds_bucket Histogram 请求apiserver的总次数(按照返回码code和请求类型method统计)的分布情况 process_resident_memory_bytes Gauge 进程驻留内存大小(以字节为单位) process_cpu_seconds_total Counter 进程用户和系统 CPU 总时间(以秒为单位) go_goroutines Gauge 协程数量
  • 文件存储挂载参数 CCE在挂载文件存储时默认设置了如表1所示的参数。 表1 文件存储挂载参数 参数 参数值 描述 keep-original-ownership 无需填写 表示是否保留文件挂载点的ownership。 默认为不添加该参数,此时挂载文件存储时将会默认把挂载点的ownership修改为root:root。 如添加该参数,挂载文件存储时将保持文件系统原有的ownership。 vers 3 文件系统版本,目前只支持NFSv3。取值:3 nolock 无需填写 选择是否使用NLM协议在服务器上锁文件。当选择nolock选项时,锁对于同一主机的应用有效,对不同主机不受锁的影响。 timeo 600 NFS客户端重传请求前的等待时间(单位为0.1秒)。建议值:600。 hard/soft 无需填写 挂载方式类型。 取值为hard,即使用硬连接方式,若NFS请求超时,则客户端一直重新请求直至成功。 取值为soft,即软挂载方式挂载系统,若NFS请求超时,则客户端向调用程序返回错误。 默认为hard。 sharecache/nosharecache 无需填写 设置客户端并发挂载同一文件系统时数据缓存和属性缓存的共享方式。设置为sharecache时,多个挂载共享共享同一缓存。设为nosharecache时,每个挂载各有一个缓存。默认为sharecache。 说明: 设置nosharecache禁用共享缓存会对性能产生一定影响。每次挂载都会重新获取挂载信息,会增加与NFS服务器的通信开销和NFS客户端的内存消耗,同时同客户端设置nosharecache存在cache不一致的风险。因此,应该根据具体情况进行权衡,以确定是否需要使用nosharecache选项。 除了以上参数外,您还可以设置其他的文件存储挂载参数,具体请参见挂载NFS文件系统到云服务器(Linux)。
  • 规格说明 Autopilot会自动规整不支持的规格,向上规整为最接近的vCPU与内存配置,以确保Pod始终拥有运行所需的资源。 表3 Autopilot支持的vCPU与内存组合 vCPU 内存(GiB) 0.25 vCPU 0.5GiB、1GiB、2GiB 0.5 vCPU 1GiB、2GiB、3GiB、4GiB 1 vCPU 2GiB、3GiB、4GiB、5GiB、6GiB、7GiB、8GiB 2 vCPU 4GiB、5GiB、... 、15GiB、16GiB(以 1GiB 为增量) 4 vCPU 8GiB、9GiB、... 、31GiB、32GiB(以 1GiB 为增量) 8 vCPU 8GiB、12GiB、... 、60GiB、64GiB(以 4GiB 为增量) 16 vCPU 16GiB、24GiB、... 、120GiB、128GiB(以 8GiB 为增量) 32 vCPU 32GiB、64GiB、128GiB、256GiB 48 vCPU 96GiB、192GiB、384GiB 64 vCPU 128GiB、256GiB、512GiB
  • 按需计费区域单价 表2 按需计费区域单价 区域 集群管理费用 Pod 华南-广州友好 公测期间免收集群管理费用 CPU:0.000049元/秒/Core 内存:0.00000613元/秒/GiB 西南-贵阳一 公测期间免收集群管理费用 CPU:0.000044元/秒/Core 内存:0.00000552元/秒/GiB 华南-广州 公测期间免收集群管理费用 CPU:0.000049元/秒/Core 内存:0.00000613元/秒/GiB 华东-上海一 公测期间免收集群管理费用 CPU:0.000049元/秒/Core 内存:0.00000613元/秒/GiB
  • 指标说明 Prometheus Agent视图暴露的指标如下: 表1 Prometheus Agent视图说明 视图指标 单位 描述 CPU使用率 百分比 Prometheus Agent Pod CPU平均使用率 内存使用率 百分比 Prometheus Agent Pod 内存平均使用率 远程写Bps 字节/秒 每秒远程写入的字节数 远程写平均耗时 秒 远程写入平均耗时 远程写Pending字节数 字节 远程写入挂起的数据字节数 远程写Packet每秒丢弃次数 次 远程写入每秒丢弃的数据包数 远程写每秒错误请求次数 次 远程写每秒错误请求次数 远程写错误请求百分比 百分比 远程写错误请求百分比 远程写每秒重试次数 次 远程写每秒重试次数 采集Scrapers数量 个 采集Scrapers数量 每秒采集次数 次 每秒采集次数 采集平均耗时 秒 采集平均耗时 每秒采集读取错误次数 次 每秒采集读取错误次数 每秒采集写入错误次数 次 每秒采集写入错误次数 每秒采集大小超限次数 次 每秒采集大小超限次数 发送队列读取Bps 字节/秒 发送队列每秒读的字节数 发送队列写Bps 字节/秒 发送队列每秒写的字节数 发送队列Pending大小 字节 发送队列挂起的数据字节数 每秒Block读取次数 次 发送队列每秒读block的次数 每秒Block写入次数 次 发送队列每秒写block的次数 每秒Block丢弃次数 次 发送队列每秒block丢弃的次数
  • 指标清单 Prometheus Agent视图使用的指标清单如下: 表2 Prometheus Agent指标说明 指标名称 类型 说明 container_cpu_usage_seconds_total Gauge 容器CPU使用量 container_memory_working_set_bytes Gauge 容器工作内存使用量 vmagent_remotewrite_bytes_sent_total Counter Prometheus Agent远程写入字节数发送总计 vmagent_remotewrite_duration_seconds_sum Summary Prometheus Agent远程写入耗时 vmagent_remotewrite_pending_data_bytes Gauge Prometheus Agent远程写入挂起数据字节数 vmagent_remotewrite_packets_dropped_total Counter Prometheus Agent远程写入数据包丢弃总数 vmagent_remotewrite_requests_total Counter Prometheus Agent远程写入请求总数 vmagent_remotewrite_retries_count_total Counter Prometheus Agent远程写入重试次数总数 vm_promscrape_active_scrapers Gauge 采集的分片数量 vm_promscrape_scrapes_total Counter 采集次数 vm_promscrape_scrape_duration_seconds_sum Summary vmagent采集指标的耗时 vm_promscrape_conn_read_errors_total Counter 采集读取错误次数 vm_promscrape_conn_write_errors_total Counter 采集写入错误次数 vm_promscrape_max_scrape_size_exceeded_errors_total Counter 采集大小超过限制的次数 vm_persistentqueue_bytes_read_total Counter 发送队列读取的总字节数 vm_persistentqueue_bytes_written_total Counter 发送队列写入的总字节数 vm_persistentqueue_bytes_pending Gauge 发送队列Pending的字节数 vm_persistentqueue_blocks_read_total Counter 发送队列读block的次数 vm_persistentqueue_blocks_written_total Counter 发送队列写block的次数 vm_persistentqueue_blocks_dropped_total Counter 发送队列block丢弃的次数
  • 高级Rewrite配置 对于一些复杂高级的Rewrite需求,可以通过如下注解来实现,其本质也是修改Nginx的配置文件(nginx.conf),可以实现上面提到的“nginx.ingress.kubernetes.io/rewrite-target”注解的功能,但是自定义程度更高,适合更加复杂的Rewrite需求。 nginx.ingress.kubernetes.io/server-snippet:在nginx.conf的“server”字段中添加自定义配置。 nginx.ingress.kubernetes.io/configuration-snippet:在nginx.conf的“location”字段中添加自定义配置。 snippet配置在NGINX Ingress控制器版本为2.4.6版本及以上时(对应社区版本为v1.9.3)不再默认启用,详情请参见Changelog。如果您仍需要使用snippet配置,可以通过allow-snippet-annotations启用。 通过以上两个注解可以在nginx.conf中的“server”或“location”字段中插入Rewrite指令,完成URL的重写,示例如下: annotations: kubernetes.io/ingress.class: "nginx" nginx.ingress.kubernetes.io/configuration-snippet: | rewrite ^/stylesheets/(.*)$ /something/stylesheets/$1 redirect; # 添加 /something 前缀 rewrite ^/images/(.*)$ /something/images/$1 redirect; # 添加 /something 前缀 如上两条规则在访问URL中添加了“/something”路径,即: 当用户访问rewrite.bar.com/stylesheets/new.css时,重写为rewrite.bar.com/something/stylesheets/new.css 当用户访问rewrite.bar.com/images/new.jpg时,重写为rewrite.bar.com/something/images/new.jpg
  • 极速文件存储介绍 CCE支持将极速文件存储(SFS Turbo)创建的存储卷挂载到容器的某一路径下,以满足数据持久化的需求。极速文件存储具有按需申请,快速供给,弹性扩展,方便灵活等特点,适用于海量小文件业务,例如DevOps、容器微服务、企业办公等应用场景。 SFS Turbo为用户提供一个完全托管的共享文件存储,能够弹性伸缩至320TB规模,具备高可用性和持久性,为海量的小文件、低延迟高IOPS型应用提供有力支持。 符合标准文件协议:用户可以将文件系统挂载给服务器,像使用本地文件目录一样。 数据共享:多台服务器可挂载相同的文件系统,数据可以共享操作和访问。 私有网络:数据访问必须在数据中心内部网络中。 安全隔离:直接使用云上现有IaaS服务构建独享的云文件存储,为租户提供数据隔离保护和IOPS性能保障。 应用场景:适用于多读多写(ReadWriteMany)场景下的各种工作负载(Deployment/StatefulSet)和普通任务(Job)使用,主要面向高性能网站、日志存储、DevOps、企业办公等场景。
  • 集群服务器配置(kube-apiserver) 容器故障迁移默认容忍周期 容器故障迁移默认容忍周期配置默认对集群中所有的容器生效,您也可以为指定Pod进行差异化容忍配置,此时将以Pod配置的容忍时长为准,详情请参见默认容忍策略说明。 请合理设置容忍时间配置,否则可能出现以下问题: 配置过小:在网络抖动等短时故障场景下,容器可能会频繁迁移而影响业务。 配置过大:在节点故障时,容器可能长时间无法迁移,导致业务受损。 表1 容器故障迁移默认容忍周期配置参数说明 名称 参数 说明 取值 容器迁移对节点不可用状态的容忍时间 default-not-ready-toleration-seconds 表示节点处于NotReady状态下的容忍时间。当节点出现异常,变为不可用状态时,容器将在该容忍时间后自动驱逐,默认为300s。 默认:300s 容器迁移对节点无法访问状态的容忍时间 default-unreachable-toleration-seconds 表示节点处于unreachable状态下的容忍时间。当环境出现异常,例如节点无法访问(如节点网络异常)时,容器将在该容忍时间后自动驱逐,默认为300s。 默认:300s 准入控制器插件配置 Kubernetes支持开启一些准入控制插件,可以在集群对Kubernetes API对象(如Pods、Services、Deployments等)进行修改操作前,进行相应的约束与控制。 v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0及以上版本的集群支持该参数。 表2 准入控制器插件配置参数说明 名称 参数 说明 取值 节点限制插件 enable-admission-plugin-node-restriction 节点限制插件限制了节点的 kubelet 只能操作当前节点的对象,增强了在高安全要求或多租户场景下的隔离性。详细信息请参考官方文档。 开启/关闭 Pod节点选择器插件 enable-admission-plugin-pod-node-selector Pod节点选择器插件允许集群管理员通过命名空间注释设置默认节点选择器,帮助约束 Pod 可以运行的节点,并简化配置。 开启/关闭 Pod容忍度限制插件 enable-admission-plugin-pod-toleration-restriction Pod容忍度限制插件允许通过命名空间设置 Pod 的容忍度的默认值和限制,为集群管理者提供了对 Pod 调度的精细控制,以保护关键资源。 开启/关闭
  • 集群控制器配置(kube-controller-manager) 控制器公共配置 控制器性能配置:用于设置控制器访问kube-api-server的性能参数配置。 请合理设置控制器性能配置,否则可能出现以下问题: 配置过小:可能会触发客户端限流,对控制器性能产生影响。 配置过大:可能会导致kube-apiserver过载。 表3 控制器性能配置参数说明 名称 参数 说明 取值 控制器访问kube-apiserver的QPS kube-api-qps 与kube-apiserver通信的QPS,即每秒查询率。 集群规格为1000节点以下时,默认值为100 集群规格为1000节点及以上时,默认值为200 控制器访问kube-apiserver的突发流量上限 kube-api-burst 与kube-apiserver通信的突发流量上限。 集群规格为1000节点以下时,默认值为100 集群规格为1000节点及以上时,默认值为200 资源对象处理并发配置:允许同时同步的资源对象的数量。配置数量越大,管理响应越快,但 CPU(和网络)负载也越高。 请合理设置资源对象处理并发配置,否则可能出现以下问题: 配置过小:可能导致管理器处理响应慢。 配置过大:会对集群管控面造成压力,产生过载风险。 表4 资源对象处理并发配置参数说明 名称 参数 说明 取值 Deployment concurrent-deployment-syncs 可以并发同步的Deployment对象个数。数值越大意味着对Deployment的响应越及时,同时也意味着更大的CPU(和网络带宽)压力。 默认:5 Endpoint concurrent-endpoint-syncs 可以并发同步的Endpoints对象个数。数值越大意味着更新Endpoints越快,同时也意味着更大的CPU(和网络)压力。 默认:5 GC回收 concurrent-gc-syncs 可以并发同步的垃圾收集(Garbage Collector)工作线程个数。 默认:20 Job concurrent-job-syncs 可以并发同步的Job对象个数。较大的数值意味着对Job的响应越及时,不过也意味着更多的CPU(和网络)占用。 默认:5 CronJob concurrent-cron-job-syncs 可以并发同步的CronJob对象个数。较大的数值意味着对CronJob的响应越及时,不过也意味着更多的CPU(和网络)占用。 默认:5 Namespace concurrent-namespace-syncs 可以并发同步的Namespace对象个数。较大的数值意味着对Namespace的响应越及时,不过也意味着更多的CPU(和网络)占用。 默认:10 Replicaset concurrent-replicaset-syncs 可以并发同步的ReplicaSet个数。数值越大,副本管理的响应速度越快,同时也意味着更多的CPU(和网络)占用。 默认:5 ResourceQuota concurrent-resource-quota-syncs 可以并发同步的ResourceQuota对象个数。数值越大,配额管理的响应速度越快,不过对CPU(和网络)的占用也越高。 默认:5 Service concurrent-service-syncs 可以并发同步的Service对象个数。数值越大,服务管理的响应速度越快,不过对CPU(和网络)的占用也越高。 默认:10 ServiceAccountToken concurrent-serviceaccount-token-syncs 可以并发同步的服务账号令牌对象个数。数值越大,令牌生成的速度越快,不过对CPU(和网络)的占用也越高。 默认:5 TTLAfterFinished concurrent-ttl-after-finished-syncs 可以并发同步的ttl-after-finished-controller线程个数。 默认:5 RC concurrent_rc_syncs 可以并发同步的副本控制器对象个数。数值越大,副本管理操作越快,不过对CPU(和网络)的占用也越高。 说明: 该参数仅在v1.19及以下版本集群中使用。 默认:5 RC concurrent-rc-syncs 可以并发同步的副本控制器对象个数。数值越大,副本管理操作越快,不过对CPU(和网络)的占用也越高。 说明: 该参数仅在v1.21至v1.23版本集群中使用。v1.25版本后,该参数弃用(正式弃用版本为v1.25.3-r0)。 默认:5 HPA并发处理数 concurrent-horizontal-pod-autoscaler-syncs 允许并发执行的HPA弹性伸缩数量。 数值越大,HPA弹性伸缩响应越快,不过对CPU(和网络)的占用也越高。 该参数仅v1.27及以上版本集群支持。 默认:5 取值范围为1-50 节点生命周期控制器(node-lifecycle-controller)配置 v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0及以上版本的集群支持该参数。 表5 负载弹性伸缩控制器配置参数说明 名称 参数 说明 取值 可用区亚健康阈值 unhealthy-zone-threshold 当可用区故障节点规模达到指定比例时被认定为不健康,针对不健康的区域,故障节点业务的迁移频率会降级,避免规模故障场景下大规模迁移操作产生更坏的影响。 说明: 比例配置过大可能导致区域在规模故障场景下仍尝试执行大规模迁移动作,导致集群过载等风险。 默认:0.55 节点迁移速率 node-eviction-rate 当某区域健康时,在节点故障的情况下每秒删除Pod的节点数。该值默认设置为0.1,代表每10秒钟内至多从一个节点驱逐Pod。 说明: 结合集群规模合理设置,建议按比例折算后每批迁移Pod数量不超过300。 迁移速率设置过大可能引入集群过载风险,同时每批迁移重调度的Pod过多,大量Pod无法及时调度,影响整体故障恢复时间。 默认:0.1 次级节点迁移速率 secondary-node-eviction-rate 当某区域不健康时,在节点故障的情况下每秒删除Pod的节点数。该值默认设置为0.01,代表每100秒钟内至多从一个节点驱逐Pod。 说明: 配合node-eviction-rate设置,一般建议设置为node-eviction-rate的十分之一。 区域亚健康场景迁移速率设置过大无实际意义,且可能引入集群过载风险。 默认:0.01 大规模集群大小阈值 large-cluster-size-threshold 集群内节点数量大于此参数时,集群被判断为大规模集群。 说明: 在拥有大量节点的集群中,适当增加此阈值可以帮助提高控制器的性能和响应速度。对于规模较小的集群,保持默认值即可。在调整此参数时,建议先在测试环境中验证其对性能的影响,然后再在生产环境中应用。 被视为大型集群时,kube-controller-manager 会进行特定配置调整。这些配置用来优化大规模集群性能。因此阈值如果过低,规模小的集群用上的大集群的配置,反而降低性能。 默认:50 负载弹性伸缩控制器(horizontal-pod-autoscaler-controller)配置 请合理设置负载弹性伸缩控制器配置,否则可能出现以下问题: 配置过小:可能导致控制器处理响应慢。 配置过大:会对集群管控面造成压力,产生过载风险。 表6 负载弹性伸缩控制器配置参数说明 名称 参数 说明 取值 Pod水平伸缩同步的周期 horizontal-pod-autoscaler-sync-period 水平Pod扩缩器对Pod进行弹性伸缩的周期。配置越小弹性伸缩器反应越及时,同时CPU负载也越高。 默认:15s Pod回收控制器(pod-garbage-collector-controller)配置 表7 Pod回收控制器配置参数说明 名称 参数 说明 取值 终止状态Pod触发回收的数量阈值 terminated-pod-gc-threshold 在Pod GC开始删除终止状态(terminated)的Pod之前,系统允许存在终止状态的Pod数量。 说明: 请合理设置该参数,配置过大时,集群中可能存在大量终止状态的Pod,影响相关List查询请求性能,产生集群过载风险。 默认:1000 取值范围为10-12500 资源配额控制器(resource-quota-controller)配置 在高并发场景下(如批量创建Pod),配额管理机制可能导致部分请求因冲突而失败,除非必要不建议启用该功能。如启用,请确保请求客户端具备重试机制。 表8 资源配额控制器配置参数说明 名称 参数 说明 取值 启用资源配额管理 enable-resource-quota 通过配额管理功能,用户可以对命名空间或相关维度下的各类负载(Deployment、Pod等)数量以及资源(CPU、Memory)上限进行控制。命名空间通过ResourceQuota对象进行配额限制。 关闭(false):不自动创建ResourceQuota对象。 开启(true):自动创建ResourceQuota对象。ResourceQuota的默认取值请参见设置资源配额及限制。 默认:关闭(false)
  • 通过逆向数据库导入物理表 通过逆向数据库,您可以从其他数据源中将一个或多个已创建的数据库表导入到物理表目录中,使其变成物理表。 在数据架构控制台,单击左侧导航树中的“关系建模”,进入关系建模页面,选择一个物理表进入。 在物理表的列表上方,单击“逆向数据库”。 在“逆向数据库”对话框中,配置如下参数,然后单击“确定”。 表7 逆向数据库配置 参数名称 说明 *所属主题 在下拉列表中选择所属主题。 *数据连接类型 在下拉列表中将显示逆向数据库支持的数据连接类型,请选择所需要的数据连接类型。 *数据连接 选择数据连接。 如需从其他数据源逆向数据库到物理表目录中,需要先在 DataArts Studio 管理中心创建一个数据连接,以便连接数据源。创建数据连接的操作,请参见管理数据连接。 *数据库 选择数据库。 *Schema 下拉选择Schema。该参数仅DWS和POSTGRESQL模型的表有效。 *队列 DLI 队列。仅当“数据连接类型”选择“DLI”时,该参数有效。 更新已有表 如果从其他数据源逆向过来的表,在物理表中已存在同名的表,选择是否更新已有的物理表。 名称来源 逆向后表名称/字段名称的来源,可以是描述或者是相应英文名,如表/字段未指定描述则固定使用英文名。 来自描述 来自英文名称 *数据表 选择全部或部分需导入的数据表。 图13 逆向配置 逆向数据库的结果会在“上次逆向”页面中显示。如果逆向成功,单击“关闭”。如果逆向失败,您可以查看失败原因,问题解决后,选中失败的表,然后单击“重新逆向”进行重试。 图14 逆向结果
共100000条