我正在尝试解决,如果可以基于对另一个OpenShift集群中的图像进行更新而触发图像更改触发器。
例如:如果我有集群 non-prod 和 prod 集群,是否可以在集群 prod 中配置带有映像的部署更改触发器,并且图像来自群集非产品的图像注册表?
我在这里关注了文档:
根据上述文档,
oc create secret docker-registry non-prod-registry-secret --namespace <<prod-namespace>> --docker-server non-prod-image-registry-external-route --docker-username serviceaccount --docker-password <<base-64-default-token-value>> --docker-email a@b.c
还使用上面创建的新机密链接了构建器,部署者和默认SA。
我还在产品集群中创建图像流,如下所示:
oc import-image my-image-name --from=non-prod-image-registry-external-route/project/nonprodimage:latest --confirm --scheduled=true --dry-run=false -n prod-namespace
图像流已在prod群集中成功创建,并且引用了prod命名空间中的最新sha:xxx标识符。
但是,当在上述图像流上通过oc new-app my-image-name:latest --name mynewapp
创建部署时,它将生成ImagePullBAckOff。这是确切的错误消息:
无法提取映像“非产品映像注册表外部路由/非产品名称空间/ nonprodimage:shaxxx”:rpc错误:代码=未知desc = ping docker注册表错误非产品映像注册表-external-route:获取https:// non-prod-image-registry-external-route / v2 /:x509:未知授权机构签名的证书