Antrea グループを作成し、分散ファイアウォール ポリシーの送信元または宛先として使用して、Antrea Kubernetes クラスタ内のポッド間のトラフィックを保護できます。
Antrea グループ機能は、NSX 環境に 1 つ以上の Antrea Kubernetes クラスタが登録されている場合にのみサポートされています。登録済みの Antrea Kubernetes クラスタが検出されると、NSX Manager は、ユーザー インターフェイスの [グループの追加] ページに [Antrea] というグループ タイプを表示します。Antrea グループを追加するには、このグループ タイプを選択する必要があります。
NSX オーバーレイ ネットワーク内の Antrea Kubernetes クラスタと仮想マシン間のトラフィックを保護することを目的とする場合は、動的メンバーシップ基準で Kubernetes メンバー タイプを持つ [汎用] グループを作成し、これらのグループをファイアウォール ルールで使用する必要があります。詳細については、動的メンバーシップ基準の Kubernetes メンバー タイプを含む汎用グループを参照してください。
Antrea グループには、静的 IP アドレス、メンバーシップ基準、またはその両方を含めることができます。IP アドレスには、ポッドまたはサービスの IP アドレスを指定します。
Antrea グループにメンバーシップ基準が含まれている場合、そのメンバーシップ基準で計算される有効なメンバーはポッドのみになります。
- 有効なメンバーは、Antrea グループが分散ファイアウォール ルールで使用されている場合にのみ、Antrea グループに対して計算されます。
メンバーシップ基準のある Antrea グループを追加しても、これらのグループを分散ファイアウォール ルールで使用しない場合、これらの Antrea グループの有効なメンバーは NSX で計算または評価されません。つまり、これらの Antrea グループの [有効なメンバー] ページは空になります。
- 現在、Antrea グループに静的 IP アドレスを追加すると、分散ファイアウォール ルールでグループが使用されているかどうかに関係なく、有効なメンバーはユーザー インターフェイスに表示されません。
- ネームスペース
- サービス
- ポッド
メンバーシップ基準の概要
- メンバーのタイプ
- メンバー タイプの名前か、メンバー タイプに関連付けられているタグ
- タグ演算子と値(タグが使用されている場合のみ)
- スコープ演算子と値(タグが使用されている場合のみ)
デフォルトでは、NSX はメンバーシップ基準の各条件の後で論理 AND 演算子を使用します。メンバーシップ基準の条件を結合するときに、他の論理演算子は使用できません。
- 例:
-
メンバーシップ基準 説明 基準 1:
ポッド タグが App で、スコープがサーバ
メンバーシップ基準には、ポッドに基づく 1 つの条件しか含まれません。複数の条件は使用されません。この Antrea グループの有効なメンバーには、App タグを持つすべてのポッドが含まれます。
基準 2:
ポッド タグが App で、スコープがサーバ
ポッド タグが DB で、スコープがサーバ
ポッド タグが Web で、スコープがサーバ
メンバーシップ基準は 3 つの条件で構成されます。基準内のすべての条件は、ボットに基づいています。この Antrea グループの有効なメンバーには、App、DB、Web タグを持つすべてのポッドが含まれます。
基準 3:
ネームスペース名が本番環境と等しい
サービス名がキャッシュと等しい
メンバーシップ基準は、ネームスペースとサービスが混在する 2 つの条件で構成されます。この Antrea グループの有効なメンバーには、本番環境のネームスペース内の Cache サービスに関連付けられているすべてのポッドが含まれます。
OR、AND 演算子を使用したメンバーシップ基準の参加
- 両方の基準で同じメンバー タイプを使用する。
- 両方の基準が 1 つの条件を使用する。
- 例:
-
- 基準 1、基準 2、基準 3 はすべてポッドに基づいています。複数の条件は含まれていません。この場合、基準 1 と基準 2 は OR 演算子または AND 演算子で結合できます。同様に、基準 2 と基準 3 を OR 演算子または AND 演算子で結合できます。
- 基準 1 はポッドに基づいていますが、基準 2 は、サービスに基づく条件とネームスペースに基づく条件の 2 つの条件を使用します。この場合、基準 1 と 2 を結合するには OR 演算子を使用する必要があります。AND 演算子は使用できません。
- 基準 1 と基準 2 はポッドに基づいていますが、基準 3 は、サービスに基づく条件とネームスペースに基づく条件の 2 つの条件を使用します。この場合、基準 1 と基準 2 は AND 演算子または OR 演算子で結合できます。ただし、基準 2 と基準 3 は結合するには、OR 演算子を使用する必要があります。AND 演算子は使用できません。
サポート対象とサポート対象外の機能
メンバーのタイプ | オブジェクト属性 | タグ演算子 | スコープ演算子 | 基準の例 |
---|---|---|---|---|
ネームスペース |
名前 |
次と等しい |
該当なし |
ネームスペース名が本番環境と等しい |
ネームスペース |
タグ |
次と等しい が次と等しくない |
次と等しい |
ネームスペースタグが DB、スコープがサーバ |
サービス |
名前 |
サポート対象外 |
サポート対象外 |
サービス名がキャッシュと等しい |
ポッド |
タグ |
次と等しい が次と等しくない |
次と等しい |
ポッド タグが App で、スコープがサーバ |
- 現在、次のタグ演算子は、ネームスペースとポッドのメンバー タイプでサポートされていません。
- 次を含む
- 次で始まる
- 次で終わる
- メンバーシップ基準で、サービスに基づく条件は、ネームスペースの名前属性に基づく条件と組み合わせる必要があります。つまり、サービス メンバー タイプのみの基準は許可されません。
- メンバーシップ基準で、サービスに基づく条件は、ポッドに基づく条件と併用できません。ただし、サービスとポッドに基づく条件を 2 つの個別のメンバーシップ基準に追加し、OR 演算子で結合することは可能です。
- Antrea グループにメンバーを静的に追加する場合は、IP アドレスのみがサポートされています。ネームスペース、ポッド、サービスを Antrea グループのメンバーとして静的に追加することはできません。
- Antrea グループを追加するときに、グループ タイプを [Antrea] から[汎用] または [Antrea] から [IP アドレスのみ] に変更すると、NSX は情報メッセージを表示します。変更を確定すると、グループ内のすべてのメンバーシップ基準が失われます。グループの IP アドレスのみが保持されます。
Antrea グループが NSX で認識(保存)されると、グループ タイプは変更できません。[汎用] および [IP アドレスのみ] グループ タイプはグレーアウトされます。
バージョン 1.20 以前の Kubernetes の回避策
Antrea グループ基準「ネームスペース名が Value と等しい」は、Kubernetes バージョン 1.21 以降で機能します。
Kubernetes 1.21 以降では、すべてのネームスペースに特別なラベルが自動的に追加され、このラベルが基準「ネームスペース名が Value に等しい」で内部的に使用されます。Kubernetes バージョン 1.20 以前の場合は、回避策を行う必要があります。イベントを作成するネームスペースに Antrea Controller Webhook を登録する必要があります。Antrea Controller Webhook が呼び出されると、Antrea Controller は新しいネームスペースに特別なラベルを追加します。これにより、基準「ネームスペース名が Value と等しい」でこのラベルが使用されます。Antrea Controller Webhook の登録の詳細については、Kubernetes API サーバへの YAML ファイルの送信の手順 3 を参照してください。
kube-system
や
default
などの既存のネームスペースは、特別なラベルを取得しないため、これらのネームスペースで基準「ネームスペース名が
Value と等しい」は機能しません。