1.7.3. ノードからインターフェイスの削除
NodeNetworkConfigurationPolicy オブジェクトを編集し、インターフェイスの state を absent に設定して、クラスターの 1 つ以上のノードからインターフェイスを削除できます。
ノードからインターフェイスを削除しても、ノードのネットワーク設定は以前の状態に自動的に復元されません。以前の状態に復元する場合、そのノードのネットワーク設定をポリシーで定義する必要があります。
ブリッジまたはボンディングインターフェイスを削除すると、そのブリッジまたはボンディングインターフェイスに以前に接続されたか、それらの下位にあるノード NIC は down の状態になり、到達できなくなります。接続が失われないようにするには、同じポリシーでノード NIC を設定し、ステータスを up にし、DHCP または静的 IP アドレスのいずれかになるようにします。
インターフェイスを追加したポリシーを削除しても、ノード上のポリシーの設定は変更されません。NodeNetworkConfigurationPolicy はクラスターのオブジェクトですが、このオブジェクトは要求される設定のみを表します。同様に、インターフェイスを削除してもポリシーは削除されません。
前提条件
-
OpenShift CLI (
oc) がインストールされている。
手順
インターフェイスの作成に使用する
NodeNetworkConfigurationPolicyマニフェストを更新します。以下の例は Linux ブリッジを削除し、接続が失われないように DHCP でeth1NIC を設定します。apiVersion: nmstate.io/v1 kind: NodeNetworkConfigurationPolicy metadata: name: <br1-eth1-policy> spec: nodeSelector: node-role.kubernetes.io/worker: "" desiredState: interfaces: - name: br1 type: linux-bridge state: absent - name: eth1 type: ethernet state: up ipv4: dhcp: true enabled: true-
metadata.name はポリシーの名前を定義します。 -
spec.nodeSelector はnodeSelectorパラメーターを定義します。このパラメーターは任意です。nodeSelectorパラメーターを含めない場合、ポリシーはクラスター内のすべてのノードに適用されます。この例ではnode-role.kubernetes.io/worker: ""ノードセレクターを使用し、クラスター内のすべてのワーカーノードを選択します。 -
spec.desiredState.interfaces は、インターフェイスの名前、型、および望ましい状態を定義します。この例では、Linux ブリッジとイーサネットの両方のネットワークインターフェイスを作成します。状態を absent に設定すると、インターフェイスが削除されます。 -
spec.desiredState.interfaces.ipv4 は、インターフェイスのIPv4設定を定義します。これらの設定は任意です。dhcpを使用しない場合は、静的 IP を設定するか、IP アドレスなしでインターフェイスを出ることができます。この例では、設定をenabled: true にするとIPv4が有効になります。
-
ノード上でポリシーを更新し、インターフェイスを削除します。
$ oc apply -f <filename.yaml>ここで、
<filename.yaml>はポリシーマニフェストのファイル名です。