ネットワーク リソースを構成する際は、特定の制限があることに注意してください。
タグとラベルの制限
タグには次の制限があります。
- タグ スコープには、128 文字の制限があります。
- タグ値には、256 文字の制限があります。
- 各オブジェクトに最大で 30 個のタグを指定できます。
Kubernetes または OpenShift のアノテーションが NSX のスコープやタグにコピーされる際に字数の制限を超えると、問題が生じる場合があります。たとえば、スイッチ ポート用のタグがあり、これがファイアウォール ルールで使用されている場合、アノテーションのキーや値が字数制限を超えると、スコープまたはタグにすべてコピーされないため、ルールが想定したように適用されないことがあります。
ラベルには次の制限があります。
- 1 つのポッドには、25 個までラベルを付けることができます。
- 1 つのネームスペースには、27 個までラベルを付けることができます。
- 1 つの Ingress Controller ポッドには、24 個までラベルを付けることができます。
ネットワーク ポリシー
- podSelector または namespaceSelector で使用できる matchLabels は 4 つまでです。
- ingress from セクションまたは egress to セクションで 1 つの要素に namespaceSelector と podSelector の両方を指定する場合、namespaceSelector で選択できるネームスペースは 5 つまでです。この条件を満たさないとエラーになります。このような指定の例を示します(podSelector の前にハイフンがないことに注意してください)。
- namespaceSelector: matchLabels: project: myproject podSelector: matchLabels: role: db
- 入力方向または出力方向のルールの場合、namespaceSelector と podSelector の合計数を 5 以下にする必要があります。たとえば、以下の例ではセレクタの合計が 6 個になっているため、このルールは許可されません。
ingress: - namespaceSelector: matchLabels: project: myproject1 - namespaceSelector: matchLabels: project: myproject2 - namespaceSelector: matchLabels: project: myproject3 - podSelector: matchLabels: role: db - podSelector: matchLabels: role: app - podSelector: matchLabels: role: infra
- to.ports セクションの namedPorts に allow-all-egress ネットワーク ポリシーは使用できません。
- ポリシー モードでは、podSelector または namespaceSelector で matchExpressions を指定する場合、最大で 1 つの In 演算子が許可されます。namespaceSelector と podSelector の両方を指定する場合は、最大で 1 つの In 演算子をいずれかに指定できます。両方に対して In 演算子を使用することはできません。たとえば、次の仕様は許可されません。
- namespaceSelector: matchExpressions: - {key: key1, operator: In, values: [value1]} podSelector: matchExpressions: - {key: key1, operator: In, values: [value1]}
- マネージャ モードでは、podSelector、namespaceSelector、または namespaceSelector と podSelector の両方で matchExpressions を指定する場合、In 演算子の数に制限はありません。
- protocol フィールドに SCTP を含むネットワーク ポリシーは使用できません。
この制限を回避するには、より限定的な matchLabels でネットワーク ポリシーを作成するか、1 つのネットワーク ポリシーを 5 つ以上のセレクタを必要としない複数のネットワーク ポリシーと置き換えます。
ネットワーク ポリシーが NCP でサポートされていない場合、NCP はポリシーにエラーを含む注釈を付けます。エラーを修正してネットワーク ポリシーを更新すると、NCP が再びポリシーを処理するようになります。
ネットワーク ポリシーに出力方向が指定され、入力方向が指定されていない場合は、入力方向のトラフィックにファイアウォール ルールが作成されません。同様に、ネットワーク ポリシーに入力方向が指定され、出力方向が指定されていない場合は、出力方向のトラフィックにファイアウォール ルールが作成されません。
NSX アプリケーション ID ファイアウォール ルールが NCP によって作成されたリソースに適用される場合、「セグメント」と「セグメント ポート」のグループ メンバーシップ基準のみがサポートされます。アプリケーション ID ファイアウォール ルール機能は、NCP が NSX ポリシー API を使用するように構成されている場合にのみサポートされることに注意してください。