ネットワーク リソースの構成

ネットワーク リソースを構成する際は、特定の制限があることに注意してください。

タグとラベルの制限

タグには次の制限があります。
  • タグ スコープには、128 文字の制限があります。
  • タグ値には、256 文字の制限があります。
  • 各オブジェクトに最大で 30 個のタグを指定できます。
Kubernetes または OpenShift のアノテーションが
NSX
のスコープやタグにコピーされる際に字数の制限を超えると、問題が生じる場合があります。たとえば、スイッチ ポート用のタグがあり、これがファイアウォール ルールで使用されている場合、アノテーションのキーや値が字数制限を超えると、スコープまたはタグにすべてコピーされないため、ルールが想定したように適用されないことがあります。
ラベルには次の制限があります。
  • 1 つのポッドには、25 個までラベルを付けることができます。
  • 1 つのネームスペースには、27 個までラベルを付けることができます。
  • 1 つの Ingress Controller ポッドには、24 個までラベルを付けることができます。

ネットワーク ポリシー

NetworkPolicy
リソースには次の制限があります。
  • 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 を使用するように構成されている場合にのみサポートされることに注意してください。