15.2. シングルノード OpenShift クラスターのイメージベースアップグレードの準備
15.2.2. イメージベースアップグレード用の Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
Lifecycle Agent と OADP Operator をインストールして、アップグレードに向けてクラスターを準備します。
GitOps 以外の方法で OADP Operator をインストールするには、「OADP Operator のインストール」を参照してください。
15.2.2.1. CLI を使用した Lifecycle Agent のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc
) を使用して Lifecycle Agent をインストールできます。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。 -
cluster-admin
権限を持つユーザーとしてログインしている。
手順
Lifecycle Agent 用の
Namespace
オブジェクトの YAML ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
Namespace
CR を作成します。oc create -f <namespace_filename>.yaml
$ oc create -f <namespace_filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Lifecycle Agent 用の
OperatorGroup
オブジェクトの YAML ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
OperatorGroup
CR を作成します。oc create -f <operatorgroup_filename>.yaml
$ oc create -f <operatorgroup_filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Lifecycle Agent 用の
Subscription
CR を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
Subscription
CR を作成します。oc create -f <subscription_filename>.yaml
$ oc create -f <subscription_filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールが成功したことを確認するには、次のコマンドを実行して CSV リソースを調べます。
oc get csv -n openshift-lifecycle-agent
$ oc get csv -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME DISPLAY VERSION REPLACES PHASE lifecycle-agent.v4.17.0 Openshift Lifecycle Agent 4.17.0 Succeeded
NAME DISPLAY VERSION REPLACES PHASE lifecycle-agent.v4.17.0 Openshift Lifecycle Agent 4.17.0 Succeeded
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Lifecycle Agent が起動して実行されていることを確認します。
oc get deploy -n openshift-lifecycle-agent
$ oc get deploy -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY UP-TO-DATE AVAILABLE AGE lifecycle-agent-controller-manager 1/1 1 1 14s
NAME READY UP-TO-DATE AVAILABLE AGE lifecycle-agent-controller-manager 1/1 1 1 14s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.2.2. Web コンソールを使用した Lifecycle Agent のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して、Lifecycle Agent をインストールできます。
前提条件
-
cluster-admin
権限を持つユーザーとしてログインしている。
手順
-
OpenShift Container Platform Web コンソールで、Operators
OperatorHub ページに移動します。 - 利用可能な Operator のリストから Lifecycle Agent を検索し、Install をクリックします。
- Install Operator ページの A specific namespace on the cluster の下で openshift-lifecycle-agent を選択します。
- Install をクリックします。
検証
インストールが正常に行われたことを確認するには、以下を実行します。
-
Operators
Installed Operators をクリックします。 Lifecycle Agent が、InstallSucceeded ステータス で openshift-lifecycle-agent プロジェクトにリストされていることを確認します。
注記インストール時に、Operator は Failed ステータスを表示する可能性があります。インストールが後に InstallSucceeded メッセージを出して正常に実行される場合は、Failed メッセージを無視できます。
-
Operators
Operator が正常にインストールされていない場合、以下を実行します。
-
Operators
Installed Operators をクリックし、Operator Subscriptions タブおよび Install Plans タブの ステータス で障害やエラーがないか検査します。 -
Workloads
Pods をクリックし、openshift-lifecycle-agent プロジェクト内の Pod のログを確認します。
15.2.2.3. GitOps ZTP を使用した Lifecycle Agent のインストール リンクのコピーリンクがクリップボードにコピーされました!
イメージベースアップグレードを実行するには、GitOps Zero Touch Provisioning (ZTP) を使用して Lifecycle Agent をインストールします。
手順
ztp-site-generate
コンテナーイメージから次の CR を抽出し、source-cr
ディレクトリーにプッシュします。LcaSubscriptionNS.yaml
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow LcaSubscriptionOperGroup.yaml
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow LcaSubscription.yaml
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow ディレクトリー構造の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 共通の
PolicyGenTemplate
に CR を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.2.4. GitOps ZTP を使用した OADP Operator のインストールと設定 リンクのコピーリンクがクリップボードにコピーされました!
アップグレードを開始する前に、GitOps ZTP を使用して OADP Operator をインストールして設定します。
手順
ztp-site-generate
コンテナーイメージから次の CR を抽出し、source-cr
ディレクトリーにプッシュします。OadpSubscriptionNS.yaml
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow OadpSubscriptionOperGroup.yaml
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow OadpSubscription.yaml
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow OadpOperatorStatus.yaml
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow ディレクトリー構造の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 共通の
PolicyGenTemplate
に CR を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ターゲットクラスター専用の
DataProtectionApplication
CR と S3 シークレットを作成します。ztp-site-generate
コンテナーイメージから次の CR を抽出し、source-cr
ディレクトリーにプッシュします。OadpDataProtectionApplication.yaml
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 永続ボリュームの内容はアップグレード後に保持され、再利用されるため、イメージベースアップグレードでは
spec.configuration.restic.enable
フィールドをfalse
に設定する必要があります。 - 2 3
- バケットは、S3 バックエンドで作成されるバケット名を定義します。接頭辞は、バケット内に自動的に作成されるサブディレクトリーの名前を定義します。バケットと接頭辞の組み合わせは、それらの間の干渉を避けるために、各ターゲットクラスターごとに一意である必要があります。各ターゲットクラスターに一意のストレージディレクトリーを確保するには、Red Hat Advanced Cluster Management のハブテンプレート機能を使用できます (例:
prefix: {{hub .ManagedClusterName hub}}
)。
OadpSecret.yaml
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow OadpBackupStorageLocationStatus.yaml
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
BackupStorageLocation
リソースのname
の値は、<DataProtectionApplication.metadata.name>-<index>
というパターンに従う必要があります。<index>
は、DataProtectionApplication
リソースのspec.backupLocations
フィールド内の対応するbackupLocations
エントリーの位置を表します。位置は1
から始まります。OadpDataProtectionApplication.yaml
ファイルでDataProtectionApplication
リソースのmetadata.name
値が変更された場合は、それに応じてBackupStorageLocation
リソースのmetadata.name
フィールドを更新します。
OadpBackupStorageLocationStatus.yaml
CR は、OADP によって作成されたバックアップストレージの場所の可用性を確認します。オーバーライドを使用して、サイトの
PolicyGenTemplate
に CR を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- S3 ストレージバックエンドの認証情報を指定します。
- 2
OadpDataProtectionApplication
CR に複数のbackupLocations
エントリーが定義されている場合は、ステータス追跡のために、対応するOadpBackupStorageLocation
CR がそれぞれの場所に追加されていることを確認します。追加の各OadpBackupStorageLocation
CR の名前が、OadpBackupStorageLocationStatus.yaml
ファイルの例で説明されている正しいインデックスでオーバーライドされていることを確認してください。- 3
- S3 互換バケットの URL を指定します。
- 4 5
bucket
は、S3 バックエンドで作成されるバケット名を定義します。prefix
は、bucket
内に自動的に作成されるサブディレクトリーの名前を定義します。bucket
とprefix
の組み合わせは、それらの間の干渉を避けるために、各ターゲットクラスターごとに一意である必要があります。各ターゲットクラスターに一意のストレージディレクトリーを確保するには、Red Hat Advanced Cluster Management のハブテンプレート機能を使用できます (例:prefix: {{hub .ManagedClusterName hub}}
)。
15.2.3. Lifecycle Agent を使用したイメージベースアップグレード用のシードイメージの生成 リンクのコピーリンクがクリップボードにコピーされました!
Lifecycle Agent を使用して、SeedGenerator
カスタムリソース (CR) でシードイメージを生成します。
15.2.3.1. シードイメージの設定 リンクのコピーリンクがクリップボードにコピーされました!
シードイメージは、同じハードウェアと同様の設定を持つシングルノードの OpenShift クラスターのセットを対象とします。つまり、シードイメージには、シードクラスターがターゲットクラスターと共有するすべてのコンポーネントと設定が含まれている必要があります。したがって、シードクラスターから生成されたシードイメージには、クラスター固有の設定を含めることはできません。
次の表は、シードイメージに含めるべき、および含めるべきでないコンポーネント、リソース、設定を示しています。
Cluster configuration | シードイメージに含める |
---|---|
パフォーマンスプロファイル | はい |
ターゲットクラスターの | はい |
IP バージョン [1] | はい |
Lifecycle Agent と OADP Operator を含む Day 2 Operator のセット | はい |
切断されたレジストリー設定 [2] | はい |
有効なプロキシー設定 [3] | はい |
FIPS 設定 | はい |
ターゲットクラスターのサイズに一致する、コンテナーストレージ用のプライマリーディスク上の専用パーティション | はい |
ローカルボリューム
| いいえ |
OADP | いいえ |
- このリリースではデュアルスタックネットワークはサポートされていません。
- シードクラスターが非接続環境にインストールされている場合は、ターゲットクラスターも非接続環境にインストールする必要があります。
- プロキシー設定は、シードクラスターとターゲットクラスターの両方で有効または無効にする必要があります。ただし、クラスター上で設定されている複数のプロキシーサーバーが同じである必要はありません。
15.2.3.1.1. RAN DU プロファイルを使用したシードイメージの設定 リンクのコピーリンクがクリップボードにコピーされました!
次の表は、RAN DU プロファイルを使用する際にシードイメージに含めるべき、および含めるべきでないコンポーネント、リソース、設定を示しています。
リソース | シードイメージに含める |
---|---|
Day 0 インストールの一部として適用されるすべての追加マニフェスト | はい |
すべての Day 2 Operator サブスクリプション | はい |
| はい |
| はい |
| はい |
| はい |
| はい |
|
☓ ( |
| いいえ |
| いいえ |
リソース | 追加マニフェストとして適用 |
---|---|
| はい 注記
DU プロファイルには Cluster Logging Operator が含まれますが、このプロファイルでは Cluster Logging Operator CR は設定または適用されません。ログ転送を有効にするには、追加のマニフェストとして |
| はい |
| はい |
| はい |
| はい |
| ターゲットクラスターのインターフェイスがシードクラスターと共通である場合は、それらをシードイメージに含めることができます。それ以外の場合は、追加のマニフェストとして適用します。 |
| namespace を含む設定がシードクラスターとターゲットクラスターの両方でまったく同じである場合は、それらをシードイメージに含めることができます。それ以外の場合は、追加のマニフェストとして適用します。 |
15.2.3.2. Lifecycle Agent を使用したシードイメージの生成 リンクのコピーリンクがクリップボードにコピーされました!
Lifecycle Agent を使用して、マネージドクラスターからシードイメージを生成します。Operator は、必要なシステム設定を確認し、シードイメージを生成する前に必要なシステムクリーンアップを実行して、イメージ生成を開始します。シードイメージの生成には、次のタスクが含まれます。
- クラスター Operator の停止
- シードイメージ設定の準備
-
シードイメージの生成および
SeedGenerator
CR で指定されたイメージリポジトリーへのシードイメージのプッシュ - クラスター Operator の復元
- 期限切れのシードクラスター証明書
- シードクラスター用の新しい証明書の生成
-
シードクラスター上の
SeedGenerator
CR の復元と更新
前提条件
- RHACM と multicluster engine for Kubernetes Operator はシードクラスターにインストールされていません。
- シードクラスターに共有コンテナーディレクトリーを設定した。
- シードクラスターに OADP Operator と Lifecycle Agent の最小バージョンをインストールした。
- シードクラスターに永続ボリュームが設定されていないことを確認する。
-
Local Storage Operator が使用されている場合は、シードクラスターに
LocalVolume
CR が存在しないことを確認する。 -
LVM ストレージが使用されている場合は、シードクラスターに
LVMCluster
CR が存在しないことを確認する。 -
OADP が使用されている場合は、シードクラスターに
DataProtectionApplication
CR が存在しないことを確認する。
手順
マネージドクラスターをハブからデタッチして、シードイメージに含まれてはならない RHACM 固有のリソースをシードクラスターから削除します。
次のコマンドを実行してシードクラスターを手動でデタッチします。
oc delete managedcluster sno-worker-example
$ oc delete managedcluster sno-worker-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
マネージドクラスターが削除されるまで待機します。クラスターが削除されたら、適切な
SeedGenerator
CR を作成します。Lifecycle Agent は RHACM アーティファクトをクリーンアップします。
-
マネージドクラスターが削除されるまで待機します。クラスターが削除されたら、適切な
GitOps ZTP を使用している場合は、シードクラスターの
SiteConfig
CR をkustomization.yaml
から削除してクラスターをデタッチします。複数の
SiteConfig
CR を参照するkustomization.yaml
ファイルがある場合は、シードクラスターのSiteConfig
CR をkustomization.yaml
から削除します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 1 つの
SiteConfig
CR を参照するkustomization.yaml
がある場合は、シードクラスターのSiteConfig
CR をkustomization.yaml
から削除し、generators: {}
行を追加します。apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization generators: {}
apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization generators: {}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Git リポジトリーで
kustomization.yaml
の変更をコミットし、変更をリポジトリーにプッシュします。ArgoCD パイプラインは変更を検出し、マネージドクラスターを削除します。
シードイメージをレジストリーにプッシュできるように、
Secret
オブジェクトを作成します。次のコマンドを実行して認証ファイルを作成します。
MY_USER=myuserid AUTHFILE=/tmp/my-auth.json podman login --authfile ${AUTHFILE} -u ${MY_USER} quay.io/${MY_USER}
$ MY_USER=myuserid $ AUTHFILE=/tmp/my-auth.json $ podman login --authfile ${AUTHFILE} -u ${MY_USER} quay.io/${MY_USER}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow base64 -w 0 ${AUTHFILE} ; echo
$ base64 -w 0 ${AUTHFILE} ; echo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力を、
openshift-lifecycle-agent
namespace のseedgen
という名前のSecret
YAML ファイルのseedAuth
フィールドにコピーします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
Secret
を適用します。oc apply -f secretseedgenerator.yaml
$ oc apply -f secretseedgenerator.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
SeedGenerator
CR を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行してシードイメージを生成します。
oc apply -f seedgenerator.yaml
$ oc apply -f seedgenerator.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要Lifecycle Agent がシードイメージを生成している間、クラスターが再起動し、API 機能が失われます。
SeedGenerator
CR を適用すると、kubelet
と CRI-O の操作が停止し、イメージ生成が開始されます。
より多くのシードイメージを生成する場合は、シードイメージを生成するバージョンで新しいシードクラスターをプロビジョニングする必要があります。
検証
クラスターが回復して使用可能になったら、次のコマンドを実行して
SeedGenerator
CR のステータスを確認できます。oc get seedgenerator -o yaml
$ oc get seedgenerator -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- シードイメージの生成が完了しました。
15.2.4. Lifecycle Agent を使用したイメージベースアップグレード用の ConfigMap オブジェクトの作成 リンクのコピーリンクがクリップボードにコピーされました!
Lifecycle Agent では、イメージベースアップグレード用に処理するために、すべての OADP リソース、追加のマニフェスト、およびカスタムカタログソースが ConfigMap
オブジェクトにラップされている必要があります。
15.2.4.1. Lifecycle Agent を使用したイメージベースアップグレード用の OADP ConfigMap オブジェクトの作成 リンクのコピーリンクがクリップボードにコピーされました!
アップグレード中にリソースをバックアップおよび復元するために使用される OADP リソースを作成します。
前提条件
- 互換性のあるシードクラスターからシードイメージを生成した。
- OADP のバックアップおよび復元リソースを作成した。
- stateroot 間で共有されるコンテナーイメージ用に、ターゲットクラスターに個別のパーティションを作成した。詳細は、「イメージベースアップグレード用の共有コンテナーパーティションの設定」を参照してください。
- シードイメージで使用されるバージョンと互換性のあるバージョンの Lifecycle Agent をデプロイした。
-
OADP Operator、
DataProtectionApplication
CR、およびそのシークレットをターゲットクラスターにインストールした。 - S3 互換のストレージソリューションとすぐに使用できるバケットを作成し、適切な認証情報を設定した。詳細は、「OADP のインストールについて」を参照してください。
手順
OADP Operator がインストールされているのと同じ namespace (
openshift-adp
) に、プラットフォームアーティファクトの OADPBackup
CR およびRestore
CR を作成します。ターゲットクラスターが RHACM によって管理されている場合は、RHACM アーティファクトをバックアップおよび復元するために次の YAML ファイルを追加します。
RHACM 用の PlatformBackupRestore.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
multiclusterHub
CR に.spec.imagePullSecret
が定義されておらず、ハブクラスターのopen-cluster-management-agent
namespace にシークレットが存在しない場合は、v1/secrets/open-cluster-management-agent/open-cluster-management-image-pull-credentials
を削除します。
LVM Storage を介してクラスター上に永続ボリュームを作成した場合は、LVM Storage アーティファクトに次の YAML ファイルを追加します。
LVM Storage 用の PlatformBackupRestoreLvms.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
lca.openshift.io/apply-wave
の値は、アプリケーションのRestore
CR で指定された値よりも低くする必要があります。
アップグレード後にアプリケーションを復元する必要がある場合は、
openshift-adp
namespace にアプリケーションの OADPBackup
CR およびRestore
CR を作成します。openshift-adp
namespace にクラスタースコープのアプリケーションアーティファクト用の OADP CR を作成します。LSO および LVM Storage のクラスタースコープアプリケーションアーティファクトの OADP CR の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow namespace スコープのアプリケーションアーティファクト用の OADP CR を作成します。
LSO が使用される場合の OADP CR の namespace スコープのアプリケーションアーティファクトの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- アプリケーションのカスタムリソースを定義します。
LVM Storage が使用されている場合の OADP CR namespace スコープのアプリケーションアーティファクトの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要アプリケーションの同じバージョンが、OpenShift Container Platform の現在のリリースとターゲットリリースの両方で機能する必要があります。
次のコマンドを実行して、OADP CR の
ConfigMap
オブジェクトを作成します。oc create configmap oadp-cm-example --from-file=example-oadp-resources.yaml=<path_to_oadp_crs> -n openshift-adp
$ oc create configmap oadp-cm-example --from-file=example-oadp-resources.yaml=<path_to_oadp_crs> -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
ImageBasedUpgrade
CR にパッチを適用します。oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"oadpContent": [{"name": "oadp-cm-example", "namespace": "openshift-adp"}]}}' \ --type=merge -n openshift-lifecycle-agent
$ oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"oadpContent": [{"name": "oadp-cm-example", "namespace": "openshift-adp"}]}}' \ --type=merge -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.4.2. Lifecycle Agent を使用したイメージベースアップグレード用の追加マニフェストの ConfigMap オブジェクトの作成 リンクのコピーリンクがクリップボードにコピーされました!
ターゲットクラスターに適用する追加のマニフェストを作成します。
複数のマニフェストを追加し、マニフェストを特定の順序で適用する必要がある場合は、マニフェストのファイル名の前に、必要な順序を表す数字を付ける必要があります。たとえば、00-namespace.yaml
、01-sriov-extra-manifest.yaml
などです。
手順
SR-IOV などの追加マニフェストを含む YAML ファイルを作成します。
SR-IOV リソースの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
ConfigMap
オブジェクトを作成します。oc create configmap example-extra-manifests-cm --from-file=example-extra-manifests.yaml=<path_to_extramanifest> -n openshift-lifecycle-agent
$ oc create configmap example-extra-manifests-cm --from-file=example-extra-manifests.yaml=<path_to_extramanifest> -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
ImageBasedUpgrade
CR にパッチを適用します。oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"extraManifests": [{"name": "example-extra-manifests-cm", "namespace": "openshift-lifecycle-agent"}]}}' \ --type=merge -n openshift-lifecycle-agent
$ oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"extraManifests": [{"name": "example-extra-manifests-cm", "namespace": "openshift-lifecycle-agent"}]}}' \ --type=merge -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.4.3. Lifecycle Agent を使用したイメージベースのアップグレード用のカスタムカタログソースの ConfigMap オブジェクトの作成 リンクのコピーリンクがクリップボードにコピーされました!
カタログソースの ConfigMap
オブジェクトを生成し、それを ImageBasedUpgrade
CR の spec.extraManifest
フィールドに追加することで、アップグレード後もカスタムカタログソースを保持できます。カタログソースの詳細は、「カタログソース」を参照してください。
手順
CatalogSource
CR を含む YAML ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
ConfigMap
オブジェクトを作成します。oc create configmap example-catalogsources-cm --from-file=example-catalogsources.yaml=<path_to_catalogsource_cr> -n openshift-lifecycle-agent
$ oc create configmap example-catalogsources-cm --from-file=example-catalogsources.yaml=<path_to_catalogsource_cr> -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
ImageBasedUpgrade
CR にパッチを適用します。oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"extraManifests": [{"name": "example-catalogsources-cm", "namespace": "openshift-lifecycle-agent"}]}}' \ --type=merge -n openshift-lifecycle-agent
$ oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"extraManifests": [{"name": "example-catalogsources-cm", "namespace": "openshift-lifecycle-agent"}]}}' \ --type=merge -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.5. GitOps ZTP を使用した Lifecycle Agent によるイメージベースアップグレード用の ConfigMap オブジェクトの作成 リンクのコピーリンクがクリップボードにコピーされました!
イメージベースアップグレードに備えて、ConfigMap
オブジェクトにラップされた OADP リソース、追加のマニフェスト、カスタムカタログソースを作成します。
15.2.5.1. GitOps ZTP を使用したイメージベースアップグレード用の OADP リソースの作成 リンクのコピーリンクがクリップボードにコピーされました!
アップグレード後にアプリケーションを復元できるように OADP リソースを準備します。
前提条件
- GitOps ZTP を使用して 1 つ以上のマネージドクラスターをプロビジョニングした。
-
cluster-admin
権限を持つユーザーとしてログインしている。 - 互換性のあるシードクラスターからシードイメージを生成した。
- stateroot 間で共有されるコンテナーイメージ用に、ターゲットクラスターに個別のパーティションを作成した。詳細は、「GitOps ZTP を使用した場合の ostree stateroot 間の共有コンテナーパーティションの設定」を参照してください。
- シードイメージで使用されるバージョンと互換性のあるバージョンの Lifecycle Agent をデプロイした。
-
OADP Operator、
DataProtectionApplication
CR、およびそのシークレットをターゲットクラスターにインストールした。 - S3 互換のストレージソリューションとすぐに使用できるバケットを作成し、適切な認証情報を設定した。詳細は、「GitOps ZTP を使用した OADP Operator のインストールと設定」を参照してください。
-
OADP
ConfigMap
を生成してクラスターにコピーできるように、OADPConfigMap
オブジェクト用のopenshift-adp
namespace が、すべてのマネージドクラスターとハブに存在する。
手順
ArgoCD ポリシーアプリケーションで使用する Git リポジトリーに次のディレクトリー構造が含まれていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow source-crs/ibu/PlatformBackupRestoreWithIBGU.yaml
ファイルは、ZTP コンテナーイメージで提供されます。PlatformBackupRestoreWithIBGU.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
multiclusterHub
CR に.spec.imagePullSecret
が定義されておらず、ハブクラスターのopen-cluster-management-agent
namespace にシークレットが存在しない場合は、v1/secrets/open-cluster-management-agent/open-cluster-management-image-pull-credentials
を削除します。
注記マネージドクラスターでイメージベースのアップグレードを直接実行する場合は、
PlatformBackupRestore.yaml
ファイルを使用します。LVM Storage を使用して永続ボリュームを作成する場合は、ZTP コンテナーイメージで提供される
source-crs/ibu/PlatformBackupRestoreLvms.yaml
を使用して、LVM Storage リソースをバックアップできます。PlatformBackupRestoreLvms.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
lca.openshift.io/apply-wave
の値は、アプリケーションのRestore
CR で指定された値よりも低くする必要があります。
アップグレード後にアプリケーションを復元する必要がある場合は、
openshift-adp
namespace にアプリケーションの OADPBackup
CR およびRestore
CR を作成します。openshift-adp
namespace にクラスタースコープのアプリケーションアーティファクト用の OADP CR を作成します。LSO および LVM Storage のクラスタースコープアプリケーションアーティファクトの OADP CR の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow namespace スコープのアプリケーションアーティファクト用の OADP CR を
source-crs/custom-crs
ディレクトリーに作成します。LSO が使用される場合の OADP CR の namespace スコープのアプリケーションアーティファクトの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- アプリケーションのカスタムリソースを定義します。
LVM Storage が使用されている場合の OADP CR namespace スコープのアプリケーションアーティファクトの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要アプリケーションの同じバージョンが、OpenShift Container Platform の現在のリリースとターゲットリリースの両方で機能する必要があります。
次の内容を含む
kustomization.yaml
を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を Git リポジトリーにプッシュします。
15.2.5.2. GitOps ZTP を使用したイメージベースアップグレード用の追加マニフェストのラベル付け リンクのコピーリンクがクリップボードにコピーされました!
追加のマニフェストにラベルを付けて、Lifecycle Agent が lca.openshift.io/target-ocp-version: <target_version>
ラベルでラベル付けされたリソースを抽出できるようにします。
前提条件
- GitOps ZTP を使用して 1 つ以上のマネージドクラスターをプロビジョニングした。
-
cluster-admin
権限を持つユーザーとしてログインしている。 - 互換性のあるシードクラスターからシードイメージを生成した。
- stateroot 間で共有されるコンテナーイメージ用に、ターゲットクラスターに個別のパーティションを作成した。詳細は、「GitOps ZTP を使用する場合の ostree stateroot 間の共有コンテナーディレクトリーの設定」を参照してください。
- シードイメージで使用されるバージョンと互換性のあるバージョンの Lifecycle Agent をデプロイした。
手順
既存のサイトの
PolicyGenTemplate
CR で、必要な追加マニフェストにlca.openshift.io/target-ocp-version: <target_version>
ラベルを付けます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を Git リポジトリーにプッシュします。
15.2.6. コンテナーストレージディスクの自動イメージクリーンアップの設定 リンクのコピーリンクがクリップボードにコピーされました!
使用可能なストレージ領域の最小しきい値をアノテーションによって設定することで、Prep
ステージにおいて Lifecycle Agent が固定されていないイメージをクリーンアップするときの条件を設定します。デフォルトのコンテナーストレージディスク使用量のしきい値は 50% です。
Lifecycle Agent は、CRI-O に固定されているイメージや現在使用されているイメージを削除しません。Operator は、まずダングリング (dangling) 状態のイメージから削除するイメージを選択します。さらに、イメージの Created
タイムスタンプに基づいて最も古いイメージから新しいイメージの順に並べ替えることで、削除するイメージを選択します。
15.2.6.1. コンテナーストレージディスクの自動イメージクリーンアップの設定 リンクのコピーリンクがクリップボードにコピーされました!
アノテーションにより、使用可能なストレージ領域の最小しきい値を設定します。
前提条件
-
ImageBasedUpgrade
CR を作成した。
手順
次のコマンドを実行して、しきい値を 65% に増やします。
oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/disk-usage-threshold-percent='65'
$ oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/disk-usage-threshold-percent='65'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (オプション) 次のコマンドを実行して、しきい値のオーバーライドを削除します。
oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/disk-usage-threshold-percent-
$ oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/disk-usage-threshold-percent-
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.6.2. コンテナーストレージディスクの自動イメージクリーンアップの無効化 リンクのコピーリンクがクリップボードにコピーされました!
自動イメージクリーンアップのしきい値を無効にします。
手順
次のコマンドを実行して、自動イメージクリーンアップを無効にします。
oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/on-prep='Disabled'
$ oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/on-prep='Disabled'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (オプション) 次のコマンドを実行して、自動イメージクリーンアップを再度有効にします。
oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/on-prep-
$ oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/on-prep-
Copy to Clipboard Copied! Toggle word wrap Toggle overflow