【问题标题】:Automate Openshift pod rebuild on new Docker image在新的 Docker 映像上自动重建 Openshift pod
【发布时间】:2017-10-06 13:50:03
【问题描述】:

我在 Intranet 托管的 Gitlab 注册表中有一个 docker 容器映像。我可以从我们的 OpenShift 安装中手动提取映像并成功运行任意数量的 pod。如果我在本地重建映像并推送到 Gitlab,我可以从 Openshift 手动触发 pod 重建。这一切都运作良好。

当我将新图像推送到 Gitlab 注册表时,如何自动触发 pod 重建?我看不到任何地方可以在 OpenShift 和 Gitlab 之间放置钩子,而且我对 Image Streams 的所有阅读都没有导致成功的自动化部署管道。以下部署的版本;

GitLab 社区版 9.4.6 23ec1ec 版本

OpenShift 大师: v3.5.5.15 Kubernetes 大师: v1.5.2+43a9be4

非常感谢任何帮助

【问题讨论】:

    标签: docker openshift gitlab


    【解决方案1】:

    您可能需要安排更新图像元数据。

    这需要在 OpenShift 集群中全局启用该功能。

    更好的选择可能是将映像直接推送到 OpenShift 内部注册表中。这可以自动触发新的部署。

    【讨论】:

    • 感谢 Graham,我仍然完全不清楚如何真正创建 图像流。如果我使用 oc new-app 我得到一个成功的 deployment 运行一个 pod 等。但这实际上并没有创建一个图像流,所以我不能设置一个任何事情的“预定”政策。我为手动创建图像流以引用我的外部图像所做的任何尝试都失败了。任何关于如何做到这一点的指示都会很棒!
    • 使用外部注册表上的图像运行oc new-app 仍应创建图像流。 oc get is 能得到什么?此外,通过learn.openshift.com 上的交互式教程学习如何从映像进行部署。它提供了各种示例并讨论了图像流以及如何在部署之前从图像创建一个。
    • 问题是集群是否已配置为允许使用计划检查来进行映像更新。
    • oc get 找不到资源。
    • 唯一不可能有镜像流的方法是,如果您为部署配置创建原始资源对象并在部署配置中硬连线外部镜像注册表镜像引用。因此,如果您这样做并将原始对象定义传递给“oc create”。如果使用 'oc new-app image' 它应该创建一个图像流。您可以使用“--dry-run -o json”选项来确认它会创建什么。
    猜你喜欢
    • 1970-01-01
    • 2020-03-08
    • 2023-03-30
    • 2017-04-24
    • 2020-02-12
    • 1970-01-01
    • 1970-01-01
    • 2015-05-02
    • 2021-11-15
    相关资源
    最近更新 更多