1.3. NodeNetworkConfigurationPolicy マニフェストを作成します。
NodeNetworkConfigurationPolicy
(NNCP) マニフェストファイルは、Kubernetes NMState Operator が OpenShift Container Platform クラスター内に存在するノードのネットワークを設定するために使用するポリシーを定義します。
複数の NNCP CR をノードに適用する場合は、ポリシー名の英数字のソートに基づいて、論理順序で NNCP を作成する必要があります。Kubernetes NMState Operator は、Operator が CR をノードに即時に適用することができるように、新しく作成された NNCP CR を継続的にチェックします。次の論理順序の問題の例を考えてみましょう。
-
eth1.1000
などの VLAN ポートでリッスンするブリッジインターフェイスを定義するために、NNCP 1 を作成します。 -
VLAN インターフェイスを定義する NNCP 2 を作成し、
eth1.1000
などのこのインターフェイスのポートを指定します。 - NNCP 2 をノードに適用する前に、NNCP 1 を適用します。
ポート eth1.1000
が存在しないため、ノードにはノード接続の問題が発生します。その結果、クラスターに障害が発生します。
ノードのネットワークポリシーをノードに適用すると、Kubernetes NMState Operator によって、ノードのネットワークポリシーの詳細に従ってノードのネットワークが設定されます。
次のインターフェイス名は予約されており、NMstate 設定では使用できません。
-
br-ext
-
br-int
-
br-local
-
br-nexthop
-
br0
-
ext-vxlan
-
ext
-
genev_sys_*
-
int
-
k8s-*
-
ovn-k8s-*
-
patch-br-*
-
tun0
-
vxlan_sys_*
OpenShift CLI (oc
) または OpenShift Container Platform Web コンソールを使用して NNCP を作成できます。インストール後のタスクとして、NNCP を作成したり、既存の NNCP を編集したりできます。
NNCP を作成する前に、「各種インターフェイスのポリシー設定例」のドキュメントを一読してください。
NNCP を削除する必要がある場合は、oc delete nncp
コマンドを使用して削除アクションを完了できます。ただし、このコマンドではブリッジインターフェイスなどのオブジェクトは削除されません。
ノードにインターフェイスを追加したノードネットワークポリシーを削除しても、そのノード上のポリシー設定は変更されません。同様に、インターフェイスを削除してもポリシーは削除されません。これは、Pod またはノードが再起動されるたびに、Kubernetes NMState Operator が、削除されたインターフェイスを再度追加するためです。
NNCP、ノードネットワークポリシー、およびインターフェイスを実際に削除するには、通常、次の操作が必要です。
-
NNCP を編集し、ファイルからインターフェイスの詳細を削除します。ファイルから
name
、state
、type
パラメーターは削除しないでください。 -
NNCP の
interfaces.state
セクションにstate: absent
を追加します。 -
oc apply -f <nncp_file_name>
を実行します。Kubernetes NMState Operator がクラスター内の各ノードにノードネットワークポリシーを適用すると、各ノードに存在するすべてのインターフェイスが absent とマークされます。 -
oc delete nncp
を実行して NNCP を削除します。