16.2. シングルノード OpenShift クラスターのイメージベースのインストールに向けた準備
シングルノード OpenShift クラスターのイメージベースのインストールを準備するには、次のタスクを完了する必要があります。
- Lifecycle Agent を使用してシードイメージを作成します。
- すべてのソフトウェアコンポーネントが必要なバージョンを満たしていることを確認します。詳細は、「イメージベースのインストールとデプロイのソフトウェアに関する前提条件」を参照してください。
16.2.1. Lifecycle Agent のインストール リンクのコピーリンクがクリップボードにコピーされました!
Lifecycle Agent を使用して、シードクラスターからシードイメージを生成します。Lifecycle Agent は、OpenShift CLI (oc
) または Web コンソールを使用してインストールできます。
16.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 以下のコマンドを実行して
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
16.2.1.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 のログを確認します。
16.2.3. シードイメージの設定 リンクのコピーリンクがクリップボードにコピーされました!
シードイメージは、ベアメタルホストと同じハードウェアを持ち、類似するターゲットクラスター設定を持つシングルノード OpenShift クラスターから作成できます。ただし、シードクラスターから生成されるシードイメージに、クラスター固有の設定を含めることはできません。
次の表は、シードイメージに含めるべき、および含めるべきでないコンポーネント、リソース、設定を示しています。
Cluster configuration | シードイメージに含める |
---|---|
パフォーマンスプロファイル | はい |
ターゲットクラスターの | はい |
IP バージョン [1] | はい |
Lifecycle Agent と OADP Operator を含む Day 2 Operator のセット | はい |
切断されたレジストリー設定 [2] | はい |
有効なプロキシー設定 [3] | はい |
FIPS 設定 | はい |
ターゲットクラスターのサイズに一致する、コンテナーストレージ用のプライマリーディスク上の専用パーティション | はい |
ローカルボリューム
| いいえ |
- このリリースではデュアルスタックネットワークはサポートされていません。
- シードクラスターが非接続環境にインストールされている場合は、ターゲットクラスターも非接続環境にインストールする必要があります。
- プロキシー設定は、シードクラスターとターゲットクラスターの両方で有効または無効にする必要があります。ただし、クラスター上で設定されている複数のプロキシーサーバーが同じである必要はありません。
16.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 ポリシーを使用してこれらのリソースを有効にし、クラスターのライフサイクル全体に設定の変更を適用できるようにします。
16.2.4. 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
- シードイメージの生成が完了しました。