9.4. 为 control plane 配置 TLS 安全配置集
要为 control plane 配置 TLS 安全配置集,请编辑 APIServer
自定义资源(CR)来指定预定义或自定义 TLS 安全配置集。在 APIServer
CR 中设置 TLS 安全配置集将设置传播到以下 control plane 组件:
- Kubernetes API 服务器
- OpenShift API 服务器
- OpenShift OAuth API 服务器
- OpenShift OAuth 服务器
如果没有配置 TLS 安全配置集,则默认 TLS 安全配置集为 Intermediate
。
Ingress Controller 的默认 TLS 安全配置集基于为 API 服务器设置的 TLS 安全配置集。
配置 Old
TLS 安全配置集的 APIServer
CR 示例
apiVersion: config.openshift.io/v1 kind: APIServer ... spec: tlsSecurityProfile: old: {} type: Old ...
TLS 安全配置集定义与 control plane 组件通信的最低 TLS 版本和所需的 TLS 密码。
您可以在 Spec.Tls Security Profile
下的 APIServer
自定义资源(CR)中看到配置的 TLS 安全配置集。对于 Custom
TLS 安全配置集,会列出特定的密码和最小 TLS 版本。
control plane 不支持 TLS 1.3
作为最小 TLS 版本;不支持 Modern
配置集,因为它需要 TLS 1.3
。
先决条件
-
您可以使用具有
cluster-admin
角色的用户访问集群。
流程
编辑默认
APIServer
CR 以配置 TLS 安全配置集:$ oc edit APIServer cluster
添加
spec.tlsSecurityProfile
字段:Custom
配置集的APIServer
CR 示例apiVersion: config.openshift.io/v1 kind: APIServer metadata: name: cluster spec: tlsSecurityProfile: type: Custom 1 custom: 2 ciphers: 3 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11
- 保存文件以使改变生效。
验证
验证
APIServer
CR 中是否设置了 TLS 安全配置集:$ oc describe apiserver cluster
输出示例
Name: cluster Namespace: ... API Version: config.openshift.io/v1 Kind: APIServer ... Spec: Audit: Profile: Default Tls Security Profile: Custom: Ciphers: ECDHE-ECDSA-CHACHA20-POLY1305 ECDHE-RSA-CHACHA20-POLY1305 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-GCM-SHA256 Min TLS Version: VersionTLS11 Type: Custom ...