2.2. 使用公共服务的自定义证书更新 control plane
您可能需要使用自己的内部证书颁发机构(CA)保护公共 API。要将自动生成的路由证书替换为来自您的 CA 的通用证书,您必须创建一个包含额外 CA 证书的 secret,以及信任链中的所有证书。
先决条件
-
您有每个公共服务的列表,用于应用您的自定义服务证书。您可以使用
oc route list -n openstack命令获取此列表。对于您必须创建的证书数量、这些证书的 DNS 名称,以及在openstack_control_plane.yaml自定义资源(CR)中查找要编辑的相关服务,请使用此信息。 - 您有一个用于公共服务的服务证书
流程
创建名为
cacerts.yaml的清单文件,其中包含所有 CA 证书。如果需要,在信任链中包括所有证书:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从清单文件创建 secret:
oc apply -f cacerts.yaml
oc apply -f cacerts.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为每个 secret 创建一个名为
api_certificate_<service>_secret.yaml 的清单文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 secret
oc apply -f api_certificate_<service>_secret.yaml
oc apply -f api_certificate_<service>_secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
openstack_control_plane.yaml自定义资源,并将捆绑包添加为caBundleSecretName的参数:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 secret 服务证书应用到 apiOverride 字段中的每个公共服务。例如,为 Identity 服务(keystone)输入以下内容:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Compute 服务(nova)和 noVNCProxy 的编辑显示如下:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用 control plane 更改
oc apply -f openstack_control_plane.yaml
oc apply -f openstack_control_plane.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow