Openshift 如何设置okd以使用外部nexus docker注册表?

Openshift 如何设置okd以使用外部nexus docker注册表?,openshift,okd,Openshift,Okd,我想用OKD中现有的Nexus docker注册表替换OKD中默认的docker注册表。如何用Nexus docker注册表替换OKD中的exist docker注册表 我的想法是在Nexus repo中托管我的所有图像。例如,当我使用S2I时。这个主题如@GhostCat所示,会让您的选项非常开放,直到您做出一些额外的决定。您可能需要调查一些资源/主题,以帮助实现预期的结果: 1从外部注册表推/拉 在本主题中,我建议您不要替换内部注册表,而是在内部注册表旁边运行nexus注册表。内部注册表仍然

我想用OKD中现有的Nexus docker注册表替换OKD中默认的docker注册表。如何用Nexus docker注册表替换OKD中的exist docker注册表


我的想法是在Nexus repo中托管我的所有图像。例如,当我使用S2I时。

这个主题如@GhostCat所示,会让您的选项非常开放,直到您做出一些额外的决定。您可能需要调查一些资源/主题,以帮助实现预期的结果:

1从外部注册表推/拉

在本主题中,我建议您不要替换内部注册表,而是在内部注册表旁边运行nexus注册表。内部注册表仍然可以用于存储系统组件、s2i映像生成器等,而Nexus可以作为应用程序的主注册表

对于映像提取:每个docker主机都可以配置额外的外部注册表进行搜索,只需编辑映像流或在部署/statefulset/etc中包含完整映像路径即可。 您可以修改生成配置以将生成映像存储在外部注册表中 2将所有注册表功能/组件移动到Nexus

在本主题中,您需要阅读有关OpenShift的已断开连接的安装说明,并使其适应您自己的Nexus配置。本质上,您需要加载Nexus中的所有图像,并修改openshift中的所有模板/图像流,以指向新的存储库

按照此处的指导进行相应修改 这是一种不太常见的模式,只有在完全断开连接的环境中,团队才会遵循这种模式。我们遇到的大多数团队都遵循上面1中的指导。
感谢那篇文章,它很有帮助,但是没有办法使这个自动选择成为默认值吗?所以我所有的构建映像都会转到我的外部Nexus Docker repo?因为如果它进入内部注册表,那么我们会因为内部注册表容器崩溃而重新启动而丢失图像


特别是S2I图像

我看到一些想法需要讨论

1如果您只希望生成输出以另一个外部回购为目标,而不是默认的内部回购,则这可以作为生成配置的一部分编码到任何外部ci/cd系统中。openshift中最常见的方法是让Jenkins通过代码repo中的Jenkins文件创建构建配置。 我不知道有一种简单的文档化方法可以覆盖整个系统中所有构建输出的默认配置或设置


2如果您正在丢失内部注册表上的映像,那么您没有利用持久性存储,应该考虑使用持久性存储。请参阅[此处]

我已重写了我的邮件,请告诉我现在是否好。问题是:这是一个相当广泛的话题。你到底在哪里?设置您自己的存储库?除此之外:我认为这样的请求是很自然的,所以我有点惊讶它还没有被记录下来。意思:你有没有完成必要的研究,比如学习okd帮助页面?