17.2. シングルノード OpenShift クラスターのイメージベースのインストールに向けた準備
シングルノード OpenShift クラスターのイメージベースのインストールを準備するには、次のタスクを完了する必要があります。
- Lifecycle Agent を使用してシードイメージを作成します。
- すべてのソフトウェアコンポーネントが必要なバージョンを満たしていることを確認します。詳細は、「イメージベースのインストールとデプロイのソフトウェアに関する前提条件」を参照してください。
17.2.1. Lifecycle Agent のインストール リンクのコピーリンクがクリップボードにコピーされました!
Lifecycle Agent を使用して、シードクラスターからシードイメージを生成します。Lifecycle Agent は、OpenShift CLI (oc) または Web コンソールを使用してインストールできます。
17.2.1.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 以下のコマンドを実行して
NamespaceCR を作成します。oc create -f <namespace_filename>.yaml
$ oc create -f <namespace_filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Lifecycle Agent 用の
OperatorGroupオブジェクトの YAML ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
OperatorGroupCR を作成します。oc create -f <operatorgroup_filename>.yaml
$ oc create -f <operatorgroup_filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Lifecycle Agent 用の
SubscriptionCR を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
SubscriptionCR を作成します。oc create -f <subscription_filename>.yaml
$ oc create -f <subscription_filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールが成功したことを確認するには、次のコマンドを実行して CSV リソースを調べます。
oc get csv -n openshift-lifecycle-agent
$ oc get csv -n openshift-lifecycle-agentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME DISPLAY VERSION REPLACES PHASE lifecycle-agent.v4.20.0 Openshift Lifecycle Agent 4.20.0 Succeeded
NAME DISPLAY VERSION REPLACES PHASE lifecycle-agent.v4.20.0 Openshift Lifecycle Agent 4.20.0 SucceededCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Lifecycle Agent が起動して実行されていることを確認します。
oc get deploy -n openshift-lifecycle-agent
$ oc get deploy -n openshift-lifecycle-agentCopy 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 14sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
17.2.1.2. Web コンソールを使用した Lifecycle Agent のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して、Lifecycle Agent をインストールできます。
前提条件
-
cluster-admin権限を持つユーザーとしてログインしている。
手順
-
OpenShift Container Platform Web コンソールで、エコシステム
ソフトウェアカタログ に移動します。 - 利用可能な Operator のリストから Lifecycle Agent を検索し、Install をクリックします。
- Install Operator ページの A specific namespace on the cluster の下で openshift-lifecycle-agent を選択します。
- Install をクリックします。
検証
インストールが正常に行われたことを確認するには、以下を実行します。
-
Ecosystem
Installed Operators をクリックします。 Lifecycle Agent が、InstallSucceeded ステータス で openshift-lifecycle-agent プロジェクトにリストされていることを確認します。
注記インストール時に、Operator は Failed ステータスを表示する可能性があります。インストールが後に InstallSucceeded メッセージを出して正常に実行される場合は、Failed メッセージを無視できます。
-
Ecosystem
Operator が正常にインストールされていない場合、以下を実行します。
-
Ecosystem
Installed Operators をクリックし、Operator Subscriptions および Install Plans タブで Status にエラーがあるかどうかを検査します。 -
Workloads
Pods をクリックし、openshift-lifecycle-agent プロジェクト内の Pod のログを確認します。
17.2.3. シードイメージの設定 リンクのコピーリンクがクリップボードにコピーされました!
シードイメージは、ベアメタルホストと同じハードウェアを持ち、類似するターゲットクラスター設定を持つシングルノード OpenShift クラスターから作成できます。ただし、シードクラスターから生成されるシードイメージに、クラスター固有の設定を含めることはできません。
次の表は、シードイメージに含めるべき、および含めるべきでないコンポーネント、リソース、設定を示しています。
| Cluster configuration | シードイメージに含める |
|---|---|
| パフォーマンスプロファイル | はい |
|
ターゲットクラスターの | はい |
| IP バージョン設定(IPv4、IPv6、またはデュアルスタックネットワークのいずれか) | はい |
| Lifecycle Agent と OADP Operator を含む Day 2 Operator のセット | はい |
| 切断されたレジストリー設定 [2] | はい |
| 有効なプロキシー設定 [3] | はい |
| FIPS 設定 | はい |
| ターゲットクラスターのサイズに一致する、コンテナーストレージ用のプライマリーディスク上の専用パーティション | はい |
| ローカルボリューム
| いいえ |
- シードクラスターが非接続環境にインストールされている場合は、ターゲットクラスターも非接続環境にインストールする必要があります。
- プロキシー設定は、シードクラスターとターゲットクラスターの両方で有効または無効にする必要があります。ただし、クラスター上で設定されている複数のプロキシーサーバーが同じである必要はありません。
17.2.3.1. RAN DU プロファイルを使用したシードイメージの設定 リンクのコピーリンクがクリップボードにコピーされました!
次の表は、RAN DU プロファイルを使用する際にシードイメージに含めるべき、および含めるべきでないコンポーネント、リソース、設定を示しています。
| リソース | シードイメージに含める |
|---|---|
| Day 0 インストールの一部として適用されるすべての追加マニフェスト | はい |
| すべての Day 2 Operator サブスクリプション | はい |
|
| はい |
|
| はい |
|
| はい |
|
| はい |
|
| はい |
|
|
☓ ( |
|
| いいえ |
|
| いいえ |
次のリソースと設定のリストは、追加のマニフェストとして、または RHACM ポリシーを使用して適用できます。
-
ClusterLogForwarder.yaml -
ReduceMonitoringFootprint.yaml -
SriovFecClusterConfig.yaml -
PtpOperatorConfigForEvent.yaml -
DefaultCatsrc.yaml -
PtpConfig.yaml -
SriovNetwork.yaml
GitOps ZTP を使用している場合は、RHACM ポリシーを使用してこれらのリソースを有効にし、クラスターのライフサイクル全体に設定の変更を適用できるようにします。
17.2.4. Lifecycle Agent を使用したシードイメージの生成 リンクのコピーリンクがクリップボードにコピーされました!
Lifecycle Agent を使用して、マネージドクラスターからシードイメージを生成します。Operator は、必要なシステム設定を確認し、シードイメージを生成する前に必要なシステムクリーンアップを実行して、イメージ生成を開始します。シードイメージの生成には、次のタスクが含まれます。
- クラスター Operator の停止
- シードイメージ設定の準備
-
シードイメージの生成および
SeedGeneratorCR で指定されたイメージリポジトリーへのシードイメージのプッシュ - クラスター Operator の復元
- 期限切れのシードクラスター証明書
- シードクラスター用の新しい証明書の生成
-
シードクラスター上の
SeedGeneratorCR の復元と更新
前提条件
- RHACM と multicluster engine for Kubernetes Operator はシードクラスターにインストールされていません。
- シードクラスターに共有コンテナーディレクトリーを設定した。
- シードクラスターに OADP Operator と Lifecycle Agent の最小バージョンをインストールした。
- シードクラスターに永続ボリュームが設定されていないことを確認する。
-
Local Storage Operator が使用されている場合は、シードクラスターに
LocalVolumeCR が存在しないことを確認する。 -
LVM ストレージが使用されている場合は、シードクラスターに
LVMClusterCR が存在しないことを確認する。 -
OADP が使用されている場合は、シードクラスターに
DataProtectionApplicationCR が存在しないことを確認する。
手順
マネージドクラスターをハブからデタッチして、シードイメージに含まれてはならない RHACM 固有のリソースをシードクラスターから削除します。
次のコマンドを実行してシードクラスターを手動でデタッチします。
oc delete managedcluster sno-worker-example
$ oc delete managedcluster sno-worker-exampleCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
マネージドクラスターが削除されるまで待機します。クラスターが削除されたら、適切な
SeedGeneratorCR を作成します。Lifecycle Agent は RHACM アーティファクトをクリーンアップします。
-
マネージドクラスターが削除されるまで待機します。クラスターが削除されたら、適切な
GitOps ZTP を使用している場合は、シードクラスターの
SiteConfigCR をkustomization.yamlから削除してクラスターをデタッチします。複数の
SiteConfigCR を参照するkustomization.yamlファイルがある場合は、シードクラスターのSiteConfigCR をkustomization.yamlから削除します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 1 つの
SiteConfigCR を参照するkustomization.yamlがある場合は、シードクラスターのSiteConfigCR を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} ; echoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力を、
openshift-lifecycle-agentnamespace のseedgenという名前のSecretYAML ファイルのseedAuthフィールドにコピーします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
Secretを適用します。oc apply -f secretseedgenerator.yaml
$ oc apply -f secretseedgenerator.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
SeedGeneratorCR を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行してシードイメージを生成します。
oc apply -f seedgenerator.yaml
$ oc apply -f seedgenerator.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要Lifecycle Agent がシードイメージを生成している間、クラスターが再起動し、API 機能が失われます。
SeedGeneratorCR を適用すると、kubeletと CRI-O の操作が停止し、イメージ生成が開始されます。
より多くのシードイメージを生成する場合は、シードイメージを生成するバージョンで新しいシードクラスターをプロビジョニングする必要があります。
検証
クラスターが回復して使用可能になったら、次のコマンドを実行して
SeedGeneratorCR のステータスを確認できます。oc get seedgenerator -o yaml
$ oc get seedgenerator -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- シードイメージの生成が完了しました。