第4章 OpenShift Jenkins イメージに対する重要な変更
Red Hat OpenShift Service on AWS 4.11 で、OpenShift Jenkins イメージおよび OpenShift Agent Base イメージが registry.redhat.io
の ocp-tools-4
リポジトリーに移動になりました。また、ペイロードから OpenShift Jenkins Maven イメージおよび NodeJS Agent イメージが削除されました。
-
Red Hat OpenShift Service on AWS 4.11 で、OpenShift Jenkins イメージおよび OpenShift Agent Base イメージが
registry.redhat.io
のocp-tools-4
リポジトリーに移動になりました。これにより、Red Hat が Red Hat OpenShift Service on AWS のライフサイクルに関係なくイメージを生成および更新できるようになりました。以前は、これらのイメージは Red Hat OpenShift Service on AWS のインストールペイロードとregistry.redhat.io
のopenshift4
リポジトリーにありました。 -
Red Hat OpenShift Service on AWS 4.10 で、OpenShift Jenkins Maven イメージおよび NodeJS Agent イメージが非推奨になりました。Red Hat OpenShift Service on AWS 4.11 で、これらのイメージがペイロードから削除されました。Red Hat はこれらのイメージを生成しなくなり、
registry.redhat.io
のocp-tools-4
リポジトリーから入手できなくなりました。Red Hat は、Red Hat OpenShift Service on AWS のライフサイクルポリシー に従って、重要なバグ修正やセキュリティー CVE に備えて、これらのイメージの 4.10 以前のバージョンを維持しています。
これらの変更は、Jenkins Kubernetes プラグインで複数のコンテナー Pod テンプレート を使用するという Red Hat OpenShift Service on AWS 4.10 の推奨事項に対応したものです。
4.1. OpenShift Jenkins イメージの再配置 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS 4.11 で、特定の OpenShift Jenkins イメージの場所と利用方法が大幅に変更されました。また、これらのイメージを更新するタイミングと方法を設定できるようになりました。
OpenShift Jenkins イメージの変わらない点
-
Cluster Samples Operator は、OpenShift Jenkins イメージを操作するための
ImageStream
およびTemplate
オブジェクトを管理します。 -
デフォルトでは、Jenkins Pod テンプレートの Jenkins
DeploymentConfig
オブジェクトは、Jenkins イメージが変更になると、再デプロイをトリガーします。デフォルトでは、このイメージは、Samples Operator ペイロードのImageStream
YAML ファイルのopenshift
namespace にある Jenkins イメージストリームのjenkins:2
イメージストリームタグによって参照されます。 -
Red Hat OpenShift Service on AWS 4.10 以前から 4.11 にアップグレードした場合は、非推奨の
maven
およびnodejs
Pod テンプレートが、デフォルトのイメージ設定に残ります。 -
Red Hat OpenShift Service on AWS 4.10 以前から 4.11 にアップグレードした場合は、
jenkins-agent-maven
およびjenkins-agent-nodejs
イメージストリームがクラスター内に残ります。これらのイメージストリームを維持するには、次のセクションの「openshift
namespace のjenkins-agent-maven
およびjenkins-agent-nodejs
イメージストリームの変更点」を参照してください。
OpenShift Jenkins イメージのサポートマトリックスの変更点
registry.redhat.io
レジストリーの ocp-tools-4
リポジトリーにある新しい各イメージは、Red Hat OpenShift Service on AWS の複数のバージョンをサポートします。Red Hat がこれらの新しいイメージの 1 つを更新すると、すべてのバージョンで同時にイメージが利用可能になります。このような提供の仕組みは、Red Hat がセキュリティーアドバイザリーへの対応としてイメージを更新する際にきわめて有効です。この変更は、まず Red Hat OpenShift Service on AWS 4.11 以降に適用されます。この変更は、最終的に Red Hat OpenShift Service on AWS 4.9 以降に適用される予定です。
以前は、各 Jenkins イメージがサポートするバージョンは、Red Hat OpenShift Service on AWS の 1 つのバージョンだけでした。場合によっては、Red Hat は徐々に各イメージを順次更新することもありました。
OpenShift Jenkins および Jenkins Agent Base ImageStream および ImageStreamTag オブジェクトにはどのような追加機能がありますか?
ペイロード内のイメージストリームからペイロード以外のイメージを参照するイメージストリームに移行することで、Red Hat OpenShift Service on AWS は、追加のイメージストリームタグを定義できるようになります。Red Hat は、Red Hat OpenShift Service on AWS 4.10 以前に存在する既存の "value": "jenkins:2"
および "value": "image-registry.openshift-image-registry.svc:5000/openshift/jenkins-agent-base-rhel8:latest"
イメージストリームタグに合わせて、一連の新しいイメージストリームタグを作成しました。これらの新規イメージストリームタグは、Jenkins 関連のイメージストリームのメンテナンス方法を改善するための要求の一部に対応します。
新規イメージストリームタグについて以下を実行します。
ocp-upgrade-redeploy
-
Red Hat OpenShift Service on AWS をアップグレードするときに Jenkins イメージを更新するには、Jenkins デプロイメント設定でこのイメージストリームタグを使用します。このイメージストリームタグは、
jenkins
イメージストリームの既存の2
のイメージストリームタグとjenkins-agent-base-rhel8
イメージストリームのlatest
イメージストリームタグに対応します。これは 1 つの SHA またはイメージダイジェストのみに固有のイメージタグを使用します。Jenkins のセキュリティーアドバイザリーなどに応じてocp-tools-4
イメージを変更する際に、Red Hat Engineering チームが Cluster Samples Operator のペイロードを更新します。 user-maintained-upgrade-redeploy
-
Red Hat OpenShift Service on AWS をアップグレードした後に Jenkins を手動で再デプロイするには、Jenkins デプロイメント設定でこのイメージストリームタグを使用します。このイメージストリームタグは、利用可能な最も具体的なイメージバージョンインジケーターを使用します。Jenkins を再デプロイするときは、
$ oc import-image jenkins:user-maintained-upgrade-redeploy -n openshift
コマンドを実行します。このコマンドを実行すると、Red Hat OpenShift Service on AWS のImageStream
コントローラーが、registry.redhat.io
イメージレジストリーにアクセスし、更新されたイメージをその JenkinsImageStreamTag
オブジェクトの OpenShift イメージレジストリーのスロットに保存します。それ以外の場合は、このコマンドを実行しないと、Jenkins デプロイ設定によって再デプロイがトリガーされません。 scheduled-upgrade-redeploy
- Jenkins イメージの最新バージョンがリリースされたときに自動的に再デプロイするには、Jenkins デプロイ設定でこのイメージストリームタグを使用します。このイメージストリームタグは、バッキングイメージの変更をチェックする Red Hat OpenShift Service on AWS イメージストリームコントローラーのイメージストリームタグの定期的なインポート機能を使用します。たとえば、最近の Jenkins セキュリティーアドバイザリーによりイメージが変更になると、Red Hat OpenShift Service on AWS は Jenkins デプロイメント設定の再デプロイをトリガーします。次の「関連情報」の「イメージストリームタグの定期的なインポートの設定」を参照してください。
openshift
namespace の jenkins-agent-maven
および jenkins-agent-nodejs
イメージストリームの変更点
Red Hat OpenShift Service on AWS の OpenShift Jenkins Maven イメージおよび NodeJS Agent イメージは、4.10 で非推奨となり、4.11 で Red Hat OpenShift Service on AWS のインストールペイロードから削除されました。それらには、ocp-tools-4
リポジトリーで定義された代替手段がありません。ただし、この問題は、次の「関連情報」セクションに記載されている「Jenkins エージェント」トピックで説明されているサイドカーパターンを使用することで回避できます。
ただし、Cluster Samples Operator は、以前のリリースで作成された jenkins-agent-maven
および jenkins-agent-nodejs
イメージストリームを削除しません。これらのイメージストリームは、registry.redhat.io
上のそれぞれの Red Hat OpenShift Service on AWS のペイロードイメージのタグを参照します。したがって、次のコマンドを実行して、これらのイメージの更新をプルできます。
oc import-image jenkins-agent-nodejs -n openshift
$ oc import-image jenkins-agent-nodejs -n openshift
oc import-image jenkins-agent-maven -n openshift
$ oc import-image jenkins-agent-maven -n openshift
OpenShift Jenkins はどの Red Hat OpenShift Service on AWS アーキテクチャーとバージョンをサポートしていますか?
Jenkins は、Red Hat OpenShift Service on AWS リリース全体で次のアーキテクチャーをサポートしています。
-
amd64
-
arm64
-
ppc64le
-
s390x
ただし、Red Hat OpenShift Service on AWS の Extended Update Support (EUS) リリースでは、amd64
アーキテクチャーのみが公式にサポートされています。そのため、EUS リリースでは OpenShift Jenkins イメージは amd64
専用として提供されます。これは、EUS リリースの場合、Red Hat OpenShift Service on AWS プラットフォーム自体がサポートしているアーキテクチャーが amd64
だけであるためです。詳細は、Support Matrix for OpenShift Jenkins releases を参照してください。
Red Hat が Jenkins コンテナーイメージを更新したときに、すべての Red Hat OpenShift Service on AWS バージョンで同時にイメージを利用できるようになりますか?
はい、Jenkins コンテナーイメージは四半期ごとに更新され、サポートされているすべての Red Hat OpenShift Service on AWS リリースのすべての Jenkins イメージで更新が利用できるようになります。
リリースされた Jenkins イメージはどのくらいの期間サポートされますか?
Red Hat は、最新のコンテナーイメージで提供される Jenkins コアの最新の長期サポート (LTS) バージョンのみをサポートします。複数のコアバージョンはサポートしていません。当社では、アップストリームコミュニティーによってリリースされた最新の Jenkins LTS バージョンに合わせることを方針としています。
Jenkins のリリースは Red Hat OpenShift Service on AWS のバージョンと対応していますか?
はい。当社はプラットフォームとの対応関係を維持することを目標としています。そのため、Jenkins コントローラーエージェントのイメージは、サポート対象の Red Hat OpenShift Service on AWS リリースごとにビルドおよびテストされます。
Jenkins のリリース予定は Red Hat OpenShift Service on AWS のリリースサイクルと同じですか?
Jenkins は Red Hat OpenShift Service on AWS のコアペイロードの一部ではなくなりました。リリースは別途管理されています。ただし、当社では、Red Hat OpenShift Service on AWS GA リリースから数週間以内に、新しくリリースされた Red Hat OpenShift Service on AWS 用の新しい OpenShift Jenkins イメージを公開することを目指しています。
Red Hat はアップストリームの Jenkins のライフサイクルと LTS バージョンに準拠していますか?
はい。当社はアップストリームの Jenkins のライフサイクルと LTS バージョンに準拠しています。Red Hat は、重要な修正のためにサイクル外のリリースが必要な場合を除き、通常、OpenShift Jenkins イメージの更新を四半期ごとに提供します。
現在の Jenkins LTS バージョンを確認するには、Jenkins Catalog
サポートされていないものは何ですか?
- 現在の OpenShift Jenkins LTS よりも古いバージョンの Jenkins はサポートされていません。
- Red Hat OpenShift Service on AWS 外部での Jenkins の実行はサポートされていません。
- Jenkins の複数のコアバージョンはサポートされていません。OpenShift Jenkins イメージにバンドルされているプラグインには、サポート対象のすべての Red Hat OpenShift Service on AWS リリースで、同じバージョン管理が適用されます。