1.10. 例: IP 管理
次の設定スニペットの例は、さまざまな IP 管理方法を示しています。
これらの例では、ethernet
インターフェイスタイプを使用して、ポリシー設定に関連するコンテキストを表示しつつ、サンプルを単純化します。これらの IP 管理のサンプルは、他のインターフェイスタイプでも使用できます。
1.10.1. 静的 リンクのコピーリンクがクリップボードにコピーされました!
以下のスニペットは、イーサネットインターフェイスで IP アドレスを静的に設定します。
- 1
- この値を、インターフェイスの静的 IP アドレスに置き換えます。
1.10.2. IP アドレスなし リンクのコピーリンクがクリップボードにコピーされました!
以下のスニペットでは、インターフェイスに IP アドレスがないことを確認できます。
インターフェイスを無効にするために ipv4.enabled
パラメーターと ipv6.enabled
パラメーターの両方を false
に設定する場合は、必ず state
パラメーターを up
に設定してください。この設定で state: down
を設定すると、自動 DHCP 割り当てによりインターフェイスは DHCP IP アドレスを受け取ります。
1.10.3. 動的ホストの設定 リンクのコピーリンクがクリップボードにコピーされました!
以下のスニペットは、動的 IP アドレス、ゲートウェイアドレス、および DNS を使用するイーサネットインターフェイスを設定します。
以下のスニペットは、動的 IP アドレスを使用しますが、動的ゲートウェイアドレスまたは DNS を使用しないイーサネットインターフェイスを設定します。
1.10.4. メディアアクセス制御 (MAC) アドレス リンクのコピーリンクがクリップボードにコピーされました!
ネットワークインターフェイスの名前を使用する代わりに、MAC アドレスを使用してネットワークインターフェイスを識別することができます。ネットワークインターフェイス名は、オペレーティングシステムの設定の変更など、さまざまな理由で変更される可能性があります。一方で、各ネットワークインターフェイスには、変更されない一意の MAC アドレスがあります。そのため、MAC アドレスを使用すると、特定のネットワークインターフェイスをより永続的に識別すことができます。
identifier
パラメーターでサポートされている値は、デフォルトの name
値と mac-address
値です。name
値は、指定されたインターフェイス名を持つインターフェイスに設定を適用します。
identifier
パラメーターに mac-address
値を使用すると、MAC アドレスがネットワークインターフェイスの識別子であることが指定されます。identifier
の値を mac-address
に設定する場合は、その後に続く mac-address
パラメーターフィールドに特定の MAC アドレスを入力する必要があります。
name
パラメーターの値を指定することもできますが、identifier: mac-address
値を設定すると、ネットワークインターフェイスのプライマリー識別子として MAC アドレスが使用されることになります。間違った MAC アドレスを指定した場合、nmstate
によって無効な引数のエラーが報告されます。
次のスニペットでは、イーサネットデバイスのプライマリー識別子として MAC アドレスを指定します。デバイスの名前は eth1
、MAC アドレスは 8A:8C:92:1A:F6:98
です。
1.10.5. DNS リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、nmstate
API は DNS 値をネットワークインターフェイスに保存するのではなく、グローバルに保存します。特定の状況では、DNS 値を保存するようにネットワークインターフェイスを設定する必要があります。
DNS 設定の設定は、/etc/resolv.conf
ファイルの変更に相当します。
ネットワークインターフェイスの DNS 設定を定義するには、最初にネットワークインターフェイスの YAML 設定ファイルで dns-resolver
セクションを指定する必要があります。NNCP 設定をネットワークインターフェイスに適用するには、oc apply -f <nncp_file_name>
コマンドを実行する必要があります。
次の例は、DNS 値をグローバルに保存するデフォルトの状況を示しています。
ネットワークインターフェイスなしで静的 DNS を設定します。ホストノード上の
/etc/resolv.conf
ファイルを更新する場合、NodeNetworkConfigurationPolicy
(NNCP) マニフェストでインターフェイス (IPv4 または IPv6) を指定する必要はありません。DNS 値をグローバルに保存するネットワークインターフェイスの DNS 設定の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要次の例に示すように、NNCP ファイルの
dns-resolver.config
セクションで DNS オプションを指定できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ネットワークインターフェイスから DNS オプションを削除する場合は、NNCP に次の設定を適用してから
oc apply -f <nncp_file_name>
コマンドを実行します。... ...
# ... dns-resolver: config: {} interfaces: [] # ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次の例は、DNS 値を格納するためにネットワークインターフェイスを設定する必要がある状況を示しています。
静的 DNS ネームサーバーを動的 DNS ネームサーバーよりも優先する場合は、ネットワークインターフェイス YAML 設定ファイルで、Dynamic Host Configuration Protocol (DHCP) または IPv6 自動設定 (
autoconf
) メカニズムのいずれかを実行するインターフェイスを定義します。DHCPv4 ネットワークプロトコルから取得した DNS ネームサーバーに
192.0.2.1
を追加する設定の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow nmstate
API を使用して DNS 値をグローバルに保存するデフォルトの方法を採用するのではなく、DNS 値を保存するようにネットワークインターフェイスを設定する必要がある場合は、ネットワークインターフェイス YAML ファイルで静的 DNS 値と静的 IP アドレスを設定できます。重要ネットワークインターフェイスレベルで DNS 値を保存すると、インターフェイスを Open vSwitch (OVS) ブリッジ、Linux ブリッジ、ボンディングなどのネットワークコンポーネントに接続した後に、名前解決の問題が発生する可能性があります。
インターフェイスレベルで DNS 値を保存する設定の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ネットワークインターフェイスに静的 DNS 検索ドメインと動的 DNS ネームサーバーを設定する場合は、ネットワークインターフェイスの YAML 設定ファイルで、Dynamic Host Configuration Protocol (DHCP) または IPv6 自動設定 (
autoconf
) メカニズムのいずれかを実行する動的インターフェイスを定義します。example.com
およびexample.org
の静的 DNS 検索ドメインと動的 DNS ネームサーバー設定を指定する設定の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.10.6. 静的ルーティング リンクのコピーリンクがクリップボードにコピーされました!
以下のスニペットは、インターフェイス eth1
に静的ルートおよび静的 IP を設定します。
静的ルートを設定する際に、カスタマイズされた br-ex
ブリッジを手動で設定していない限り、OVN-Kubernetes br-ex
ブリッジをネクストホップインターフェイスとして使用することはできません。
詳細は、インストーラーでプロビジョニングされるクラスターのベアメタルへのデプロイ、または ユーザーがプロビジョニングしたクラスターをベアメタルにインストール ドキュメントの「カスタマイズされた br-ex ブリッジを含むマニフェストオブジェクトの作成」を参照してください。