1.3. リリースイメージ
Red Hat Advanced Cluster Management for Kubernetes を使用してプロバイダーでクラスターを作成する場合は、新規クラスターに使用するリリースイメージを指定する必要があります。リリースイメージでは、クラスターのビルドに使用する Red Hat OpenShift Container Platform のバージョンを指定します。
acm-hive-openshift-releases
GitHub リポジトリーの YAML ファイルを使用して、リリースイメージを参照します。Red Hat Advanced Cluster Management はこれらのファイルを使用して、コンソールで利用可能なリリースイメージの一覧を作成します。これには、OpenShift Container Platform における最新の fast チャネルイメージが含まれます。コンソールには、OpenShift Container Platform の 3 つの最新バージョンの最新リリースイメージのみが表示されます。たとえば、コンソールオプションに以下のリリースイメージが表示される可能性があります。
- quay.io/openshift-release-dev/ocp-release:4.6.23-x86_64
- quay.io/openshift-release-dev/ocp-release:4.10.1-x86_64
注記: コンソールでクラスターの作成時に選択できるのは、visible: 'true'
のラベルが付いたリリースイメージのみです。ClusterImageSet
リソースのこのラベルの例は以下の内容で提供されます。
apiVersion: config.openshift.io/v1 kind: ClusterImageSet metadata: labels: channel: fast visible: 'true' name: img4.10.1-x86-64-appsub spec: releaseImage: quay.io/openshift-release-dev/ocp-release:4.10.1-x86_64
追加のリリースイメージは保管されますが、コンソールには表示されません。利用可能なすべてのリリースイメージを表示するには、CLI で kubectl get clusterimageset
を実行します。最新のリリースイメージでクラスターを作成することが推奨されるため、コンソールには最新バージョンのみがあります。特定バージョンのクラスター作成が必要となる場合があります。そのため、古いバージョンが利用可能となっています。Red Hat Advanced Cluster Management はこれらのファイルを使用して、コンソールで利用可能なリリースイメージの一覧を作成します。これには、OpenShift Container Platform における最新の fast チャネルイメージが含まれます。
リポジトリーには、clusterImageSets
ディレクトリーと subscription
ディレクトリーが含まれます。これらのディレクトリーは、リリースイメージの操作時に使用します。
clusterImageSets
ディレクトリーには以下のディレクトリーが含まれます。
- Fast: サポート対象の各 OpenShift Container Platform バージョンのリリースイメージの内、最新バージョンを参照するファイルが含まれます。このフォルダー内のリリースイメージはテストされ、検証されており、サポートされます。
- Releases: 各 OpenShift Container Platform バージョン (stable、fast、および candidate チャネル) のリリースイメージをすべて参照するファイルが含まれます。注記: このリリースはすべてテストされ、安定していると判別されているわけではありません。
- Stable: サポート対象の各 OpenShift Container Platform バージョンのリリースイメージの内、最新の安定版 2 つを参照するファイルが含まれます。
注記: デフォルトでは、リリースイメージの現在の一覧は 1 時間ごとに更新されます。製品をアップグレードした後、リストに製品の新しいバージョンの推奨リリースイメージバージョンが反映されるまでに最大 1 時間かかる場合があります。
独自の ClusterImageSets
は以下の 3 つの方法でキュレートできます。
3 つの方法のいずれかの最初のステップは、最新の fast チャンネルイメージを自動的に更新する付属のサブスクリプションを無効にすることです。最新の fast の ClusterImageSets
の自動キュレーションを無効にするには、multiclusterhub
リソースでインストーラーパラメーターを使用します。spec.disableUpdateClusterImageSets
パラメーターを true
と false
の間で切り替えることにより、Red Hat Advanced Cluster Management でインストールしたサブスクリプションが、それぞれ無効または有効になります。独自のイメージをキューレートする場合は、spec.disableUpdateClusterImageSets
を true
に設定してサブスクリプションを無効にします。
オプション 1: クラスターの作成時にコンソールで使用する特定の ClusterImageSet
のイメージ参照を指定します。指定する新規エントリーはそれぞれ保持され、将来のすべてのクラスタープロビジョニングで利用できます。たとえば、エントリーは quay.io/openshift-release-dev/ocp-release:4.6.8-x86_64
のようになります。
オプション 2: GitHub リポジトリー acm-hive-openshift-releases
から YAML ファイル ClusterImageSets
を手動で作成し、適用します。
オプション 3: GitHub リポジトリー acm-hive-openshift-releases
の README.md
に従って、フォークした GitHub リポジトリーから ClusterImageSets
の自動更新を有効にします。
subscription
ディレクトリーには、リリースイメージの一覧がプルされる場所を指定するファイルが含まれます。
Red Hat Advanced Cluster Management のデフォルトのリリースイメージは、Quay.io デフォルトで提供されます。
イメージは、acm-hive-openshift-releases GitHub repository for release 2.5 のファイルで参照されます。
1.3.1. 別のアーキテクチャーにクラスターをデプロイするためのリリースイメージの作成
両方のアーキテクチャーのファイルを含むリリースイメージを手動で作成することで、ハブクラスターのアーキテクチャーとは異なるアーキテクチャーでクラスターを作成できます。
たとえば、ppc64le
、aarch64
、または s390x
アーキテクチャーで実行されているハブクラスターから x86_64
クラスターを作成する必要があるとします。両方のファイルセットでリリースイメージを作成する場合に、新規のリリースイメージにより OpenShift Container Platform リリースレジストリーがマルチアーキテクチャーイメージマニフェストを提供できるので、クラスターの作成は成功します。
リリースイメージを作成するには、アーキテクチャータイプに応じて次の例のような手順を実行します。
OpenShift Container Platform リリースレジストリー から、
x86_64
、s390x
、aarch64
、およびppc64le
リリースイメージを含む マニフェスト一覧 を作成します。以下のコマンド例を使用して、Quay リポジトリー から環境内の両方のアーキテクチャーのマニフェスト一覧をプルします。
podman pull quay.io/openshift-release-dev/ocp-release:4.10.1-x86_64 podman pull quay.io/openshift-release-dev/ocp-release:4.10.1-ppc64le podman pull quay.io/openshift-release-dev/ocp-release:4.10.1-s390x podman pull quay.io/openshift-release-dev/ocp-release:4.10.1-aarch64
イメージを管理するプライベートリポジトリーにログインします。
podman login <private-repo>
private-repo
は、リポジトリーへのパスに置き換えます。環境に適用される以下のコマンドを実行して、リリースイメージマニフェストをプライベートリポジトリーに追加します。
podman push quay.io/openshift-release-dev/ocp-release:4.10.1-x86_64 <private-repo>/ocp-release:4.10.1-x86_64 podman push quay.io/openshift-release-dev/ocp-release:4.10.1-ppc64le <private-repo>/ocp-release:4.10.1-ppc64le podman push quay.io/openshift-release-dev/ocp-release:4.10.1-s390x <private-repo>/ocp-release:4.10.1-s390x podman push quay.io/openshift-release-dev/ocp-release:4.10.1-aarch64 <private-repo>/ocp-release:4.10.1-aarch64
private-repo
は、リポジトリーへのパスに置き換えます。新規情報のマニフェストを作成します。
podman manifest create mymanifest
両方のリリースイメージへの参照をマニフェスト一覧に追加します。
podman manifest add mymanifest <private-repo>/ocp-release:4.10.1-x86_64 podman manifest add mymanifest <private-repo>/ocp-release:4.10.1-ppc64le podman manifest add mymanifest <private-repo>/ocp-release:4.10.1-s390x podman manifest add mymanifest <private-repo>/ocp-release:4.10.1-aarch64
private-repo
は、リポジトリーへのパスに置き換えます。マニフェストリストの一覧を既存のマニフェストにマージします。
podman manifest push mymanifest docker://<private-repo>/ocp-release:4.10.1
private-repo
は、リポジトリーへのパスに置き換えます。
ハブクラスターで、リポジトリーのマニフェストを参照するリリースイメージを作成します。
以下の例のような情報を含む YAML ファイルを作成します。
apiVersion: hive.openshift.io/v1 kind: ClusterImageSet metadata: labels: channel: fast visible: "true" name: img4.10.1-appsub spec: releaseImage: <private-repo>/ocp-release:4.10.1
private-repo
は、リポジトリーへのパスに置き換えます。ハブクラスターで以下のコマンドを実行し、変更を適用します。
oc apply -f <file-name>.yaml
file-name
を、先の手順で作成した YAML ファイルの名前に置き換えます。
- OpenShift Container Platform クラスターの作成時に新規リリースイメージを選択します。
- Red Hat Advanced Cluster Management コンソールを使用してマネージドクラスターをデプロイする場合は、クラスター作成のプロセス時に Architecture フィールドにマネージドクラスターのアーキテクチャーを指定します。
作成プロセスでは、マージされたリリースイメージを使用してクラスターを作成します。
1.3.2. 利用可能なリリースイメージの同期
リリースイメージは頻繁に更新されるため、リリースイメージの一覧を同期して、利用可能な最新バージョンを選択できるようにする必要があります。リリースイメージは、リリース 2.5 の acm-hive-openshift-releases の GitHub リポジトリーから入手できます。
リリースイメージの安定性には、以下の 3 つのレベルがあります。
カテゴリー | 説明 |
stable | 完全にテストされたイメージで、クラスターを正常にインストールしてビルドできることが確認されています。 |
fast | 部分的にテスト済みですが、stable バージョンよりも安定性が低い可能性があります。 |
candidate | テストはしていませんが、最新のイメージです。バグがある可能性もあります。 |
一覧を更新するには、以下の手順を実行します。
-
インストーラーが管理する
acm-hive-openshift-releases
サブスクリプションが有効になっている場合は、multiclusterhub
リソースのdisableUpdateClusterImageSets
の値をtrue
に設定してサブスクリプションを無効にします。 - リリース 2.5 の acm-hive-openshift-releases GitHub リポジトリーのクローンを作成します。
以下のコマンドのようなコマンドを入力して、サブスクリプションを削除します。
oc delete -f subscribe/subscription-fast
以下のコマンドを入力して、stable リリースイメージに接続し、Red Hat Advanced Cluster Management for Kubernetes のハブクラスターに同期します。
make subscribe-stable
注記: この
make
コマンドは、Linux または MacOS のオペレーティングシステムを使用している場合のみ実行できます。約 1 分後に、
安定
版のリリースイメージの最新の一覧が利用可能になります。Fast リリースイメージを同期して表示するには、以下のコマンドを実行します。
make subscribe-fast
注記: この
make
コマンドは、Linux または MacOS のオペレーティングシステムを使用している場合のみ実行できます。このコマンド実行の約 1 分後に、利用可能な
stable
とfast
のリリースイメージの一覧が、現在利用可能なイメージに更新されます。candidate
リリースイメージを同期して表示するには、以下のコマンドを実行します。make subscribe-candidate
注記: この
make
コマンドは、Linux または MacOS のオペレーティングシステムを使用している場合のみ実行できます。このコマンド実行の約 1 分後に、利用可能な
stable
、fast
、およびcandidate
のリリースイメージの一覧が、現在利用可能なイメージに更新されます。
- クラスターの作成時に、Red Hat Advanced Cluster Management コンソールで現在利用可能なリリースイメージの一覧を表示します。
以下の形式でコマンドを入力して、これらのチャネルのサブスクライブを解除して更新の表示を停止することができます。
oc delete -f subscribe/subscription-fast
1.3.3. 接続時におけるリリースイメージのカスタム一覧の管理
すべてのクラスターに同じリリースイメージが使用されるようにします。クラスターの作成時に利用可能なリリースイメージのカスタム一覧を作成し、作業を簡素化します。利用可能なリリースイメージを管理するには、以下の手順を実行します。
-
インストーラーが管理する
acm-hive-openshift-releases
サブスクリプションが有効になっている場合は、multiclusterhub
リソースのdisableUpdateClusterImageSets
の値をtrue
に設定して無効にします。 - acm-hive-openshift-releases GitHub repository 2.5 branch をフォークします。
./subscribe/channel.yaml
ファイルを更新して、stolostron
ではなく、フォークしたリポジトリーの GitHub 名にアクセスするようにspec: pathname
を変更します。この手順では、ハブクラスターによるリリースイメージの取得先を指定します。更新後の内容は以下の例のようになります。spec: type: Git pathname: https://github.com/<forked_content>/acm-hive-openshift-releases.git
forked_content
はフォークしたリポジトリーのへのパスに置き換えます。Red Hat Advanced Cluster Management for Kubernetes を使用して、クラスターの作成時に使用できるように、イメージの YAML ファイルを ./clusterImageSets/stable/* または ./clusterImageSets/fast/* に追加します。
ヒント: フォークしたリポジトリーに変更をマージして、メインのリポジトリーから利用可能な YAML ファイルを取得できます。
- フォークしたリポジトリーに変更をコミットし、マージします。
acm-hive-openshift-releases
リポジトリーをクローンした後に fast リリースイメージの一覧を同期するには、以下のコマンドを入力して fast イメージを更新します。make subscribe-fast
注記: この
make
コマンドは、Linux または MacOS のオペレーティングシステムを使用している場合のみ実行できます。このコマンドを実行後に、利用可能な fast リリースイメージの一覧が、現在利用可能なイメージに約 1 分ほどで更新されます。
デフォルトでは、fast イメージのみが一覧表示されます。stable リリースイメージを同期して表示するには、以下のコマンドを実行します。
make subscribe-stable
注記: この
make
コマンドは、Linux または MacOS のオペレーティングシステムを使用している場合のみ実行できます。このコマンドを実行後に、利用可能な安定版のリリースイメージの一覧が、現在利用可能なイメージに約 1 分ほどで更新されます。
デフォルトでは、Red Hat Advanced Cluster Management は、複数の ClusterImageSets を事前に読み込みます。以下のコマンドを使用して、利用可能ものを表示し、デフォルトの設定を削除します。
oc get clusterImageSets oc delete clusterImageSet <clusterImageSet_NAME>
注記:
multiclusterhub
のdisableUpdateClusterImageSets
の値をtrue
に設定して、インストーラー管理のClusterImageSets
の自動更新をまだ無効にしていない場合は、削除するイメージが自動的に再作成されます。- クラスターの作成時に、Red Hat Advanced Cluster Management コンソールで現在利用可能なリリースイメージの一覧を表示します。
1.3.4. 非接続時におけるリリースイメージのカスタム一覧の管理
ハブクラスターにインターネット接続がない場合は、リリースイメージのカスタムリストを管理しないといけない場合があります。クラスターの作成時に利用可能なリリースイメージのカスタム一覧を作成します。非接続時に、利用可能なリリースイメージを管理するには、以下の手順を実行します。
- オンラインシステムを使用している場合は、GitHub リポジトリー acm-hive-openshift-releases に移動し、バージョン 2.5 で利用可能なクラスターイメージセットにアクセスします。
-
clusterImageSets
ディレクトリーを、非接続の Red Hat Advanced Cluster Management for Kubernetes ハブクラスターにアクセス可能なシステムにコピーします。 管理対象クラスターに適合する次の手順を実行して、管理対象クラスターと切断されたリポジトリーの間にクラスターイメージセットを含むマッピングを追加します。
-
OpenShift Container Platform マネージドクラスターの場合は、
ImageContentSourcePolicy
オブジェクトを使用してマッピングを完了する方法についての詳細は、イメージレジストリーリポジトリーのミラーリングの設定 を参照してください。 -
OpenShift Container Platform クラスターではないマネージドクラスターの場合は、
ManageClusterImageRegistry
CRD を使用してイメージセットの場所を上書きします。マッピング用にクラスターを上書きする方法については、カスタム ManagedClusterImageRegistry CRD を使用したクラスターのインポート を参照してください。
-
OpenShift Container Platform マネージドクラスターの場合は、
-
clusterImageSet
YAML を手作業で追加し、Red Hat Advanced Cluster Management for Kubernetes コンソールを使用してクラスターを作成する時に利用できるようにイメージの YAML ファイルを追加します。 残りの OpenShift Container Platform リリースイメージの
clusterImageSet
YAML ファイルを、イメージの保存先の正しいオフラインリポジトリーを参照するように変更します。更新は次の例のようになります。apiVersion: hive.openshift.io/v1 kind: ClusterImageSet metadata: name: img4.4.0-rc.6-x86-64 spec: releaseImage: IMAGE_REGISTRY_IPADDRESS_or_DNSNAME/REPO_PATH/ocp-release:4.4.0-rc.6-x86_64
YAML ファイルで参照されているオフラインイメージレジストリーにイメージがロードされていることを確認します。
各 YAML ファイルに以下のコマンドを入力して、各
clusterImageSets
を作成します。oc create -f <clusterImageSet_FILE>
clusterImageSet_FILE
を、クラスターイメージセットファイルの名前に置き換えます。以下は例になります。oc create -f img4.9.9-x86_64.yaml
追加するリソースごとにこのコマンドを実行すると、利用可能なリリースイメージの一覧が使用できるようになります。
- または Red Hat Advanced Cluster Management のクラスター作成のコンソールに直接イメージの URL を貼り付けることもできます。イメージ URL が存在しない場合は、イメージ URL を追加すると新しい clusterImageSets が作成されます。
- クラスターの作成時に、Red Hat Advanced Cluster Management コンソールで現在利用可能なリリースイメージの一覧を表示します。