集群访问配置
访问方式
- kubectl:您需要先下载kubectl以及kubeconfig配置文件,完成配置后,即可以使用kubectl访问Kubernetes集群。详情请参见通过kubectl连接集群。
- 公网地址:为Kubernetes集群的API Server绑定弹性公网IP。配置完成后,集群API Server将具有公网访问能力。如果无可用IP,可单击“创建弹性公网IP”进行创建,关于创建EIP的详细参数说明请参见获取EIP。
- 绑定弹性公网IP后,集群存在公网访问风险,建议为控制节点安全组加固5443端口的入方向规则。详情请参见如何配置集群的访问策略。
- 此操作将会短暂重启 kube-apiserver 并更新集群访问证书(kubeconfig),请避免在此期间操作集群。
- 自定义 SAN:主题备用名称(SAN)允许将多种值(包括IP地址、域名等)与证书关联,在集群访问证书中签入自定义SAN后,可以通过SAN定义的域名或IP访问集群。详情请参见通过自定义域名访问集群。
此操作将会短暂重启 kube-apiserver 并更新集群访问证书(kubeconfig),请避免在此期间操作集群。
认证鉴权
- 证书认证
CCE支持下载X509证书,证书中包含client.key、client.crt、ca.crt三个文件,请妥善保管您的证书,不要泄露。
如需使用证书访问集群,请参考通过X509证书连接集群。
CCE支持吊销X509证书。如需吊销集群访问凭证,请参考吊销集群访问凭证。
- 启用OIDC:
CCE支持接入OIDC(OpenID Connect)身份认证,您可以配置身份认证所需的信息获取访问令牌并添加到kubectl。操作详情请参见在CCE中使用Dex进行OIDC身份验证。
参数
说明
示例
发布者URL (oidc-issuer-url)
提供OpenID Connect认证服务的URL,必须是HTTPS协议。
https://dex.k8s.example.com
客户端ID (oidc-client-id)
OpenID Connect认证服务中注册的客户端ID,例如步骤二中注册的客户端ID为kubernetes。
kubernetes
注册用户名 (oidc-username-claim)
指定JWT令牌中的字段,获取该字段的值作为用户名。默认值为sub,这通常是最终用户的唯一标识符,您也可以选择其他字段,如email或name。
后续可以在集群中根据用户名授予Kubernetes权限,参见步骤六:为第三方用户授予Kubernetes权限。
email
该参数值设置为email,表示将JWT中email字段的值,即电子邮件地址作为用户名。
注册组 (oidc-groups-claim)
指定JWT令牌中的字段,获取该字段的值作为用户组,表示用户组的字段名称通常为groups。后续可以根据用户组授予Kubernetes权限,参见步骤六:为第三方用户授予Kubernetes权限。
groups
该参数值设置为groups,表示将JWT中groups字段的值作为用户组。
认证CA证书 (oidc-ca-pem)
PEM格式的CA证书,用于签署身份提供商的Web证书。
步骤一中Dex域名的CA证书
用户名前缀(oidc-username-prefix)
用作注册用户名前缀,防止与现有名称(例如system:用户)发生冲突,无需填写“:”。例如,填写oidc时,会生成oidc:的前缀,将创建类似oidc:foo和oidc:bar的用户名。
- 若填写,所有用户名都将以该值为前缀。
- 若未填写,则“电子邮件”以外的用户名声明将以发布者URL为前缀,以避免冲突。
oidc
用户组前缀(oidc-groups-prefix)
用作注册用户组前缀,防止与现有名称(例如system:组)发生冲突,无需填写“:”。例如,填写oidc时,会生成oidc:的前缀,将创建类似oidc:engineering和oidc:infra的组名。
oidc
键值对声明注册(oidc-required-claim)
描述ID令牌中必须声明的键值对。若未提供或值不匹配,认证将失败。
key:value
服务端请求处理配置
名称 |
参数 |
说明 |
取值 |
---|---|---|---|
修改类API请求最大并发数 |
max-mutating-requests-inflight |
修改类请求的最大并发数。 当服务器收到的请求数超过此值时,它会拒绝请求。 0表示无限制。该参数与集群规模相关,不建议修改。 |
从v1.21版本开始不再支持手动配置,根据集群规格自动配置如下:
|
非修改类API请求最大并发数 |
max-requests-inflight |
非修改类请求的最大并发数。 当服务器收到的请求数超过此值时,它会拒绝请求。 0表示无限制。该参数与集群规模相关,不建议修改。 |
从v1.21版本开始不再支持手动配置,根据集群规格自动配置如下:
|
请求超时时间 |
request-timeout |
kube-apiserver组件的默认请求超时时间,请谨慎修改此参数,确保取值合理性,以避免频繁出现接口超时或其他异常。 该参数仅v1.19.16-r30、v1.21.10-r10、v1.23.8-r10、v1.25.3-r10及以上版本集群支持。 |
默认: 1m0s 取值范围: min>=1s max<=1h |
开启过载防护 |
support-overload |
集群过载控制开关,开启后将根据控制节点的资源压力,动态调整请求并发量,维护控制节点和集群的可靠性。详情请参见开启集群过载控制。 该参数仅v1.23及以上版本集群支持。
说明:
开启过载防护功能不意味着绝对不会过载,极端场景如短时内请求量急剧冲高超出过载调整反应速度时,仍可能有过载现象出现,建议您针对集群访问行为进行主动管控,避免此类极端场景。 |
- |