8.5. 在 OpenShift AI 组件中使用自签名证书
有些 OpenShift AI 组件为自签名证书有额外的选项或所需的配置。
8.5.1. 使用自签名证书访问 S3 兼容对象存储 复制链接链接已复制到粘贴板!
要安全地将 OpenShift AI 组件连接到使用自签名证书的 OpenShift 集群中部署的对象存储解决方案或数据库,您必须提供证书颁发机构(CA)证书。每个命名空间都包括一个名为 kube-root-ca.crt 的 ConfigMap,其中包含内部 API 服务器的 CA 证书。
先决条件
- 有 OpenShift 集群的集群管理员特权。
- 已安装 OpenShift 命令行界面(CLI)。请参阅安装 OpenShift CLI。
- 您已在 OpenShift 集群中部署了对象存储解决方案或数据库。
流程
在一个终端窗口中,登录到 OpenShift CLI,如下例所示:
oc login api.<cluster_name>.<cluster_domain>:6443 --web
oc login api.<cluster_name>.<cluster_domain>:6443 --webCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检索当前的 OpenShift AI 可信 CA 配置,并将其存储在新文件中:
oc get dscinitializations.dscinitialization.opendatahub.io default-dsci -o json | jq -r '.spec.trustedCABundle.customCABundle' > /tmp/my-custom-ca-bundles.crt
oc get dscinitializations.dscinitialization.opendatahub.io default-dsci -o json | jq -r '.spec.trustedCABundle.customCABundle' > /tmp/my-custom-ca-bundles.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将集群的
kube-root-ca.crtConfigMap 添加到 OpenShift AI 可信 CA 配置中:oc get configmap kube-root-ca.crt -o jsonpath="{['data']['ca\.crt']}" >> /tmp/my-custom-ca-bundles.crtoc get configmap kube-root-ca.crt -o jsonpath="{['data']['ca\.crt']}" >> /tmp/my-custom-ca-bundles.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新 OpenShift AI 可信 CA 配置,以信任
kube-root-ca.crt中证书颁发机构发布的证书:oc patch dscinitialization default-dsci --type='json' -p='[{"op":"replace","path":"/spec/trustedCABundle/customCABundle","value":"'"$(awk '{printf "%s\\n", $0}' /tmp/my-custom-ca-bundles.crt)"'"}]'oc patch dscinitialization default-dsci --type='json' -p='[{"op":"replace","path":"/spec/trustedCABundle/customCABundle","value":"'"$(awk '{printf "%s\\n", $0}' /tmp/my-custom-ca-bundles.crt)"'"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
- 您可以成功部署配置为使用 OpenShift 集群中部署的对象存储解决方案或数据库的组件。例如,配置为使用集群中部署的数据库的管道服务器可以成功启动。
您可以按照 OpenShift AI 教程 - Fraud Detection example 中的步骤来验证您的新证书配置。运行脚本来安装本地对象存储存储桶并创建连接,然后启用数据科学管道。
有关运行脚本以安装本地对象存储存储桶的更多信息,请参阅 运行脚本来安装本地对象存储存储桶并创建连接。
有关启用数据科学管道的更多信息,请参阅启用数据科学管道。
8.5.2. 为数据科学管道配置证书 复制链接链接已复制到粘贴板!
默认情况下,OpenShift AI 在 odh-trusted-ca-bundle ConfigMap 中包含 OpenShift 集群范围证书。这些集群范围的证书涵盖了大多数组件,如工作台和模型服务器。但是,管道服务器可能需要额外的证书颁发机构(CA)配置,特别是在与使用自签名或自定义证书的外部系统交互时。
您可以选择为数据科学管道添加证书:
- 将它们添加到集群范围的 CA 捆绑包中,如 将证书添加到集群范围的 CA 捆绑包 中所述。
- 或者,您可以将证书添加到自定义 CA 捆绑包中,如 将证书添加到自定义 CA 捆绑包 中所述。
- 提供仅用于数据科学管道的 CA 捆绑包,如以下步骤所述。
先决条件
- 对于安装了 Red Hat OpenShift AI 的 OpenShift 集群,具有集群管理员访问权限。
-
您已创建了自签名证书并将证书保存到文件中。例如,您已使用 OpenSSL 创建证书并将其保存到名为
example-ca.crt的文件中。 - 您已配置了数据科学管道服务器。
流程
- 登录 OpenShift 控制台。
在 Workloads
ConfigMaps 中,在与目标数据科学管道相同的数据科学项目中创建带有所需捆绑包的 ConfigMap: Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将以下代码片段添加到底层 Data Science Pipelines Application (DSPA) 的
.spec.apiserver.caBundle字段中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存 ConfigMap。Pipeline 服务器 pod 使用更新的捆绑包自动重新部署。
验证
确认您的 CA 捆绑包已被成功挂载:
- 登录 OpenShift 控制台。
- 进入具有目标数据科学管道的数据科学项目。
- 点 Pods 选项卡。
-
点带有
ds-pipeline-dspa-<hash> 前缀的管道服务器 pod。 - 点 Terminal。
-
输入
cat /dsp-custom-certs/dsp-ca.crt。 - 验证您的 CA 捆绑包是否存在于此文件中。
8.5.3. 为工作台配置证书 复制链接链接已复制到粘贴板!
默认情况下,自签名证书适用于您在配置集群范围证书后创建的工作台。要将集群范围的证书应用到现有的工作台,请停止并重启工作台。
自签名证书存储在 /etc/pki/tls/custom-certs/ca-bundle.crt 中。工作台使用一个预先设置的环境变量,很多流行的 HTTP 客户端软件包指向证书。对于默认未包含的软件包,您可以提供此证书路径。例如,对于 kfp 软件包连接到数据科学管道服务器:
8.5.4. 将集群范围的 CA 捆绑包用于单model服务平台 复制链接链接已复制到粘贴板!
默认情况下,OpenShift AI 中的 single-model 服务平台使用安装时为部署服务器时创建的端点生成的自签名证书。
如果您在 OpenShift 集群中配置了集群范围的证书,则默认将它们用于其他类型的端点,如路由的端点。
以下流程解释了如何使用与 OpenShift 集群相同的证书。
先决条件
- 对于安装了 Red Hat OpenShift AI 的 OpenShift 集群,具有集群管理员访问权限。
- 您已在 OpenShift 中配置了集群范围的证书。
- 您已配置了单型号服务平台,如 安装单一模式服务平台 中所述。
流程
- 登录 OpenShift 控制台。
-
从项目列表中,打开
openshift-ingress项目。 - 点 YAML。
-
搜索 "cert" 以查找带有 "cert" 的名称的 secret。例如,
rhods-internal-primary-cert-bundle-secret。secret 的内容应包含用于所有 OpenShift 路由的两个项目:tls.cert(证书)和tls.key(密钥)。 - 复制对 secret 的引用。
-
从项目列表中,打开
istio-system项目。 -
创建 YAML 文件,并粘贴对从
openshift-ingressYAML 文件复制的 secret 的引用。 编辑 YAML 代码,使其仅保留相关内容,如下例所示。将
rhods-internal-primary-cert-bundle-secret替换为 secret 的名称:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将 YAML 文件保存到
istio-system项目中。 -
导航到 Operators
Installed Operators Red Hat OpenShift AI。 -
点 Data Science Cluster*,然后点 default-dsc
YAML。 编辑
kserve配置 部分以引用您的 secret,如下例所示。将rhods-internal-primary-cert-bundle-secret替换为在第 8 步中创建的 secret 的名称。Copy to Clipboard Copied! Toggle word wrap Toggle overflow