3.11. マニフェスト設定ファイル
3.11.1. OpenShift Container Platform マニフェストの作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform マニフェストを作成します。
./openshift-baremetal-install --dir ~/clusterconfigs create manifests
$ ./openshift-baremetal-install --dir ~/clusterconfigs create manifestsCopy to Clipboard Copied! Toggle word wrap Toggle overflow INFO Consuming Install Config from target directory WARNING Making control-plane schedulable by setting MastersSchedulable to true for Scheduler cluster settings WARNING Discarding the OpenShift Manifest that was provided in the target directory because its dependencies are dirty and it needs to be regenerated
INFO Consuming Install Config from target directory WARNING Making control-plane schedulable by setting MastersSchedulable to true for Scheduler cluster settings WARNING Discarding the OpenShift Manifest that was provided in the target directory because its dependencies are dirty and it needs to be regeneratedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.11.2. オプション: 非接続クラスターの NTP 設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform は、クラスターノードに chrony Network Time Protocol (NTP) サービスをインストールします。
OpenShift Container Platform ノードは、正しく実行するために日時について合意する必要があります。ワーカーノードがコントロールプレーンノードの NTP サーバーから日付と時刻を取得すると、ルーティング可能なネットワークに接続されていないクラスターのインストールおよび操作が有効になるため、上位の stratum の NTP サーバーにアクセスできなくなります。
手順
次のコマンドを使用して、インストールホストに Butane をインストールします。
sudo dnf -y install butane
$ sudo dnf -y install butaneCopy to Clipboard Copied! Toggle word wrap Toggle overflow コントロールプレーンノードの
chrony.confファイルのコンテンツを含む Butane 設定 (99-master-chrony-conf-override.bu) を作成します。注記Butane の詳細は、「Butane を使用したマシン設定の作成」を参照してください。
Butane 設定例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<cluster-name>はクラスターの名前に置き換え、<domain>は完全修飾ドメイン名に置き換える必要があります。
Butane を使用して、コントロールプレーンノードに配信される設定が含まれる
MachineConfigオブジェクトファイル (99-master-chrony-conf-override.yaml) を生成します。butane 99-master-chrony-conf-override.bu -o 99-master-chrony-conf-override.yaml
$ butane 99-master-chrony-conf-override.bu -o 99-master-chrony-conf-override.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow コントロールプレーンノードの NTP サーバーを参照するワーカーノードの
chrony.confファイルのコンテンツを含む Butane 設定 (99-worker-chrony-conf-override.bu) を作成します。Butane 設定例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<cluster-name>はクラスターの名前に置き換え、<domain>は完全修飾ドメイン名に置き換える必要があります。
Butane を使用して、ワーカーノードに配信される設定が含まれる
MachineConfigオブジェクトファイル (99-worker-chrony-conf-override.yaml) を生成します。butane 99-worker-chrony-conf-override.bu -o 99-worker-chrony-conf-override.yaml
$ butane 99-worker-chrony-conf-override.bu -o 99-worker-chrony-conf-override.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.11.3. コントロールプレーンで実行されるネットワークコンポーネントの設定 リンクのコピーリンクがクリップボードにコピーされました!
ネットワークコンポーネントは、コントロールプレーンノードでのみ実行するように設定できます。デフォルトで、OpenShift Container Platform はマシン設定プールの任意のノードが ingressVIP 仮想 IP アドレスをホストできるようにします。ただし、環境によっては、ワーカーノードをコントロールプレーンノードとは別のサブネットにデプロイするため、コントロールプレーンノードで実行する ingressVIP 仮想 IP アドレスを設定する必要があります。
リモートワーカーを別々のサブネットにデプロイする場合は、コントロールプレーンノード専用に ingressVIP 仮想 IP アドレスを配置する必要があります。
手順
install-config.yamlファイルを保存するディレクトリーに移動します。cd ~/clusterconfigs
$ cd ~/clusterconfigsCopy to Clipboard Copied! Toggle word wrap Toggle overflow manifestsサブディレクトリーに切り替えます。cd manifests
$ cd manifestsCopy to Clipboard Copied! Toggle word wrap Toggle overflow cluster-network-avoid-workers-99-config.yamlという名前のファイルを作成します。touch cluster-network-avoid-workers-99-config.yaml
$ touch cluster-network-avoid-workers-99-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow エディターで
cluster-network-avoid-workers-99-config.yamlファイルを開き、Operator 設定を記述するカスタムリソース (CR) を入力します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow このマニフェストは、
ingressVIP仮想 IP アドレスをコントロールプレーンノードに配置します。また、このマニフェストは、コントロールプレーンノードにのみ以下のプロセスをデプロイします。-
openshift-ingress-operator -
keepalived
-
-
cluster-network-avoid-workers-99-config.yamlファイルを保存します。 manifests/cluster-ingress-default-ingresscontroller.yamlファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
manifestsディレクトリーのバックアップの作成を検討してください。インストーラーは、クラスターの作成時にmanifests/ディレクトリーを削除します。 cluster-scheduler-02-config.ymlマニフェストを変更し、mastersSchedulableフィールドをtrueに設定して、コントロールプレーンノードをスケジュール対象にします。デフォルトでは、コントロールプレーンノードはスケジュール対象ではありません。以下に例を示します。sed -i "s;mastersSchedulable: false;mastersSchedulable: true;g" clusterconfigs/manifests/cluster-scheduler-02-config.yml
$ sed -i "s;mastersSchedulable: false;mastersSchedulable: true;g" clusterconfigs/manifests/cluster-scheduler-02-config.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記この手順の完了後にコントロールプレーンノードをスケジュールできない場合には、クラスターのデプロイに失敗します。
3.11.4. オプション: ワーカーノードへのルーターのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
インストール時に、インストーラーはルーター Pod をワーカーノードにデプロイします。デフォルトで、インストーラーは 2 つのルーター Pod をインストールします。デプロイされたクラスターが、OpenShift Container Platform クラスター内のサービスに対して予定される外部トラフィック負荷を処理するために追加のルーターを必要とする場合、yaml ファイルを作成して適切なルーターレプリカ数を設定できます。
ワーカーノードが 1 つだけのクラスターのデプロイはサポートされていません。ルーターのレプリカを変更することで、1 つのワーカーでデプロイする場合の degraded 状態の問題は対処されますが、クラスターは Ingress API の高可用性を失うため、これは実稼働環境には適しません。
デフォルトで、インストーラーは 2 つのルーターをデプロイします。クラスターにワーカーノードがない場合、インストーラーはデフォルトで 2 つのルーターをコントロールプレーンノードにデプロイします。
手順
router-replicas.yamlファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記<num-of-router-pods>を適切な値に置き換えます。1 つのワーカーノードのみを使用している場合、replicas:を1に設定します。4 つ以上のワーカーノードを使用している場合、replicas:のデフォルトの値2を随時増やすことができます。router-replicas.yamlファイルを保存し、これをclusterconfigs/openshiftディレクトリーにコピーします。cp ~/router-replicas.yaml clusterconfigs/openshift/99_router-replicas.yaml
$ cp ~/router-replicas.yaml clusterconfigs/openshift/99_router-replicas.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.11.5. オプション: BIOS の設定 リンクのコピーリンクがクリップボードにコピーされました!
次の手順では、インストールプロセス中に BIOS を設定します。
手順
- マニフェストを作成します。
ノードに対応する
BareMetalHostリソースファイルを変更します。vim clusterconfigs/openshift/99_openshift-cluster-api_hosts-*.yaml
$ vim clusterconfigs/openshift/99_openshift-cluster-api_hosts-*.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow BIOS 設定を
BareMetalHostリソースのspecセクションに追加します。spec: firmware: simultaneousMultithreadingEnabled: true sriovEnabled: true virtualizationEnabled: truespec: firmware: simultaneousMultithreadingEnabled: true sriovEnabled: true virtualizationEnabled: trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Red Hat は 3 つの BIOS 設定をサポートしています。BMC タイプ
irmcのサーバーのみがサポートされます。他のタイプのサーバーは現在サポートされていません。- クラスターを作成します。
3.11.6. 必要に応じて RAID の設定 リンクのコピーリンクがクリップボードにコピーされました!
次の手順では、インストールプロセス中に RAID (Redundant Array of Independent Disks) を設定します。
- OpenShift Container Platform は、iRMC プロトコルのみを使用してベースボード管理コントローラー (BMC) のハードウェア RAID をサポートします。OpenShift Container Platform 4.13 は、ソフトウェア RAID をサポートしていません。
- ノードにハードウェア RAID を設定する場合は、ノードに RAID コントローラーがあることを確認します。
手順
- マニフェストを作成します。
ノードに対応する
BareMetalHostリソースを変更します。vim clusterconfigs/openshift/99_openshift-cluster-api_hosts-*.yaml
$ vim clusterconfigs/openshift/99_openshift-cluster-api_hosts-*.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記OpenShift Container Platform 4.13 はソフトウェア RAID をサポートしていないため、以下の例ではハードウェア RAID 設定を使用します。
特定の RAID 設定を
specセクションに追加した場合、これが原因でノードはpreparingフェーズで元の RAID 設定を削除し、RAID で指定された設定を実行します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
levelは必須フィールドであり、その他はオプションのフィールドです。
specセクションに空の RAID 設定を追加した場合、空の設定が原因で、ノードはpreparingフェーズで元の RAID 設定を削除しますが、新しい設定は実行しません。以下に例を示します。spec: raid: hardwareRAIDVolumes: []spec: raid: hardwareRAIDVolumes: []Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
specセクションにraidフィールドを追加しない場合、元の RAID 設定は削除されず、新しい設定は実行されません。
- クラスターを作成します。
3.11.7. オプション: ノード上のストレージの設定 リンクのコピーリンクがクリップボードにコピーされました!
Machine Config Operator (MCO) によって管理される MachineConfig オブジェクトを作成することにより、OpenShift Container Platform ノード上のオペレーティングシステムに変更を加えることができます。
MachineConfig 仕様には、最初の起動時にマシンを設定するための点火設定が含まれています。この設定オブジェクトを使用して、OpenShift Container Platform マシン上で実行されているファイル、systemd サービス、およびその他のオペレーティングシステム機能を変更できます。
手順
ignition config を使用して、ノード上のストレージを設定します。次の MachineSet マニフェストの例は、プライマリーノード上のデバイスにパーティションを追加する方法を示しています。この例では、インストール前にマニフェストを適用して、プライマリーノードでサイズが 16 GiB の recovery という名前のパーティションを設定します。
custom-partitions.yamlファイルを作成し、パーティションレイアウトを含むMachineConfigオブジェクトを含めます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow custom-partitions.yamlファイルを保存して、clusterconfigs/openshiftディレクトリーにコピーします。cp ~/<MachineConfig_manifest> ~/clusterconfigs/openshift
$ cp ~/<MachineConfig_manifest> ~/clusterconfigs/openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow