第 3 章 OpenShift Jenkins 镜像的重要变化


OpenShift Dedicated 4.11 将 OpenShift Jenkins 和 OpenShift Agent Base 镜像移到 registry.redhat.ioocp-tools-4 存储库。它还从其有效负载中删除 OpenShift Jenkins Maven 和 NodeJS Agent 镜像:

  • OpenShift Dedicated 4.11 将 OpenShift Jenkins 和 OpenShift Agent Base 镜像移到 registry.redhat.ioocp-tools-4 存储库中,以便红帽可以在 OpenShift Dedicated 生命周期外生成和更新镜像。在以前的版本中,这些镜像位于 OpenShift Dedicated 安装有效负载和 registry.redhat.ioopenshift4 存储库中。
  • OpenShift Dedicated 4.10 弃用了 OpenShift Jenkins Maven 和 NodeJS Agent 镜像。OpenShift Dedicated 4.11 从其有效负载中删除这些镜像。红帽不再生成这些镜像,它们不能从 registry.redhat.ioocp-tools-4 存储库中提供。根据 OpenShift Dedicated 生命周期政策,红帽会为任何重要的程序错误修复或安全 CVE 维护这些镜像的 4.10 及更早的版本。

这些更改支持 OpenShift Dedicated 4.10 建议在 Jenkins Kubernetes 插件中使用多个容器 Pod 模板

3.1. OpenShift Jenkins 镜像重新定位

OpenShift Dedicated 4.11 对特定 OpenShift Jenkins 镜像的位置和可用性进行重大更改。另外,您还可以配置何时以及如何更新这些镜像。

什么与 OpenShift Jenkins 镜像保持相同?

  • Cluster Samples Operator 管理用于运行 OpenShift Jenkins 镜像的 ImageStreamTemplate 对象。
  • 默认情况下,Jenkins pod 模板的 Jenkins DeploymentConfig 对象会在 Jenkins 镜像更改时触发重新部署。默认情况下,此镜像由 Samples Operator 有效负载中的 ImageStream YAML 文件中的 openshift 命名空间的 Jenkins 镜像流的 jenkins:2 镜像流标签引用。
  • 如果您从 OpenShift Dedicated 4.10 及更早版本升级到 4.11,弃用的 mavennodejs pod 模板仍然位于默认镜像配置中。
  • 如果您从 OpenShift Dedicated 4.10 及更早版本升级到 4.11,则 jenkins-agent-mavenjenkins-agent-nodejs 镜像流仍存在于集群中。要维护这些镜像流,请参见以下部分:" openshift 命名空间中的 jenkins-agent-mavenjenkins-agent-nodejs 镜像流有什么变化?"

OpenShift Jenkins 镜像支持列表中的哪些变化?

registry.redhat.io registry 中的 ocp-tools-4 仓库中的每个新镜像都支持多个 OpenShift Dedicated 版本。当红帽更新其中一个新镜像时,所有版本都同时可用。当红帽更新镜像以响应安全公告时,此可用性是理想的选择。最初,这个更改适用于 OpenShift Dedicated 4.11 及更新的版本。计划此更改最终会应用到 OpenShift Dedicated 4.9 及更新的版本。

在以前的版本中,每个 Jenkins 镜像只支持一个 OpenShift Dedicated 版本,红帽可能会随着时间的推移按顺序更新这些镜像。

OpenShift Jenkins 和 Jenkins Agent Base ImageStream 和 ImageStreamTag 对象增加了什么?

通过从 in-payload 镜像流移到引用非payload 镜像的镜像流,OpenShift Dedicated 可以定义额外的镜像流标签。红帽创建了一系列新镜像流标签,并附带现有的 "value": "jenkins:2""value": "image-registry.openshift-image-registry.svc:5000/openshift/jenkins-agent-base-rhel8:latest" 镜像流标签(在 OpenShift Dedicated 4.10 及更早版本中)。这些新镜像流标签处理了一些请求,以改进维护 Jenkins 相关镜像流的方式。

关于新镜像流标签:

ocp-upgrade-redeploy
要在升级 OpenShift Dedicated 时更新 Jenkins 镜像,请在 Jenkins 部署配置中使用此镜像流标签。此镜像流标签与 jenkins 镜像流现有的 jenkins 镜像流的 2 镜像流标签以及 jenkins-agent-base-rhel8 镜像流的 latest 镜像流标签对应。它仅使用特定于一个 SHA 或镜像摘要的镜像标签。当 ocp-tools-4 镜像更改时,如 Jenkins 安全公告,红帽工程团队会更新 Cluster Samples Operator 有效负载。
user-maintained-upgrade-redeploy
要在升级 OpenShift Dedicated 后手动重新部署 Jenkins,请在 Jenkins 部署配置中使用此镜像流标签。此镜像流标签使用至少可用的特定镜像版本指示符。重新部署 Jenkins 时,运行以下命令:$ oc import-image jenkins:user-maintained-upgrade-redeploy -n openshift。当您发出此命令时,OpenShift Dedicated ImageStream 控制器可以访问 registry.redhat.io 镜像 registry,并将任何更新的镜像存储在 OpenShift 镜像 registry 的 Jenkins ImageStreamTag 对象的插槽中。否则,如果您没有运行此命令,您的 Jenkins 部署配置不会触发重新部署。
scheduled-upgrade-redeploy
要在释放后自动重新部署 Jenkins 镜像的最新版本,请在 Jenkins 部署配置中使用此镜像流标签。此镜像流标签使用 OpenShift Dedicated 镜像流控制器的定期导入镜像流标签功能,用于检查后备镜像中的更改。如果镜像更改,例如因为最新的 Jenkins 安全公告,OpenShift Dedicated 会触发重新部署 Jenkins 部署配置。在以下"添加资源"中,请参阅"定期导入镜像流标签"。

openshift 命名空间中的 jenkins-agent-mavenjenkins-agent-nodejs 镜像流会发生什么?

OpenShift Dedicated 的 OpenShift Jenkins Maven 和 NodeJS Agent 镜像在 4.10 中已弃用,并在 4.11 中从 OpenShift Dedicated 安装有效负载中删除。它们没有在 ocp-tools-4 仓库中定义 alternatives。但是,您可以使用以下"Additional resources"部分中提到的"Jenkins 代理"主题描述的 sidecar 模式来解决这个问题。

但是,Cluster Samples Operator 不会删除之前版本创建的 jenkins-agent-mavenjenkins-agent-nodejs 镜像流,指向 registry.redhat.io 上相应 OpenShift Dedicated 有效负载镜像的标签。因此,您可以通过运行以下命令拉取 (pull) 镜像的更新:

$ oc import-image jenkins-agent-nodejs -n openshift
$ oc import-image jenkins-agent-maven -n openshift
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.