10.5. ホステッドクラスターの NTP サーバーの設定
Butane を使用して、ホステッドクラスターの Network Time Protocol (NTP) サーバーを設定できます。
手順
chrony.conf
ファイルの内容を含む Butane 設定ファイル99-worker-chrony.bu
を作成します。Butane の詳細は、「Butane を使用したマシン設定の作成」を参照してください。99-worker-chrony.bu
の設定例Copy to Clipboard Copied! Toggle word wrap Toggle overflow ... ...
# ... variant: openshift version: 4.18.0 metadata: name: 99-worker-chrony labels: machineconfiguration.openshift.io/role: worker storage: files: - path: /etc/chrony.conf mode: 0644
1 overwrite: true contents: inline: | pool 0.rhel.pool.ntp.org iburst
2 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
を生成します。以下のコマンドを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow butane 99-worker-chrony.bu -o 99-worker-chrony.yaml
$ butane 99-worker-chrony.bu -o 99-worker-chrony.yaml
99-worker-chrony.yaml
の設定例Copy to Clipboard Copied! Toggle word wrap Toggle overflow Generated by Butane; do not edit
# 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
ファイルの内容を追加します。設定マップの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: v1 kind: ConfigMap metadata: name: <configmap_name> namespace: <namespace> 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 # ...
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 をノードプールに適用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc edit nodepool <nodepool_name> --namespace <hosted_cluster_namespace>
$ oc edit nodepool <nodepool_name> --namespace <hosted_cluster_namespace>
NodePool
の設定例Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: hypershift.openshift.io/v1alpha1 kind: NodePool metadata: # ... name: nodepool-1 namespace: clusters # ... spec: config: - name: <configmap_name> # ...
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
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: agent-install.openshift.io/v1beta1 kind: InfraEnv # ... spec: additionalNTPSources: - <ntp_server> - <ntp_server1> - <ntp_server2> # ...
apiVersion: agent-install.openshift.io/v1beta1 kind: InfraEnv # ... spec: additionalNTPSources: - <ntp_server>
1 - <ntp_server1> - <ntp_server2> # ...
- 1
<ntp_server>
は、NTP サーバーの名前に置き換えます。ホストインベントリーとInfraEnv
CR の作成の詳細は、「ホストインベントリーの作成」を参照してください。
次のコマンドを実行して、
InfraEnv
CR を適用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f infra-env.yaml
$ oc apply -f infra-env.yaml
検証
次のフィールドを確認し、ホストインベントリーのステータスを確認します。
-
conditions
: イメージが正常に作成されたかどうかを示す標準の Kubernetes の状態。 -
isoDownloadURL
: Discovery Image をダウンロードするための URL。 createdTime
: イメージが最後に作成された時刻。InfraEnv
CR を変更する場合は、新しいイメージをダウンロードする前に、必ずタイムスタンプを更新してください。次のコマンドを実行して、ホストインベントリーが作成されたことを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc describe infraenv <infraenv_resource_name> -n <infraenv_namespace>
$ oc describe infraenv <infraenv_resource_name> -n <infraenv_namespace>
注記InfraEnv
CR を変更する場合は、createdTime
フィールドを調べて、InfraEnv
CR によって新しい Discovery Image が作成されたことを確認してください。すでにホストを起動している場合は、最新の Discovery Image でホストを再起動します。
-