第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 エンジニアリングは 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-maven -n openshift