14.6. installer-provisioned のインストール後の設定
installer-provisioned クラスターを正常にデプロイしたら、以下のインストール後の手順を考慮してください。
14.6.1. オプション: 非接続クラスターの NTP 設定
OpenShift Container Platform は、クラスターノードに chrony
Network Time Protocol (NTP) サービスをインストールします。次の手順を使用して、コントロールプレーンノードに NTP サーバーを設定し、デプロイが成功した後にコンピュートノードをコントロールプレーンノードの NTP クライアントとして設定します。
OpenShift Container Platform のノードは、適切に実行するために日付と時刻が一致している必要があります。コンピュートノードがコントロールプレーンノード上の NTP サーバーから日付と時刻を取得すると、ルーティング可能なネットワークに接続していないために上位層の NTP サーバーにアクセスできないクラスターのインストールと操作が可能になります。
手順
次のコマンドを使用して、インストールホストに Butane をインストールします。
$ sudo dnf -y install butane
コントロールプレーンノードの
chrony.conf
ファイルのコンテンツを含む Butane 設定 (99-master-chrony-conf-override.bu
) を作成します。注記Butane の詳細は、「Butane を使用したマシン設定の作成」を参照してください。
Butane 設定例
variant: openshift version: 4.16.0 metadata: name: 99-master-chrony-conf-override labels: machineconfiguration.openshift.io/role: master storage: files: - path: /etc/chrony.conf mode: 0644 overwrite: true contents: inline: | # Use public servers from the pool.ntp.org project. # Please consider joining the pool (https://www.pool.ntp.org/join.html). # The Machine Config Operator manages this file server openshift-master-0.<cluster-name>.<domain> iburst 1 server openshift-master-1.<cluster-name>.<domain> iburst server openshift-master-2.<cluster-name>.<domain> iburst stratumweight 0 driftfile /var/lib/chrony/drift rtcsync makestep 10 3 bindcmdaddress 127.0.0.1 bindcmdaddress ::1 keyfile /etc/chrony.keys commandkey 1 generatecommandkey noclientlog logchange 0.5 logdir /var/log/chrony # Configure the control plane nodes to serve as local NTP servers # for all compute nodes, even if they are not in sync with an # upstream NTP server. # Allow NTP client access from the local network. allow all # Serve time even if not synchronized to a time source. local stratum 3 orphan
- 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
コントロールプレーンノード上の NTP サーバーを参照するコンピュートノードの
chrony.conf
ファイルの内容を含む Butane 設定99-worker-chrony-conf-override.bu
を作成します。Butane 設定例
variant: openshift version: 4.16.0 metadata: name: 99-worker-chrony-conf-override labels: machineconfiguration.openshift.io/role: worker storage: files: - path: /etc/chrony.conf mode: 0644 overwrite: true contents: inline: | # The Machine Config Operator manages this file. server openshift-master-0.<cluster-name>.<domain> iburst 1 server openshift-master-1.<cluster-name>.<domain> iburst server openshift-master-2.<cluster-name>.<domain> iburst stratumweight 0 driftfile /var/lib/chrony/drift rtcsync makestep 10 3 bindcmdaddress 127.0.0.1 bindcmdaddress ::1 keyfile /etc/chrony.keys commandkey 1 generatecommandkey noclientlog logchange 0.5 logdir /var/log/chrony
- 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
99-master-chrony-conf-override.yaml
ポリシーをコントロールプレーンノードに適用します。$ oc apply -f 99-master-chrony-conf-override.yaml
出力例
machineconfig.machineconfiguration.openshift.io/99-master-chrony-conf-override created
99-worker-chrony-conf-override.yaml
ポリシーをコンピュートノードに適用します。$ oc apply -f 99-worker-chrony-conf-override.yaml
出力例
machineconfig.machineconfiguration.openshift.io/99-worker-chrony-conf-override created
適用された NTP 設定のステータスを確認します。
$ oc describe machineconfigpool
14.6.2. インストール後のプロビジョニングネットワークの有効化
ベアメタルクラスター用の Assisted Installer および installer-provisioned installation は、provisioning
ネットワークなしでクラスターをデプロイする機能を提供します。この機能は、概念実証クラスターや、各ノードのベースボード管理コントローラーが baremetal
ネットワークを介してルーティング可能な場合に Redfish 仮想メディアのみを使用してデプロイするなどのシナリオ向けです。
Cluster Baremetal Operator (CBO) を使用してインストール後に provisioning
ネットワークを有効にすることができます。
前提条件
- すべてのワーカーノードおよびコントロールプレーンノードに接続されている専用の物理ネットワークが存在する必要があります。
- ネイティブのタグなしの物理ネットワークを分離する必要があります。
-
provisioningNetwork
設定がManaged
に設定されている場合、ネットワークには DHCP サーバーを含めることはできません。 -
OpenShift Container Platform 4.10 の
provisioningInterface
設定を省略して、bootMACAddress
設定を使用できます。
手順
-
provisioningInterface
設定を設定する場合、まずクラスターノードのプロビジョニングインターフェイス名を特定します。たとえば、eth0
またはeno1
などです。 -
クラスターノードの
provisioning
ネットワークインターフェイスで Preboot eXecution Environment (PXE) を有効にします。 provisioning
ネットワークの現在の状態を取得して、これをプロビジョニングカスタムリソース (CR) ファイルに保存します。$ oc get provisioning -o yaml > enable-provisioning-nw.yaml
プロビジョニング CR ファイルを変更します。
$ vim ~/enable-provisioning-nw.yaml
provisioningNetwork
設定までスクロールダウンして、これをDisabled
からManaged
に変更します。次に、provisioningNetwork
設定の後に、provisioningIP
、provisioningNetworkCIDR
、provisioningDHCPRange
、provisioningInterface
、およびwatchAllNameSpaces
設定を追加します。各設定に適切な値を指定します。apiVersion: v1 items: - apiVersion: metal3.io/v1alpha1 kind: Provisioning metadata: name: provisioning-configuration spec: provisioningNetwork: 1 provisioningIP: 2 provisioningNetworkCIDR: 3 provisioningDHCPRange: 4 provisioningInterface: 5 watchAllNameSpaces: 6
- 1
provisioningNetwork
は、Managed
、Unmanaged
、またはDisabled
のいずれかになります。Managed
に設定すると、Metal3 はプロビジョニングネットワークを管理し、CBO は設定済みの DHCP サーバーで Metal3 Pod をデプロイします。Unmanaged
に設定すると、システム管理者は DHCP サーバーを手動で設定します。- 2
provisioningIP
は、DHCP サーバーおよび ironic がネットワークのプロビジョニングために使用する静的 IP アドレスです。この静的 IP アドレスは、DHCP 範囲外のprovisioning
内でなければなりません。この設定を設定する場合は、provisioning
ネットワークがDisabled
の場合でも、有効な IP アドレスが必要です。静的 IP アドレスは metal3 Pod にバインドされます。metal3 Pod が失敗し、別のサーバーに移動する場合、静的 IP アドレスも新しいサーバーに移動します。- 3
- Classless Inter-Domain Routing (CIDR) アドレス。この設定を設定する場合は、
provisioning
ネットワークがDisabled
の場合でも、有効な CIDR アドレスが必要です。例:192.168.0.1/24
- 4
- DHCP の範囲。この設定は、
Managed
プロビジョニングネットワークにのみ適用されます。provisioning
ネットワークがDisabled
の場合は、この設定を省略します。例:192.168.0.64, 192.168.0.253
- 5
- クラスターノードの
provisioning
インターフェイス用の NIC 名。provisioningInterface
設定は、Managed
およびUnmanaged
プロビジョニングネットワークにのみ適用されます。provisioning
ネットワークがDisabled
の場合に、provisioningInterface
設定が省略されます。代わりにbootMACAddress
設定を使用するようにprovisioningInterface
設定を省略します。 - 6
- metal3 がデフォルトの
openshift-machine-api
namespace 以外の namespace を監視するようにするには、この設定をtrue
に設定します。デフォルト値はfalse
です。
- 変更をプロビジョニング CR ファイルに保存します。
プロビジョニング CR ファイルをクラスターに適用します。
$ oc apply -f enable-provisioning-nw.yaml
14.6.2.1. オプション: カスタマイズされた br-ex
ブリッジを含むマニフェストオブジェクトの作成
configure-ovs.sh
シェルスクリプトを使用してベアメタルプラットフォーム上にカスタマイズされた br-ex
ブリッジを設定する代わりに、カスタマイズされた br-ex
ブリッジネットワーク設定を含む NodeNetworkConfigurationPolicy
カスタムリソース (CR) を作成できます。
カスタマイズされた br-ex
ブリッジを含む NodeNetworkConfigurationPolicy
CR の作成は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
この機能は、次のタスクをサポートします。
- クラスターの最大転送単位 (MTU) を変更します。
- MIImon (Media Independent Interface Monitor)、ボンディングモード、Quality of Service (QoS) などのさまざまなボンディングインターフェイスの属性を変更します。
- DNS 値を更新しています。
カスタマイズされた br-ex
ブリッジを含むマニフェストオブジェクトを作成する場合は、次のユースケースを検討してください。
-
Open vSwitch (OVS) または OVN-Kubernetes
br-ex
ブリッジネットワークの変更など、ブリッジにインストール後の変更を加えたい場合。configure-ovs.sh
シェルスクリプトは、ブリッジへのインストール後の変更をサポートしていません。 - ホストまたはサーバーの IP アドレスで使用可能なインターフェイスとは異なるインターフェイスにブリッジをデプロイします。
-
configure-ovs.sh
シェルスクリプトでは不可能な、ブリッジの高度な設定を実行したいと考えています。これらの設定にスクリプトを使用すると、ブリッジが複数のネットワークインターフェイスに接続できず、インターフェイス間のデータ転送が促進されない可能性があります。
前提条件
-
configure-ovs
の代替方法を使用して、カスタマイズされたbr-ex
を設定している。 - Kubernetes NMState Operator がインストールされている。
手順
NodeNetworkConfigurationPolicy
(NNCP) CR を作成し、カスタマイズされたbr-ex
ブリッジネットワーク設定を定義します。必要に応じて、ipv4.address.ip
、ipv6.address.ip
、またはその両方のパラメーターにマスカレード IP を設定するようにしてください。マスカレード IP アドレスは、使用中の IP アドレスブロックと一致する必要があります。IPv6 および IPv4 マスカレード IP アドレスを設定する NNCP CR の例
apiVersion: nmstate.io/v1 kind: NodeNetworkConfigurationPolicy metadata: name: worker-0-br-ex 1 spec: nodeSelector: kubernetes.io/hostname: worker-0 desiredState: interfaces: - name: enp2s0 2 type: ethernet 3 state: up 4 ipv4: enabled: false 5 ipv6: enabled: false - name: br-ex type: ovs-bridge state: up ipv4: enabled: false dhcp: false ipv6: enabled: false dhcp: false bridge: port: - name: enp2s0 6 - name: br-ex - name: br-ex type: ovs-interface state: up copy-mac-from: enp2s0 ipv4: enabled: true dhcp: true address: - ip: "169.254.169.2" prefix-length: 29 ipv6: enabled: false dhcp: false address: - ip: "fd69::2" prefix-length: 125