第2章 マシン設定オブジェクトを使用したノードの設定
MachineConfig カスタムリソース (CR) を作成することで、OpenShift Container Platform ノード上で実行されているファイル、systemd ユニットファイル、およびその他のオペレーティングシステム機能を変更することができます。MachineConfig オブジェクトを使用すると、chronyd の無効化、カーネル引数の追加、マルチパスの有効化、RHCOS 拡張機能の追加などのタスクを実行できます。
マシン設定の使用に関する詳細は、How to update ssh keys after installation in OpenShift 4?、"Container image signatures"、" Enabling SCTP in Openshift Container Platform 4"、およびノードのカスタム iSCSI イニシエーター名の提供方法を参照してください。
OpenShift Container Platform は、Ignition 仕様バージョン 3.5 をサポートしています。詳細については、設定仕様 v3.5.0 (Ignition ドキュメント)を参照してください。今後作成するすべての新しいマシン設定は、Ignition 仕様バージョン 3.5 に基づいて作成する必要があります。OpenShift Container Platform クラスターをアップグレードすると、以前の Ignition 仕様の既存マシン設定が、仕様バージョン 3.5 に自動的に変換されます。
ノードの設定が、現在適用されているマシン設定で指定されているものと完全に一致しない場合があります。この状態は 設定ドリフト と呼ばれます。Machine Config Daemon (MCD) は、ノードの設定ドリフトを定期的にチェックします。MCD が設定のドリフトを検出すると、管理者がノード設定を修正するまで、MCO はノードを degraded とマークします。degraded 状態のノードは、オンライン状態で動作していますが、更新することはできません。設定ドリフトの詳細は、Understanding configuration drift detection を参照してください。
他の設定ファイルを OpenShift Container Platform ノードに追加する方法は、以下の「chrony タイムサービスの設定」の手順をモデルとして使用します。
2.1. chrony タイムサービスの設定 リンクのコピーリンクがクリップボードにコピーされました!
chrony タイムサービス (chronyd) で使用されるタイムサーバーおよび関連する設定は、chrony.conf ファイルのコンテンツを変更し、それらのコンテンツをマシン設定としてノードに渡して設定できます。
chrony のベストプラクティスに関する詳細は、以下の資料を参照してください。
手順
chrony.confファイルのコンテンツを含む Butane 設定を作成します。たとえば、ワーカーノードで chrony を設定するには、99-worker-chrony.buファイルを作成します。注記設定ファイルで指定する Butane のバージョン は、OpenShift Container Platform のバージョンと同じである必要があり、末尾は常に
0です。たとえば、4.21.0などです。Butane の詳細は、「Butane を使用したマシン設定の作成」を参照してください。variant: openshift version: 4.21.0 metadata: name: 99-worker-chrony labels: machineconfiguration.openshift.io/role: worker storage: files: - path: /etc/chrony.conf mode: 0644 overwrite: true contents: inline: | pool 0.rhel.pool.ntp.org iburst driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync logdir /var/log/chrony-
name: 99-worker-chrony- マシン設定ファイルの名前を指定します。コントロールプレーンノードでは、workerの代わりにmasterを使用します。 -
machineconfiguration.openshift.io/role: worker- コントロールプレーンノードでは、workerの代わりにmasterを使用します。 -
mode: 0644- マシン設定ファイルのmodeフィールドに 8 進数の値でモードを指定します。ファイルを作成し、変更を適用すると、modeは 10 進数の値に変換されます。oc get mc <mc-name> -o yamlコマンドで YAML ファイルを確認できます。 -
pool 0.rhel.pool.ntp.org iburst- DHCP サーバーから提供されるものなど、有効で到達可能なタイムソースを指定します。
注記全マシン間の通信の場合、UDP 上の Network Time Protocol (NTP) はポート
123です。外部 NTP タイムサーバーが設定されている場合は、UDP ポート123を開く必要があります。または、NTP サーバーの
1.rhel.pool.ntp.org、2.rhel.pool.ntp.org、または3.rhel.pool.ntp.orgのいずれかを指定できます。DHCP サーバーで NTP を使用する場合は、chrony.confファイルでsourcedir /run/chrony-dhcpパラメーターを設定する必要があります。-
Butane を使用して、ノードに配信される設定を含む
MachineConfigオブジェクトファイル (99-worker-chrony.yaml) を生成します。$ butane 99-worker-chrony.bu -o 99-worker-chrony.yaml以下の 2 つの方法のいずれかで設定を適用します。
-
クラスターがまだ起動していない場合は、マニフェストファイルを生成した後に、
MachineConfigオブジェクトファイルを<installation_directory>/openshiftディレクトリーに追加してから、クラスターの作成を続行します。 クラスターがすでに実行中の場合は、ファイルを適用します。
$ oc apply -f ./99-worker-chrony.yaml
-
クラスターがまだ起動していない場合は、マニフェストファイルを生成した後に、