第 8 章 使用证书
安装 Red Hat OpenShift AI 时,OpenShift 会自动应用默认的证书颁发机构(CA)捆绑包来管理大多数 OpenShift AI 组件的身份验证,如工作台和模型服务器。这些证书是可信的自签名证书,可帮助安全通信。但是,作为集群管理员,您可能需要配置额外的自签名证书以使用某些组件,如数据科学项目服务器和对象存储解决方案。如果 OpenShift AI 组件使用不属于现有集群范围 CA 捆绑包的自签名证书,则您可以选择包括证书:
- 将其添加到 OpenShift 集群范围的 CA 捆绑包中。
- 将其添加到自定义 CA 捆绑包中,与集群范围的 CA 捆绑包分开。
作为集群管理员,您还可以更改如何管理 OpenShift AI 身份验证,如下所示:
- 手动管理证书更改,而不依赖 OpenShift AI Operator 自动处理它们。
- 从所有命名空间或特定命名空间中删除集群范围的 CA 捆绑包。如果要实施不同的身份验证方法,您可以覆盖默认的 OpenShift AI 行为,如 删除 CA 捆绑包 中所述。
8.1. 了解 OpenShift AI 处理证书的方式 复制链接链接已复制到粘贴板!
安装 OpenShift AI 后,Red Hat OpenShift AI Operator 会自动创建一个空的 odh-trusted-ca-bundle 配置文件(ConfigMap)。Cluster Network Operator (CNO)将集群范围的 CA 捆绑包注入 odh-trusted-ca-bundle configMap 中,标签为 "config.openshift.io/inject-trusted-cabundle"。
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
在 CNO operator 注入捆绑包后,它会使用 ca-bundle.crt 文件的内容更新 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>
CA 捆绑包的管理通过 Data Science Cluster 初始化(DSCI)对象进行配置。在这个对象中,您可以将 spec.trustedCABundle.managementState 字段设置为以下值之一:
-
Managed: (Default) Red Hat OpenShift AI Operator 管理odh-trusted-ca-bundleConfigMap,并将其添加到所有非保留的现有和新命名空间中。它不会将 ConfigMap 添加到任何保留或系统命名空间中,如默认、openshift-\*或kube="">>。Red Hat OpenShift AI Operator 会自动更新 ConfigMap,以反映对customCABundle字段所做的任何更改。 Unmanaged: Red Hat OpenShift AI 管理员手动管理odh-trusted-ca-bundleConfigMap,而不是允许 Operator 管理它。将managementState从Managed改为Unmanaged不会删除odh-trusted-ca-bundleConfigMap。但是,如果对customCABundle字段进行了更改时,ConfigMap 不再自动更新。如果您的机构实现了管理可信 CA 捆绑包的不同方法,如 Ansible 自动化,且不希望 Red Hat OpenShift AI Operator 自动处理证书,则
Unmanaged设置很有用。此设置提供更大的控制,防止 Operator 覆盖自定义配置。