我很难将OpenShift V3与我的Github repo连接起来。我尝试按照https://learn.openshift.com上的教程进行操作,但他们没有详细说明OpenShift和Github之间的凭据问题
然后,我尝试通过CLI运行新的应用程序进程。也没有成功。
Cloning "https://github.com/<repo>" ...
error: build error: failed to fetch requested repository "https://github.com/<repo>" with provided credentials
当我查看日志时,它说Openshift无法连接Github端的回购
SSH keys
更新
通过 user2983542 和 Graham Dumpleton 的非常有用的答案和评论,我创建了公共和私有secret
使用以下tutorial。我用passphase创建了密钥,但是我对OpenShift blog的以下语句有点困惑:
一个优点是OpenShift不允许您使用私钥具有密码的密钥对。我确信您遵循的最佳做法是,您的主要身份SSH密钥应始终具有密码;这样可以防止您无意中使用主身份SSH密钥。
无论如何,我试图继续使用passphase ...我在Github端部署了公钥。之后,我在OpenShift上创建了kubernetes.io/ssh-auth
类型triggers:
- github:
secret: M6_whatever...
type: GitHub
,并将其作为环境变量与部署相关联。
BuildConfig的Github部分如下所示:
--> Scaling myappname-1 to 1
--> Waiting up to 10m0s for pods in rc myappname-1 to become ready
error: update acceptor rejected myappname-1: pods for rc "myappname-1" took longer than 600 seconds to become ready
部署失败,并显示以下消息:
{{1}}
请你指出我做错了什么?
答案 0 :(得分:2)
您需要创建源克隆密钥。根据您运行的OpenShift版本,可能有不同的选项。 SSH密钥身份验证应该是所有版本的标准。
您应该生成一个新的SSH密钥对并将您的公钥上传到Github。 See the docs at Github for instructions您只需要使用私钥创建一个秘密。例如:
oc secrets new-sshauth sshsecret \
--ssh-privatekey=$HOME/.ssh/id_rsa_examplekey
然后,您可能需要使用builder
oc secrets link new-sshauth
服务帐户相关联
有关3.6的更多信息和选项,请参阅OpenShift文档here,但请根据需要参考您自己的版本
最后,您需要更新BuildConfig对象以引用新秘密。 oc set build-secret --source bc/example-build sshsecret
答案 1 :(得分:1)