8.4. 将证书添加到自定义 CA 捆绑包中
您可以将自签名证书添加到与 OpenShift 集群范围的捆绑包分开的自定义 CA 捆绑包。
这个方法适用于组件需要访问需要自签名证书的外部资源的场景。例如,您可能需要添加自签名证书以授予数据科学管道访问 S3 兼容对象存储。
先决条件
-
您已创建了自签名证书并将证书保存到文件中。例如,您已使用 OpenSSL 创建证书并将其保存到名为
example-ca.crt的文件中。 - 对于安装了 Red Hat OpenShift AI 的 OpenShift 集群,具有集群管理员访问权限。
- 已安装 OpenShift 命令行界面(CLI)。请参阅安装 OpenShift CLI。
流程
- 登录 OpenShift。
-
点 Operators
Installed Operators,然后点 Red Hat OpenShift AI Operator。 - 点 DSC 初始化选项卡。
- 点 default-dsci 对象。
- 点 YAML 标签。
在
spec.trustedCABundle部分中,将自定义证书添加到customCABundle字段中,如下例所示:spec: trustedCABundle: managementState: Managed customCABundle: | -----BEGIN CERTIFICATE----- examplebundle123 -----END CERTIFICATE------ 点击 Save。
Red Hat OpenShift AI Operator 会自动更新 ConfigMap,以反映对 customCABundle 字段所做的任何更改。它将包含证书的 odh-ca-bundle.crt 文件添加到 odh-trusted-ca-bundle ConfigMap 中,如下例所示:
apiVersion: v1
kind: ConfigMap
metadata:
labels:
app.kubernetes.io/part-of: opendatahub-operator
config.openshift.io/inject-trusted-cabundle: 'true'
name: odh-trusted-ca-bundle
data:
ca-bundle.crt: |
<BUNDLE OF CLUSTER-WIDE CERTIFICATES>
odh-ca-bundle.crt: |
<BUNDLE OF CUSTOM CERTIFICATES>
验证
运行以下命令,以验证非保留命名空间是否包含 odh-trusted-ca-bundle ConfigMap,并且 ConfigMap 是否包含 customCABundle 值。在以下命令中,example-namespace 是 non-reserved 命名空间,examplebundle123 是 customCABundle 值。
oc get configmap odh-trusted-ca-bundle -n example-namespace -o yaml | grep examplebundle123