自定义Pro版集群的控制面组件参数

为了满足生产环境调整控制面参数的需求,容器服务 Kubernetes 版提供控制面参数自定义功能。您可以根据需要修改Kube API Server、Kube Controller Manager(KCM)、Cloud Controller Manager(CCM)、Kube Scheduler等核心托管组件的参数。本文介绍如何在容器服务管理控制台自定义控制面参数。

注意事项

  • 为了保证控制面的稳定性,当前仅ACK集群Pro版ACK Serverless集群Pro版ACK Edge集群Pro版ACK灵骏集群支持自定义部分控制面核心组件参数。支持自定义的参数,请参见默认参数列表,具体请以控制台界面为准。

  • 修改参数之后,控制面会重启,建议您选择业务低谷期操作。

  • 修改参数之后,您输入的参数会覆盖原集群提供的默认参数,从而导致默认参数失效。自定义参数配置时,请确保您输入的参数正确且完整,错误参数可能会导致控制面启动失败。关于参数设置的详细信息,请根据集群版本参见Kubernetes官方文档kube-apiserverkube-controller-managerkube-scheduler

自定义控制面组件参数

控制面组件参数修改的步骤类似。下文以修改Kube API Server组件为例,说明如何修改组件参数。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理 > 组件管理

  3. 核心组件区域,找到目标组件,然后单击卡片右下方的配置

  4. Kube API Server 参数配置对话框中,输入您的自定义参数并确保参数完整且正确,然后单击确定

默认参数列表

当您进入组件的参数配置操作之后,组件原有的默认参数会被覆盖。您可以按需选择集群类型,参考以下表格将参数恢复为默认值。

参数在各个版本的默认值相同,集群版本支持自定义的组件版本请以控制台界面为准。

ACK集群Pro版

组件名

参数

参数说明

Kube API Server

EnableAdmissionPlugins

默认为空。

ServiceNodePortRange

可选范围10000~65535,默认为空。

重要

您在修改NodePort端口范围时必须十分谨慎。务必保证NodePort端口范围与集群节点上Linux内核提供的net.ipv4.ip_local_port_range参数的端口范围不冲突。更多信息,请参见如何正确配置NodePort范围?

requestTimeout

默认为空。

defaultNotReadyTolerationSeconds

默认为空。

defaultUnreachableTolerationSeconds

默认为空。

maxMutatingRequestsInflight

可选范围1~1000,默认为空。

maxRequestsInflight

可选范围1~3000,默认为空。

featureGates

可选参数包括ServerSideApplyTTLAfterFinishedEphemeralContainersRemoveSelfLinkHPAScaleToZero,默认为空。

说明

支持在1.18及以上集群中使用HPAScaleToZero,不支持在1.24及以上集群中修改RemoveSelfLink

oidcIssuerURL

默认为空。 支持1.18及以上集群。

重要
  • 配置oidcIssuerURL后,集群中API Server会访问oidcIssuerURL配置项对应的地址,如果您的服务域名为公网域名,请确保集群已开启公网访问能力,具体操作请参见为已有集群开启公网访问能力

  • 如果集群开启公网访问后,API Server仍无法访问oidcIssuerURL配置项中的地址,您可以通过kubectl get endpoints来检查Kubernetes后端的IP数量。

    • 如果IP大于1个,请登录Worker节点尝试访问oidcIssuerURL,并检查公网配置、安全组规则等。

    • 如果只有1个IP,请提交工单处理。

oidcClientId

默认为空。 支持1.18及以上集群。

oidcUsernameClaim

默认值为sub。支持1.18以上集群。

oidcUsernamePrefix

默认为空。 支持1.18及以上集群。

oidcGroupsPrefix

默认为空。 支持1.18及以上集群。

oidcGroupsClaim

默认为空。支持1.18及以上集群。

oidcRequiredClaim

默认为空。支持1.18及以上集群。

oidcCAContent

默认为空。支持1.18及以上集群。

hostAliases

默认为空。支持1.26及以上集群。

Kube Controller Manager

horizontalPodAutoscalerSyncPeriod

默认为空。

horizontalPodAutoscalerTolerance

默认为空。

concurrentTTLAfterFinishedSyncs

默认为空。

concurrentHorizontalPodAutoscalerSyncs

默认为空。支持1.26及以上集群。

largeClusterSizeThreshold

默认为空。

unhealthyZoneThreshold

默认为空。

secondaryNodeEvictionRate

默认为空。

nodeEvictionRate

默认为空。

terminatedPodGCThreshold

默认为空。

kubeAPIQPS

可选范围1~1000,默认为空。

kubeAPIBurst

可选范围1~1000,默认为空。

featureGates

可选参数为TTLAfterFinished,默认为空。

Cloud Controller Manager

routeTableIDs

默认为空。如果VPC内有多个路由表,可以手动设置CCM支持多个路由表ID,以半角逗号(,)分隔,例如vtb-**,vtb***

Kube Scheduler

涉及多个

关于通过Kube Scheduler自定义参数,请参见使用调度器自定义参数

ACK Serverless集群Pro版

组件名

参数

参数说明

Kube API Server

EnableAdmissionPlugins

默认为空。

requestTimeout

默认为空。

defaultNotReadyTolerationSeconds

默认为空。

defaultUnreachableTolerationSeconds

默认为空。

maxMutatingRequestsInflight

可选范围1~1000,默认为空。

maxRequestsInflight

可选范围1~3000,默认为空。

featureGates

可选参数包括ServerSideApplyTTLAfterFinishedEphemeralContainersRemoveSelfLinkHPAScaleToZero,默认为空。

说明

支持在1.18及以上集群中使用HPAScaleToZero,不支持在1.24及以上集群中修改RemoveSelfLink

oidcIssuerURL

默认为空。 支持1.18及以上集群。

oidcClientId

默认为空。 支持1.18及以上集群。

oidcUsernameClaim

默认值为sub。支持1.18以上集群。

oidcUsernamePrefix

默认为空。 支持1.18及以上集群。

oidcGroupsPrefix

默认为空。 支持1.18及以上集群。

oidcGroupsClaim

默认为空。 支持1.18及以上集群。

oidcRequiredClaim

默认为空。 支持1.18及以上集群。

oidcCAContent

默认为空。 支持1.18及以上集群。

Kube Controller Manager

horizontalPodAutoscalerSyncPeriod

默认为空。

horizontalPodAutoscalerTolerance

默认为空。

concurrentTTLAfterFinishedSyncs

默认为空。

kubeAPIQPS

可选范围1~1000,默认为空。

kubeAPIBurst

可选范围1~1000,默认为空。

featureGates

可选参数为TTLAfterFinished,默认为空。

Kube Scheduler

涉及多个。目前白名单开放中。

关于通过Kube Scheduler自定义参数,请参见使用调度器自定义参数

ACK Edge集群Pro版

组件名

参数

参数说明

Kube API Server

EnableAdmissionPlugins

默认为空。

ServiceNodePortRange

可选范围10000~65535,默认为空。

重要

您在修改NodePort端口范围时必须十分谨慎。务必保证NodePort端口范围与集群节点上Linux内核提供的net.ipv4.ip_local_port_range参数的端口范围不冲突。更多信息,请参见如何正确配置NodePort范围?

requestTimeout

默认为空。

defaultNotReadyTolerationSeconds

默认为空。

defaultUnreachableTolerationSeconds

默认为空。

maxMutatingRequestsInflight

可选范围1~1000,默认为空。

maxRequestsInflight

可选范围1~3000,默认为空。

featureGates

可选参数包括ServerSideApplyTTLAfterFinishedEphemeralContainersRemoveSelfLinkHPAScaleToZero,默认为空。

说明

支持在1.18及以上集群中使用HPAScaleToZero,不支持在1.24及以上集群中修改RemoveSelfLink

Kube Controller Manager

horizontalPodAutoscalerSyncPeriod

默认为空。

concurrentTTLAfterFinishedSyncs

默认为空。

largeClusterSizeThreshold

默认为空。

unhealthyZoneThreshold

默认为空。

secondaryNodeEvictionRate

默认为空。

nodeEvictionRate

默认为空。

podEvictionTimeout

默认为空。

kubeAPIQPS

可选范围1~1000,默认为空。

kubeAPIBurst

可选范围1~1000,默认为空。

featureGates

可选参数为TTLAfterFinished,默认为空。

Cloud Controller Manager

routeTableIDs

默认为空。如果VPC内有多个路由表,可以手动设置CCM支持多个路由表ID,以半角逗号(,)分隔,例如vtb-**,vtb***

Kube Scheduler

涉及多个

关于通过Kube Scheduler自定义参数,请参见使用调度器自定义参数

ACK灵骏集群

组件名

参数

参数说明

Kube API Server

EnableAdmissionPlugins

默认为空。

ServiceNodePortRange

可选范围10000~65535,默认为空。

重要

您在修改NodePort端口范围时必须十分谨慎。务必保证NodePort端口范围与集群节点上Linux内核提供的net.ipv4.ip_local_port_range参数的端口范围不冲突。更多信息,请参见如何正确配置NodePort范围?

requestTimeout

默认为空。

defaultNotReadyTolerationSeconds

默认为空。

defaultUnreachableTolerationSeconds

默认为空。

maxMutatingRequestsInflight

可选范围1~1000,默认为空。

maxRequestsInflight

可选范围1~3000,默认为空。

featureGates

可选参数包括ServerSideApplyTTLAfterFinishedEphemeralContainersRemoveSelfLinkHPAScaleToZero,默认为空。

说明

支持在1.18及以上集群中使用HPAScaleToZero,不支持在1.24及以上集群中修改RemoveSelfLink

oidcIssuerURL

默认为空。 支持1.18及以上集群。

oidcClientId

默认为空。 支持1.18及以上集群。

oidcUsernameClaim

默认值为sub。支持1.18以上集群。

oidcUsernamePrefix

默认为空。 支持1.18及以上集群。

oidcGroupsPrefix

默认为空。 支持1.18及以上集群。

oidcGroupsClaim

默认为空。 支持1.18及以上集群。

oidcRequiredClaim

默认为空。 支持1.18及以上集群。

oidcCAContent

默认为空。 支持1.18及以上集群。

Kube Controller Manager

horizontalPodAutoscalerSyncPeriod

默认为空。

horizontalPodAutoscalerTolerance

默认为空。

concurrentTTLAfterFinishedSyncs

默认为空。

largeClusterSizeThreshold

默认为空。

unhealthyZoneThreshold

默认为空。

secondaryNodeEvictionRate

默认为空。

nodeEvictionRate

默认为空。

podEvictionTimeout

默认为空。

kubeAPIQPS

可选范围1~1000,默认为空。

kubeAPIBurst

可选范围1~1000,默认为空。

featureGates

可选参数为TTLAfterFinished,默认为空。

Cloud Controller Manager

routeTableIDs

默认为空。如果VPC内有多个路由表,可以手动设置CCM支持多个路由表ID,以半角逗号(,)分隔,例如vtb-**,vtb***

Kube Scheduler

涉及多个

关于通过Kube Scheduler自定义参数,请参见使用调度器自定义参数