apiVersion: v1
kind: ConfigMap
metadata:
name: user-ca-bundle
namespace: openshift-config
data:
ca-bundle.crt: |
-----BEGIN CERTIFICATE-----
Custom CA certificate bundle.
-----END CERTIFICATE-----
代理证书允许用户指定平台组件在进行出站连接时使用的自定义证书颁发机构 (CA) 证书。
Proxy 对象的trustedCA
字段引用包含用户提供的受信任证书颁发机构 (CA) 捆绑包的配置映射。此捆绑包与 Red Hat Enterprise Linux CoreOS (RHCOS) 信任捆绑包合并,并注入到进行出站 HTTPS 调用的平台组件的信任存储中。例如,image-registry-operator
调用外部镜像注册表来下载镜像。如果未指定trustedCA
,则仅对代理 HTTPS 连接使用 RHCOS 信任捆绑包。如果您想使用自己的证书基础架构,请向 RHCOS 信任捆绑包提供自定义 CA 证书。
trustedCA
字段应仅由代理验证器使用。验证器负责从必需的密钥ca-bundle.crt
读取证书捆绑包,并将其复制到openshift-config-managed
命名空间中名为trusted-ca-bundle
的配置映射。trustedCA
引用的配置映射的命名空间为openshift-config
apiVersion: v1
kind: ConfigMap
metadata:
name: user-ca-bundle
namespace: openshift-config
data:
ca-bundle.crt: |
-----BEGIN CERTIFICATE-----
Custom CA certificate bundle.
-----END CERTIFICATE-----
安装程序配置的additionalTrustBundle
值用于在安装期间指定任何代理信任的 CA 证书。例如
$ cat install-config.yaml
...
proxy:
httpProxy: http://<username:[email protected]:123/>
httpsProxy: http://<username:[email protected]:123/>
noProxy: <123.example.com,10.88.0.0/16>
additionalTrustBundle: |
-----BEGIN CERTIFICATE-----
<MY_HTTPS_PROXY_TRUSTED_CA_CERT>
-----END CERTIFICATE-----
...
用户提供的信任捆绑包表示为配置映射。配置映射被挂载到进行出站 HTTPS 调用的平台组件的文件系统中。通常,运算符会将配置映射挂载到/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
,但这并非代理所必需的。代理可以修改或检查 HTTPS 连接。在这两种情况下,代理都必须为连接生成并签名新的证书。
完整的代理支持意味着连接到指定的代理并信任它生成的任何签名。因此,有必要让用户指定一个受信任的根,以便连接到该受信任根的任何证书链也受信任。
如果您使用 RHCOS 信任捆绑包,请将 CA 证书放在/etc/pki/ca-trust/source/anchors
中。有关更多信息,请参阅 Red Hat Enterprise Linux (RHEL) 的《保护网络》文档中的使用共享系统证书。
用户设置用户提供的信任捆绑包的过期期限。
默认过期期限由 CA 证书本身定义。在 CA 证书可被 OpenShift Container Platform 或 RHCOS 使用之前,CA 管理员有责任为此证书配置此期限。
Red Hat 不会监控 CA 过期的时间。但是,由于 CA 的生命周期很长,这通常不是问题。但是,您可能需要定期更新信任捆绑包。 |
默认情况下,所有进行出站 HTTPS 调用的平台组件都将使用 RHCOS 信任捆绑包。如果定义了trustedCA
,它也将被使用。
在 RHCOS 节点上运行的任何服务都可以使用该节点的信任捆绑包。
更新用户提供的信任捆绑包包括:
更新trustedCA
引用的配置映射中 PEM 编码的证书,或者
在openshift-config
命名空间中创建一个包含新信任捆绑包的配置映射,并将trustedCA
更新为引用新配置映射的名称。
将 CA 证书写入 RHCOS 信任捆绑包的机制与将任何其他文件写入 RHCOS 的机制完全相同,这通过使用机器配置来完成。当机器配置运算符 (MCO) 应用包含新 CA 证书的新机器配置时,它随后会运行程序update-ca-trust
并重新启动 RHCOS 节点上的 CRI-O 服务。此更新不需要重新启动节点。重新启动 CRI-O 服务会自动使用新的 CA 证书更新信任捆绑包。例如
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
labels:
machineconfiguration.openshift.io/role: worker
name: 50-examplecorp-ca-cert
spec:
config:
ignition:
version: 3.1.0
storage:
files:
- contents:
source: data:text/plain;charset=utf-8;base64,LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVORENDQXh5Z0F3SUJBZ0lKQU51bkkwRDY2MmNuTUEwR0NTcUdTSWIzRFFFQkN3VUFNSUdsTVFzd0NRWUQKV1FRR0V3SlZVekVYTUJVR0ExVUVDQXdPVG05eWRHZ2dRMkZ5YjJ4cGJtRXhFREFPQmdOVkJBY01CMUpoYkdWcApBMmd4RmpBVUJnTlZCQW9NRFZKbFpDQklZWFFzSUVsdVl5NHhFekFSQmdOVkJBc01DbEpsWkNCSVlYUWdTVlF4Ckh6QVpCZ05WQkFNTUVsSmxaQ0JJWVhRZ1NWUWdVbTl2ZENCRFFURWhNQjhHQ1NxR1NJYjNEUUVKQVJZU2FXNW0KWGpDQnBURUxNQWtHQTFVRUJoTUNWVk14RnpBVkJnTlZCQWdNRGs1dmNuUm9JRU5oY205c2FXNWhNUkF3RGdZRApXUVFIREFkU1lXeGxhV2RvTVJZd0ZBWURWUVFLREExU1pXUWdTR0YwTENCSmJtTXVNUk13RVFZRFZRUUxEQXBTCkFXUWdTR0YwSUVsVU1Sc3dHUVlEVlFRRERCSlNaV1FnU0dGMElFbFVJRkp2YjNRZ1EwRXhJVEFmQmdrcWhraUcKMHcwQkNRRVdFbWx1Wm05elpXTkFjbVZrYUdGMExtTnZiVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUApCRENDQVFvQ2dnRUJBTFF0OU9KUWg2R0M1TFQxZzgwcU5oMHU1MEJRNHNaL3laOGFFVHh0KzVsblBWWDZNSEt6CmQvaTdsRHFUZlRjZkxMMm55VUJkMmZRRGsxQjBmeHJza2hHSUlaM2lmUDFQczRsdFRrdjhoUlNvYjNWdE5xU28KSHhrS2Z2RDJQS2pUUHhEUFdZeXJ1eTlpckxaaW9NZmZpM2kvZ0N1dDBaV3RBeU8zTVZINXFXRi9lbkt3Z1BFUwpZOXBvK1RkQ3ZSQi9SVU9iQmFNNzYxRWNyTFNNMUdxSE51ZVNmcW5obzNBakxRNmRCblBXbG82MzhabTFWZWJLCkNFTHloa0xXTVNGa0t3RG1uZTBqUTAyWTRnMDc1dkNLdkNzQ0F3RUFBYU5qTUdFd0hRWURWUjBPQkJZRUZIN1IKNXlDK1VlaElJUGV1TDhacXczUHpiZ2NaTUI4R0ExVWRJd1FZTUJhQUZIN1I0eUMrVWVoSUlQZXVMOFpxdzNQegpjZ2NaTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnR0dNQTBHQ1NxR1NJYjNEUUVCCkR3VUFBNElCQVFCRE52RDJWbTlzQTVBOUFsT0pSOCtlbjVYejloWGN4SkI1cGh4Y1pROGpGb0cwNFZzaHZkMGUKTUVuVXJNY2ZGZ0laNG5qTUtUUUNNNFpGVVBBaWV5THg0ZjUySHVEb3BwM2U1SnlJTWZXK0tGY05JcEt3Q3NhawpwU29LdElVT3NVSks3cUJWWnhjckl5ZVFWMnFjWU9lWmh0UzV3QnFJd09BaEZ3bENFVDdaZTU4UUhtUzQ4c2xqCjVlVGtSaml2QWxFeHJGektjbGpDNGF4S1Fsbk92VkF6eitHbTMyVTB4UEJGNEJ5ZVBWeENKVUh3MVRzeVRtZWwKU3hORXA3eUhvWGN3bitmWG5hK3Q1SldoMWd4VVp0eTMKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
mode: 0644
overwrite: true
path: /etc/pki/ca-trust/source/anchors/examplecorp-ca.crt
机器的信任存储还必须支持更新节点的信任存储。