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