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

タグとラベルの制限

タグには次の制限があります。

  • タグ スコープには、128 文字の制限があります。
  • タグ値には、256 文字の制限があります。
  • 各オブジェクトに最大で 30 個のタグを指定できます。

Kubernetes または OpenShift のアノテーションが NSX-T Data Center のスコープやタグにコピーされる際に字数の制限を超えると、問題が生じる場合があります。たとえば、スイッチ ポート用のタグがあり、これがファイアウォール ルールで使用されている場合、アノテーションのキーや値が字数制限を超えると、スコープまたはタグにすべてコピーされないため、ルールが想定したように適用されないことがあります。

ラベルには次の制限があります。

  • 1 つのポッドには、25 個までラベルを付けることができます。
  • 1 つのネームスペースには、27 個までラベルを付けることができます。
  • 1 つの Ingress Controller ポッドには、24 個までラベルを付けることができます。

ネットワーク ポリシー

NetworkPolicy リソースには次の制限があります。
  • podSelector または namespaceSelector で使用できる matchLabels は 4 つまでです。
  • ingress from セクションまたは egress to セクションで 1 つの要素に namespaceSelectorpodSelector の両方を指定する場合、namespaceSelector で選択できるネームスペースは 5 つまでです。この条件を満たさないとエラーになります。このような指定の例を示します(podSelector の前にハイフンがないことに注意してください)。
    - namespaceSelector:
        matchLabels:
          project: myproject
      podSelector:
        matchLabels:
          role: db
  • 入力方向または出力方向のルールの場合、namespaceSelectorpodSelector の合計数を 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 ネットワーク ポリシーは使用できません。
  • matchExpressions フィールドはサポートされていません。
  • protocol フィールドに SCTP を含むネットワーク ポリシーは使用できません。

この制限を回避するには、より限定的な matchLabels でネットワーク ポリシーを作成するか、1 つのネットワーク ポリシーを 5 つ以上のセレクタを必要としない複数のネットワーク ポリシーと置き換えます。

ネットワーク ポリシーが NCP でサポートされていない場合、NCP はポリシーにエラーを含む注釈を付けます。エラーを修正してネットワーク ポリシーを更新すると、NCP が再びポリシーを処理するようになります。

NCP 3.0.0 と 3.0.1 では、ネットワーク ポリシーに出力方向のみが指定され、入力方向が指定されていない場合、すべての入力方向のトラフィックを許可するファイアウォール ルールが作成されます。同様に、ネットワーク ポリシーに入力方向が指定され、出力方向が指定されていない場合は、すべての出力方向のトラフィックを許可するファイアウォール ルールが作成されます。

NCP 3.0.2 以降では、ネットワーク ポリシーに出力方向のみが指定され、入力方向が指定されていない場合、入力方向のトラフィックにファイアウォール ルールが作成されません。同様に、ネットワーク ポリシーに入力方向が指定され、出力方向が指定されていない場合は、出力方向のトラフィックにファイアウォール ルールが作成されません。