4.5. ホステッドクラスターの NTP サーバーの設定
Butane を使用して、ホステッドクラスターの Network Time Protocol (NTP) サーバーを設定できます。
手順
chrony.confファイルの内容を含む Butane 設定ファイル99-worker-chrony.buを作成します。Butane の詳細は、「Butane を使用したマシン設定の作成」を参照してください。99-worker-chrony.buの設定例# ... variant: openshift version: 4.14.0 metadata: name: 99-worker-chrony labels: machineconfiguration.openshift.io/role: worker storage: files: - path: /etc/chrony.conf mode: 06441 overwrite: true contents: inline: | pool 0.rhel.pool.ntp.org iburst2 driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync logdir /var/log/chrony # ...注記マシン間通信の場合、User Datagram Protocol (UDP) ポート上の NTP は
123です。外部 NTP タイムサーバーを設定した場合は、UDP ポート123を開く必要があります。Butane を使用して、Butane がノードに送信する設定を含む
MachineConfigオブジェクトファイル99-worker-chrony.yamlを生成します。以下のコマンドを実行します。$ butane 99-worker-chrony.bu -o 99-worker-chrony.yaml99-worker-chrony.yamlの設定例# Generated by Butane; do not edit apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: worker name: <machineconfig_name> spec: config: ignition: version: 3.2.0 storage: files: - contents: source: data:... mode: 420 overwrite: true path: /example/path管理クラスターの config map 内に
99-worker-chrony.yamlファイルの内容を追加します。config map の例
apiVersion: v1 kind: ConfigMap metadata: name: <configmap_name> namespace: <namespace>1 data: config: | apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: worker name: <machineconfig_name> spec: config: ignition: version: 3.2.0 storage: files: - contents: source: data:... mode: 420 overwrite: true path: /example/path # ...- 1
<namespace>は、ノードプールを作成した namespace の名前 (clustersなど) に置き換えます。
次のコマンドを実行して、config map をノードプールに適用します。
$ oc edit nodepool <nodepool_name> --namespace <hosted_cluster_namespace>NodePoolの設定例apiVersion: hypershift.openshift.io/v1alpha1 kind: NodePool metadata: # ... name: nodepool-1 namespace: clusters # ... spec: config: - name: <configmap_name>1 # ...- 1
<configmap_name>は、設定マップの名前に置き換えます。
InfraEnvカスタムリソース (CR) を定義するinfra-env.yamlファイルに NTP サーバーのリストを追加します。infra-env.yamlファイルの例apiVersion: agent-install.openshift.io/v1beta1 kind: InfraEnv # ... spec: additionalNTPSources: - <ntp_server>1 - <ntp_server1> - <ntp_server2> # ...- 1
<ntp_server>は、NTP サーバーの名前に置き換えます。ホストインベントリーとInfraEnvCR の作成の詳細は、「ホストインベントリーの作成」を参照してください。
次のコマンドを実行して、
InfraEnvCR を適用します。$ oc apply -f infra-env.yaml
検証
次のフィールドを確認し、ホストインベントリーのステータスを確認します。
-
conditions: イメージが正常に作成されたかどうかを示す標準の Kubernetes の状態。 -
isoDownloadURL: Discovery Image をダウンロードするための URL。 createdTime: イメージが最後に作成された時刻。InfraEnvCR を変更する場合は、新しいイメージをダウンロードする前に、必ずタイムスタンプを更新してください。次のコマンドを実行して、ホストインベントリーが作成されたことを確認します。
$ oc describe infraenv <infraenv_resource_name> -n <infraenv_namespace>注記InfraEnvCR を変更する場合は、createdTimeフィールドを調べて、InfraEnvCR によって新しい Discovery Image が作成されたことを確認してください。すでにホストを起動している場合は、最新の Discovery Image でホストを再起動します。
-