This documentation is for a release that is no longer maintained
See documentation for the latest supported version.3.7.2. 将不信任的 TLS 证书导入到 OpenShift Dev Spaces
默认情况下,OpenShift Dev Spaces 组件之间的外部通信通过 TLS 加密。OpenShift Dev Spaces 组件与代理、源代码存储库和身份提供程序等外部服务的通信可能还需要 TLS。所有使用 TLS 加密的通信都需要使用由可信证书颁发机构(CA)签名的 TLS 证书。
当 OpenShift Dev Spaces 组件或外部服务使用的证书由不信任的 CA 签名时,您必须将 CA 证书导入到 OpenShift Dev Spaces 实例,以便每个 OpenShift Dev Spaces 组件将证书视为可信 CA 签名。您必须在以下情况下完成此操作:
- 底层 OpenShift 集群使用由不受信任的 CA 签名的 TLS 证书。OpenShift Dev Spaces 服务器或工作空间组件连接到外部 OIDC 供应商或使用由不受信任的 CA 签名的 TLS 证书的 Git 服务器。
OpenShift Dev Spaces 在项目中使用标记的 ConfigMap 作为 TLS 证书的来源。ConfigMap 可以为每个证书随机有一个任意键数。
当 OpenShift 集群包含通过集群范围的代理配置 添加 的集群范围内 的可信 CA 证书时,OpenShift Dev Spaces Operator 会检测到它们并将其自动注入到 ConfigMap 中。OpenShift Dev Spaces 会自动使用 config.openshift.io/inject-trusted-cabundle="true"
标签标记 ConfigMap。根据此注解,OpenShift 会在 ConfigMap 的 ca-bundle.crt
键中自动注入集群范围的可信 CA 证书。
一些 OpenShift Dev Spaces 组件需要一个完整的证书链来信任端点。如果使用中间证书配置集群,请将整个链(包括自签名 root)添加到 OpenShift Dev Spaces。
3.7.2.1. 在 OpenShift Dev Spaces 中添加新 CA 证书 复制链接链接已复制到粘贴板!
以下流程适用于已安装和运行的实例,以及要安装的实例。
先决条件
-
具有目标 OpenShift 集群的管理权限的活跃
oc
会话。请参阅 CLI 入门。 - 存在 OpenShift Dev Spaces 的命名空间。
流程
保存导入本地文件系统所需的证书。
Important具有简介短语
BEGIN TRUSTED CERTIFICATE
CERTIFICATE 的证书可能包括在 PEMTRUSTED CERTIFICATE
格式,它不会被 Java 不支持。使用以下命令将其转换为支持的CERTIFICATE
格式:-
openssl x509 -in cert.pem -out cert.cer
-
使用所需的 TLS 证书创建新 ConfigMap:
oc create configmap custom-certs --from-file=<bundle-file-path> -n=openshift-devspaces
$ oc create configmap custom-certs --from-file=<bundle-file-path> -n=openshift-devspaces
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要应用多个捆绑包,请添加另一个
-from-file= <bundle-file-path>
。另外,还可创建另一个 ConfigMap。使用
app.kubernetes.io/part-of=che.eclipse.org
和app.kubernetes.io/component=ca-bundle
标签创建的 ConfigMap 标签:oc label configmap custom-certs app.kubernetes.io/part-of=che.eclipse.org app.kubernetes.io/component=ca-bundle -n <devspaces-namespace-name>
$ oc label configmap custom-certs app.kubernetes.io/part-of=che.eclipse.org app.kubernetes.io/component=ca-bundle -n <devspaces-namespace-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 如果 OpenShift Dev Spaces 之前没有部署,则部署 OpenShift Dev Spaces。否则等待 OpenShift Dev Spaces 推出完成。
- 重启正在运行的工作区以使更改生效。