14.4. 为 control plane 配置 TLS 安全配置集
要为 control plane 配置 TLS 安全配置集,请编辑 APIServer 自定义资源(CR)来指定预定义或自定义 TLS 安全配置集。在 APIServer CR 中设置 TLS 安全配置集将设置传播到以下 control plane 组件:
- Kubernetes API 服务器
- Kubernetes 控制器管理器
- Kubernetes 调度程序
- OpenShift API 服务器
- OpenShift OAuth API 服务器
- OpenShift OAuth 服务器
- etcd
- Machine Config Operator
- 机器配置服务器
如果没有配置 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 版本。
先决条件
-
您可以使用具有
cluster-admin角色的用户访问集群。
流程
编辑默认
APIServerCR 以配置 TLS 安全配置集:$ oc edit APIServer cluster添加
spec.tlsSecurityProfile字段:Custom配置集的APIServerCR 示例apiVersion: config.openshift.io/v1 kind: APIServer metadata: name: cluster spec: tlsSecurityProfile: type: Custom1 custom:2 ciphers:3 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11- 保存文件以使改变生效。
验证
验证
APIServerCR 中是否设置了 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 ...验证 TLS 安全配置集是否在
etcdCR 中设置:$ oc describe etcd cluster输出示例
Name: cluster Namespace: ... API Version: operator.openshift.io/v1 Kind: Etcd ... Spec: Log Level: Normal Management State: Managed Observed Config: Serving Info: Cipher Suites: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 Min TLS Version: VersionTLS12 ...验证 TLS 安全配置集是否在 Machine Config Server pod 中设置:
$ oc logs machine-config-server-5msdv -n openshift-machine-config-operator输出示例
# ... I0905 13:48:36.968688 1 start.go:51] Launching server with tls min version: VersionTLS12 & cipher suites [TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256] # ...