メンバーシップ基準を定義して、1 つ以上の基準に基づいて、NSX グループにメンバーを動的に追加できます。
基準には 1 つ以上の条件を指定できます。条件には、同じメンバー タイプを使用することも、異なるメンバー タイプを混在させることもできます。
メンバーシップ基準に、混在する NSX メンバー タイプまたは混在する Kubernetes メンバー タイプを含む複数の条件を追加する場合は、いくつかの制限が適用されます。「 NSX メンバー タイプが混在する基準の制限」セクションと、このドキュメントの後半の「Kubernetes メンバー タイプが混在する基準の制限」セクションを参照してください。
デフォルトでは、NSX はメンバーシップ基準の各条件の後で論理 AND 演算子を使用します。メンバーシップ基準の条件を結合するときに、他の論理演算子は使用できません。
- 両方の基準で同じメンバー タイプを使用する。
- 両方の基準が 1 つの条件を使用する。
- 1 つのメンバーシップ基準で、同じメンバー タイプの条件は最大で 5 つまで使用できます。たとえば、1 つの基準に、メンバー タイプが仮想マシンの条件を 5 つまで追加できます。
- 1 つのメンバーシップ基準で、メンバー タイプが混在する条件は最大で 15 個まで使用できます。たとえば、1 つの基準に、メンバー タイプがセグメントとセグメント ポートが混在する条件を 15 個まで追加できます。
- 1 つの汎用グループで、メンバー タイプが混在する条件は最大で 35 個までサポートされています。
- Example 1
-
3 つのメンバーシップ基準と合計 35 個の条件を含むグループ:
- 基準 1 には、メンバー タイプが混在する条件が 15 個あります。
- 基準 2 には、メンバー タイプが混在する条件が 15 個あります。
- 基準 3 には、同じメンバー タイプの条件が 5 個あります。
- Example 2
-
4 つのメンバーシップ基準と合計 35 個の条件を含むグループ:
- 基準 1 には、メンバー タイプが混在する条件が 15 個あります。
- 基準 2 には、メンバー タイプが混在する条件が 14 個あります。
- 基準 3 には、同じメンバー タイプの条件が 4 個あります。
- 基準 4 には、同じメンバー タイプの条件が 2 個あります。
- Example 3
-
5 つのメンバーシップ基準と合計 22 個の条件を含むグループ:
- 基準 1 には、メンバー タイプが混在する条件が 10 個あります。
- 基準 2 には、同じメンバー タイプの条件が 3 個あります。
- 基準 3 には、同じメンバー タイプの条件が 4 個あります。
- 基準 4 には、同じメンバー タイプの条件が 3 個あります。
- 基準 5 には、メンバー タイプが混在する条件が 2 個あります。
このグループでは、基準が上限の 5 個に達しているため、別のメンバーシップ基準を追加することはできません。ただし、前述の上限を超えなければ、必要に応じて 5 つの基準のいずれかに条件を追加できます。- 1 つの基準で同じメンバー タイプの条件は最大で 5 個まで。
- 1 つの基準でメンバー タイプが混在する条件は最大で 15 個まで。
- 汎用グループ内の条件の合計は 35 個まで。
NSX メンバー タイプが混在する基準の制限
メンバーのタイプ | メンバー タイプが混在する基準 | タグ演算子 | スコープ演算子 |
---|---|---|---|
[仮想マシン] | サポート対象外 |
|
|
[セグメント] | サポート セグメントに基づく条件はセグメント ポートに基づく条件と混在可能 |
|
|
[セグメント ポート] | サポート セグメント ポートに基づく条件は NSX セグメントに基づく条件と混在可能 |
|
|
[分散ポート グループ] | サポート 分散ポート グループに基づく条件は分散ポートに基づく条件と混在可能 |
|
|
[分散ポート] | サポート 分散ポートに基づく条件は分散ポート グループに基づく条件と混在可能 |
|
|
[IP セット] - このメンバー タイプは今後廃止される予定です。現在、IP セット タグベースの基準に基づいて、既存の NSGroup またはグループとの後方互換性を実現できます。メンバー タイプとして [グループ] を使用し、「IP アドレスのみ」タイプのタグベース グループをメンバーシップ基準に追加することをお勧めします。 | サポート対象外 |
|
|
[グループ] - メンバーシップ基準に「IP アドレスのみ」タイプのタグベース グループを追加するには、このメンバー タイプを使用します。 | サポート対象外 |
次と等しい - 1 つのタグを選択可能。 | 次と等しい |
Kubernetes メンバー タイプを含むメンバーシップ基準の概要
NSX 4.1 以降では、動的メンバーシップ基準に Kubernetes メンバー タイプの汎用グループを作成して、Antrea Kubernetes クラスタに出入りするトラフィックと一致させることができます。
さらに、これらの汎用グループを分散ファイアウォール ルールまたはゲートウェイ ファイアウォール ルールで使用して、NSX 環境の仮想マシンと Antrea Kubernetes クラスタ内のポッド間のトラフィックを保護できます。
この機能を使用するには、VMware Container Networking™ with Antrea™ 1.6.0 以降で使用可能な Antrea-NSX インターワーキング バージョンが必要です。1.6.0 リリース ノートを参照してください。
少なくとも 1 つの Antrea Kubernetes クラスタが NSX 環境に登録されている場合にのみ、[メンバーシップ基準] ページで、汎用グループに Kubernetes メンバー タイプを使用できます。
次の表に、NSX 4.1 以降の [デフォルト] ビューで、汎用グループに動的メンバーシップ基準を追加する際に使用できる Kubernetes メンバー タイプを示します。各 Kubernetes メンバー タイプは、クラスタの範囲またネームスペースの範囲のいずれかに属しています。
メンバーのタイプ | スコープ |
---|---|
Kubernetes クラスタ |
クラスタ |
Kubernetes ネームスペース |
ネームスペース |
Kubernetes ノード |
クラスタ |
Kubernetes サービス |
ネームスペース |
Kubernetes Ingress |
ネームスペース |
Kubernetes ゲートウェイ |
ネームスペース |
Antrea Egress |
クラスタ |
Antrea IP プール |
クラスタ |
Kubernetes メンバー タイプを含む条件に使用される命名規則
次の表では、Kubernetes メンバー タイプに基づいて動的メンバーシップ基準に追加できるさまざまな条件を表すために、このドキュメントで使用している命名規則について説明します。
条件の命名規則 | 意味 |
---|---|
Kubernetes クラスタの条件 |
動的メンバーシップ基準の条件は、Kubernetes クラスタ メンバー タイプに基づいています。 |
Kubernetes ネームスペースの条件 |
動的メンバーシップ基準の条件は、Kubernetes ネームスペース メンバー タイプに基づいています。 |
リソースの条件 |
動的メンバーシップ基準の条件は、次のいずれかの Kubernetes メンバー タイプに基づいています。
|
クラスタの範囲内のリソース条件 |
動的メンバーシップ基準の条件は、次のいずれかの Kubernetes メンバー タイプに基づいています。
|
ネームスペースの範囲内のリソース条件 |
動的メンバーシップ基準の条件は、次のいずれかの Kubernetes メンバー タイプに基づいています。
|
Kubernetes メンバー タイプが混在する基準の制限
次の表に、単一メンバーシップ基準で Kubernetes メンバー タイプを使用する場合に適用される制限または検証の概要を示します。検証の例については、このドキュメントの後半にある「Kubernetes メンバー タイプを使用した動的グループ化の検証」を参照してください。
メンバーのタイプ | 基準でメンバー タイプを使用する際の制限事項 | サポートされる属性 | タグ演算子 | スコープ演算子 |
---|---|---|---|---|
Kubernetes クラスタ |
基準内で単独で使用することはできません。 1 つの基準で許可されるクラスタ条件は 1 つのみです。 少なくとも 1 つの Kubernetes リソース条件と混在させる必要があります。 必要に応じて、Kubernetes ネームスペース条件と Kubernetes リソース条件を混在できます。 |
名前 |
サポート対象外 |
サポート対象外 |
Kubernetes ネームスペース |
基準内で単独で使用することはできません。 クラスタの範囲内のリソース条件との混在はできません。 ネームスペースの範囲内のリソース条件と混在させる必要があります。 必要に応じて、Kubernetes クラスタ条件と混在できます。 |
名前 タグ |
次と等しい - 1 つのタグを選択可能 |
次と等しい |
Antrea Egress |
基準内で単独で使用できます。 必要に応じて、Kubernetes クラスタ条件と混在できます。 |
名前 タグ |
次と等しい - 1 つのタグを選択可能 |
次と等しい |
Antrea IP プール |
基準内で単独で使用できます。 必要に応じて、Kubernetes クラスタ条件と混在できます。 |
名前 タグ |
次と等しい - 1 つのタグを選択可能 |
次と等しい |
Kubernetes Ingress |
基準内で単独で使用できます。 必要に応じて、Kubernetes ネームスペース条件のみ、または Kubernetes クラスタ条件のみ、またはその両方を混在させることができます。 |
名前 タグ |
次と等しい - 1 つのタグを選択可能 |
次と等しい |
Kubernetes ゲートウェイ |
基準内で単独で使用できます。 必要に応じて、Kubernetes ネームスペース条件のみ、または Kubernetes クラスタ条件のみ、またはその両方を混在させることができます。 |
名前 タグ |
次と等しい - 1 つのタグを選択可能 |
次と等しい |
Kubernetes サービス |
基準内で単独で使用できます。 必要に応じて、Kubernetes ネームスペース条件のみ、または Kubernetes クラスタ条件のみ、またはその両方を混在させることができます。 |
名前 タグ |
次と等しい - 1 つのタグを選択可能 |
次と等しい |
Kubernetes ノード |
基準内で単独で使用できます。 1 つのノード条件のみが許可されます。 必要に応じて、Kubernetes クラスタ条件と混在できます。 Kubernetes ネームスペース条件または Kubernetes リソース条件との混在はできません。 |
IP アドレス ポッド CIDR |
サポート対象外 この表の後の注を参照してください。 |
サポート対象外 |
Kubernetes メンバー タイプを使用した動的グループ化の検証
- 検証 1
-
メンバーシップ基準には、最大で 1 つの Kubernetes クラスタ条件を設定できます。単一の Kubernetes クラスタを名前で一致させるには、「次に等しい」演算子を使用してクラスタ名を入力します。注: Kubernetes クラスタ名は一意にする必要があります。単一の Kubernetes クラスタ条件で複数のクラスタを一致させるには、次のいずれかの演算子を使用できます。
- 受信
- 次で始まる
- 次で終わる
例:
単一の K8s クラスタに一致 複数の K8s クラスタに一致 基準: Kubernetes クラスタ名が ClusterA に等しい
基準: ClusterA、ClusterB、ClusterC の Kubernetes クラスタ名
カンマ区切りの値を 5 つまで使用できます。値はスペースで区切る必要があります。
- 検証 2
-
Kubernetes クラスタ条件を含むメンバーシップ基準は、いずれかの Kubernetes リソース条件と混在させることができます。Kubernetes ネームスペース条件も同じ基準に追加する場合は、リソース条件をネームスペースの範囲内のリソース条件のみに制限する必要があります。
例:- 1 つの Kubernetes クラスタ条件と 3 つの Kubernetes Ingress 条件を含むメンバーシップ基準が有効です。
- 1 つの Kubernetes クラスタ条件と 2 つの Antrea Egress 条件を含むメンバーシップ基準が有効です。
- 1 つの Kubernetes クラスタ条件と 3 つの Antrea IP プール条件を含むメンバーシップ基準が有効です。
- Kubernetes クラスタ条件、1 つの Kubernetes ネームスペース条件、および 3 つの Kubernetes ゲートウェイ条件を含むメンバーシップ基準が有効です。
- 検証 3
-
メンバーシップ基準には、少なくとも 1 つの Kubernetes リソース条件を含める必要があります。メンバーシップ基準に次の条件が含まれている場合は無効です。
- Kubernetes クラスタ条件のみ
- Kubernetes ネームスペース条件のみ
- Kubernetes クラスタ条件と Kubernetes ネームスペース条件のみ
例:- 1 つの Kubernetes クラスタ条件、1 つの Kubernetes ネームスペース条件、および 1 つの Kubernetes Ingress 条件を含むメンバーシップ基準が有効です。
- 1 つの Kubernetes クラスタ条件、2 つの Kubernetes ネームスペース条件、および 3 つの Kubernetes Ingress 条件を含むメンバーシップ基準が有効です。
- 検証 4
-
メンバーシップ基準に設定できる Kubernetes ノード条件は 1 つのみです。必要に応じて、Kubernetes ノード条件と Kubernetes クラスタ条件のみを混在できます。
Kubernetes ノード条件を Kubernetes ネームスペース条件または Kubernetes リソース条件と混在させることはできません。
Kubernetes ノード条件のみを含むメンバーシップ基準は単独で使用できます。ただし、Kubernetes ノード条件のみのグループは、NSX に登録されているすべての Antrea Kubernetes クラスタのノードと一致します。
現在 Kubernetes ノード条件では、タグ演算子とスコープ演算子はサポートされていません。
Kubernetes ノード条件は、次の 2 つのプロパティをサポートします。
プロパティ 説明 IP アドレス
指定された Antrea Kubernetes クラスタのすべてのノードの内部 IP アドレスを一致させます。
ポッド CIDR
指定された Antrea Kubernetes クラスタのすべてのノードのポッド CIDR と一致させます。
- 検証 5
-
メンバーシップ基準に Kubernetes クラスタ条件と Kubernetes ネームスペース条件が含まれている場合は、少なくとも 1 つのネームスペースの範囲内の Kubernetes リソース条件を含める必要があります。次のクラスタの範囲内の Kubernetes リソース条件を同じ基準に混在させることはできません。
- Antrea 出力方向
- Antrea IP プール
- Kubernetes ノード
例:- 1 つの Kubernetes クラスタ条件、2 つの Kubernetes ネームスペース条件、および Kubernetes Gateway 条件を含むメンバーシップ基準が有効です。
- 1 つの Kubernetes クラスタ条件、4 つの Kubernetes ネームスペース条件、および 3 つの Kubernetes サービス条件を含むメンバーシップ基準が有効です。
- 1 つの Kubernetes クラスタ条件、1 つの Kubernetes ネームスペース条件、および 1 つの Antrea Egress 条件を含むメンバーシップ基準は無効です。これは、Antrea Egress がクラスタの範囲内のリソースであるためです。
- 検証 6
-
メンバーシップ基準には、少なくとも 1 つの Kubernetes リソース条件を含める必要があります。リソース条件は、基準内で単独で使用することができます。ただし、基準に複数のリソース条件を追加する場合は、すべてのリソース条件が同じメンバー タイプである必要があります。注: Kubernetes クラスタ条件と Kubernetes ネームスペース条件は、基準の範囲を定義するために使用されます。これらは Kubernetes リソース条件でないため、この検証ルールによって制限されません。例:
- 5 つの Kubernetes サービス条件を含むメンバーシップ基準が有効です。
- 1 つの Kubernetes クラスタ条件、3 つの Kubernetes ネームスペース条件、および 4 つの Kubernetes サービス条件を含むメンバーシップ基準が有効です。
- 1 つの Kubernetes クラスタ条件、3 つの Kubernetes ネームスペース条件、4 つの Kubernetes サービス条件、および 3 つの Kubernetes Ingress 条件を含むメンバーシップ基準が無効です。これは、同じ基準に 2 つの異なるメンバー タイプ(Kubernetes Service と Kubernetes Ingress)のリソース条件が混在するためです。
ただし、次に示すように、単一のメンバー タイプに基づくリソース条件を使用して個別の基準を作成し、両方の基準を OR 演算子で結合することはできます。
基準 1:
1 つの Kubernetes クラスタ条件 + 3 つの Kubernetes ネームスペース条件 + 4 つの Kubernetes サービス条件
または
基準 2:
1 つの Kubernetes クラスタ条件 + 3 つの Kubernetes ネームスペース条件 + 3 つの Kubernetes Ingress 条件
- 検証 7
-
単一のメンバーシップ基準で、NSX メンバー タイプに基づく条件を Kubernetes メンバー タイプに基づく条件と混在させることはできません。ただし、NSX メンバー タイプのみに基づく 1 つの基準を含むグループと、Kubernetes メンバー タイプのみに基づく他の基準を含むグループを作成し、両方の基準を OR 演算子で結合することはできます。
例:
有効 無効 基準 1:
仮想マシン条件
または
基準 2:
Kubernetes クラスタ条件 + Kubernetes ゲートウェイ条件
基準:
NSX セグメント条件 + セグメント ポート条件
および
Kubernetes クラスタ条件 + Kubernetes ゲートウェイ条件