如果Openshift3中的S2I -“源到镜像”资源试图连接到TLS Gitlab存储库,则会显示以下消息:“Peer的证书颁发者已被标记为不受用户信任”。
如何指示Openshift3可以在那里使用哪些证书颁发机构?是否有任何config/选项可以绕过此错误?
输入的命令为:
oc new-app tomcat~https://gitlab.xxx/test/test.git --name=test --strategy=docker发布于 2017-07-05 20:01:49
出于安全原因,您应该向BuildConfig添加一个trusted CA source secret 。要回答您的问题,您可以通过在BuildConfig中将环境变量GIT_SSL_NO_VERIFY设置为false来禁用TLS验证。查看docs here以获取更多信息。
要将其直接传递给oc new-app命令,请运行oc new-app --build-env GIT_SSL_NO_VERIFY=false
发布于 2018-05-22 22:48:40
或者,我建议只导入根CA,这样TLS验证就可以工作。我不会尝试讲述为什么这应该是一个必须的所有原因,但以下是如何做到这一点:
1)抓取根证书文件。
如果您正在运行内部Gitlab实例,则无论是谁设置的,都应该能够将您指向他们正在使用的根CA。
2)使用证书文件创建新密钥
#oc secrets new [secret name] ca.crt=[local .crt file]
oc secrets new tls-root-ca ca.crt=my-it-ca.crt3)将新创建的密钥附加到构建配置
#oc patch bc/[build config name] --patch '{ "spec": {"source": { "sourceSecret": { "name": "[secret name]" } } } }'
oc patch bc/my-build --patch '{ "spec": {"source": { "sourceSecret": { "name": "tls-root-ca" } } } }'如果您不熟悉补丁命令,这只是添加了一个"sourceSecret“块,如下所示:
source:
git:
uri: https://your.gitlab.org/your-app
sourceSecret:
name: tls-root-cahttps://stackoverflow.com/questions/44914034
复制相似问题