4.4.2. 注入自定义 CA 证书
当集群管理员使用配置映射向集群添加自定义 CA 证书时,Cluster Network Operator 会将用户提供的证书和系统 CA 证书合并为一个捆绑包(bundle)。您可以将这个合并捆绑包注入 Operator Lifecycle Manager (OLM) 上运行的 Operator 中,如果您有一个中间人(man-in-the-middle)HTTPS 代理,这将会有用。
先决条件
-
使用具有
cluster-admin
权限的账户访问 OpenShift Container Platform 集群。 - 使用配置映射添加自定义 CA 证书至集群。
- 在 OLM 上安装并运行所需的 Operator。
流程
在存在 Operator 订阅的命名空间中创建一个空配置映射,并包括以下标签:
apiVersion: v1 kind: ConfigMap metadata: name: trusted-ca 1 labels: config.openshift.io/inject-trusted-cabundle: "true" 2
创建此配置映射后,它会立即使用合并捆绑包的证书内容填充。
更新您的
Subscription
对象,使其包含spec.config
部分,该部分可将trusted-ca
配置映射作为卷挂载到需要自定义 CA 的 pod 中的每个容器:apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: my-operator spec: package: etcd channel: alpha config: 1 selector: matchLabels: <labels_for_pods> 2 volumes: 3 - name: trusted-ca configMap: name: trusted-ca items: - key: ca-bundle.crt 4 path: tls-ca-bundle.pem 5 volumeMounts: 6 - name: trusted-ca mountPath: /etc/pki/ca-trust/extracted/pem readOnly: true