第15章 NetworkPolicy networking.k8s.io/v1
- 説明
- NetworkPolicy は、一連の Pod で許可されるネットワークトラフィックを記述します
- タイプ
-
object
15.1. 仕様
プロパティー | タイプ | 説明 |
---|---|---|
|
| APIVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources を参照してください。 |
|
| kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できることがあります。これを更新することはできません。CamelCase を使用します。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。 |
| 標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。 | |
|
| NetworkPolicySpec は、NetworkPolicy の仕様を提供します |
15.1.1. .spec
- 説明
- NetworkPolicySpec は、NetworkPolicy の仕様を提供します
- タイプ
-
object
- 必須
-
podSelector
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| egress は、選択した Pod に適用される egress ルールのリストです。Pod を選択する NetworkPolicies がない場合(およびクラスターポリシーがトラフィックを許可する場合)、または podSelector が Pod に一致するすべての NetworkPolicy オブジェクトにわたってトラフィックが少なくとも 1 つの egress ルールと一致する場合、送信トラフィックが許可されます。このフィールドが空の場合、この NetworkPolicy はすべての送信トラフィックを制限します (そして、選択した Pod がデフォルトで分離されていることを確認するためだけに機能します)。このフィールドは 1.8 のベータレベルです |
|
| NetworkPolicyEgressRule は、NetworkPolicySpec の podSelector によって一致する Pod から許可される特定のトラフィックセットを記述します。トラフィックは、ポートと宛先の両方に一致する必要があります。このタイプは 1.8 のベータレベルです |
|
| ingress は、選択した Pod に適用される ingress ルールのリストです。Pod を選択する NetworkPolicies がない場合 (およびクラスターポリシーがトラフィックを許可する場合)、トラフィックソースが Pod のローカルノードである場合、またはトラフィックがすべての NetworkPolicy 全体で少なくとも 1 つの入力ルールに一致する場合、トラフィックは Pod に許可されます podSelector が Pod と一致するオブジェクト。このフィールドが空の場合、この NetworkPolicy はトラフィックを許可しません (そして、選択した Pod がデフォルトで分離されていることを確認するためだけに機能します) |
|
| NetworkPolicyIngressRule は、NetworkPolicySpec の podSelector によって一致する Pod に許可される特定のトラフィックセットを記述します。トラフィックは、ポートと送信元の両方に一致する必要があります。 |
| podSelector は、この NetworkPolicy オブジェクトが適用される Pod を選択します。ingress ルールの配列は、このフィールドで選択されたすべての Pod に適用されます。複数のネットワークポリシーで同じ Pod のセットを選択できます。この場合、それぞれの ingress ルールは加算的に組み合わされます。このフィールドはオプションではなく、標準のラベルセレクターセマンティクスに従います。空の podSelector は、この名前空間内のすべての Pod と一致します。 | |
|
| policyTypes は、NetworkPolicy が関連するルールタイプのリストです。有効なオプションは、"Ingress"、"Egress"、または "Ingress"、"Egress" です。このフィールドが指定されていない場合は、ingress ルールまたは egress ルールの存在に基づいてデフォルトが設定されます。egress セクションを含むポリシーは egress に影響を与えるとみなされ、すべてのポリシー (ingress セクションが含まれるかどうかに関係なく) は ingress に影響を与えるとみなされます。egress 専用ポリシーを作成する場合は、policyTypes"Egress" を明示的に指定する必要があります。同様に、egress が許可されないことを指定するポリシーを作成する場合は、(そのようなポリシーには egress セクションが含まれず、デフォルトで単に [ "Ingress" ] が設定されるため)) Egress を含む policyTypes 値を指定する必要があります。このフィールドは 1.8 のベータレベルです |
15.1.2. .spec.egress
- 説明
- egress は、選択した Pod に適用される egress ルールのリストです。Pod を選択する NetworkPolicies がない場合(およびクラスターポリシーがトラフィックを許可する場合)、または podSelector が Pod に一致するすべての NetworkPolicy オブジェクトにわたってトラフィックが少なくとも 1 つの egress ルールと一致する場合、送信トラフィックが許可されます。このフィールドが空の場合、この NetworkPolicy はすべての送信トラフィックを制限します (そして、選択した Pod がデフォルトで分離されていることを確認するためだけに機能します)。このフィールドは 1.8 のベータレベルです
- タイプ
-
array
15.1.3. .spec.egress[]
- 説明
- NetworkPolicyEgressRule は、NetworkPolicySpec の podSelector によって一致する Pod から許可される特定のトラフィックセットを記述します。トラフィックは、ポートと宛先の両方に一致する必要があります。このタイプは 1.8 のベータレベルです
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| ports は、送信トラフィックの宛先ポートのリストです。このリストの各項目は、論理 OR を使用して結合されます。このフィールドが空または欠落している場合、このルールはすべてのポートに一致します (トラフィックはポートによって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックがリスト内の少なくとも 1 つのポートに一致する場合にのみトラフィックを許可します。 |
|
| NetworkPolicyPort は、トラフィックを許可するポートを記述します |
|
| to は、このルールに対して選択された Pod の送信トラフィックの宛先リストです。このリストの項目は、論理演算子 OR を使用して組み合わせます。このフィールドが空または欠落している場合、このルールはすべての宛先に一致します (トラフィックは宛先によって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックが to リストの少なくとも 1 つのアイテムと一致する場合にのみトラフィックを許可します。 |
|
| NetworkPolicyPeer は、トラフィックとの間のトラフィックを許可するピアについて説明します。フィールドの特定の組み合わせのみが許可されます |
15.1.4. .spec.egress[].ports
- 説明
- ports は、送信トラフィックの宛先ポートのリストです。このリストの各項目は、論理 OR を使用して結合されます。このフィールドが空または欠落している場合、このルールはすべてのポートに一致します (トラフィックはポートによって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックがリスト内の少なくとも 1 つのポートに一致する場合にのみトラフィックを許可します。
- タイプ
-
array
15.1.5. .spec.egress[].ports[]
- 説明
- NetworkPolicyPort は、トラフィックを許可するポートを記述します
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| endPort は、設定されている場合、ポートから endPort までのポート範囲がポリシーによって許可される必要があることを示します。ポートフィールドが定義されていない場合、またはポートフィールドが名前付き (文字列) ポートとして定義されている場合、このフィールドは定義できません。endPort は、port 以上である必要があります。 |
| port は特定のプロトコルのポートを表します。これは、Pod の数値ポートまたは名前付きポートのいずれかです。このフィールドが指定されていない場合、これはすべてのポート名と番号に一致します。存在する場合、指定されたプロトコル AND ポートのトラフィックのみが一致します。 | |
|
| protocol は、トラフィックが一致する必要があるプロトコル (TCP、UDP、または SCTP) を表します。指定しない場合、このフィールドのデフォルトは TCP です。
使用可能な列挙値: - |
15.1.6. .spec.egress[].to
- 説明
- to は、このルールに対して選択された Pod の送信トラフィックの宛先リストです。このリストの項目は、論理演算子 OR を使用して組み合わせます。このフィールドが空または欠落している場合、このルールはすべての宛先に一致します (トラフィックは宛先によって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックが to リストの少なくとも 1 つのアイテムと一致する場合にのみトラフィックを許可します。
- タイプ
-
array
15.1.7. .spec.egress[].to[]
- 説明
- NetworkPolicyPeer は、トラフィックとの間のトラフィックを許可するピアについて説明します。フィールドの特定の組み合わせのみが許可されます
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| IPBlock は、特定の CIDR を記述します (例:"192.168.1.0/24","2001:db8::/64")、NetworkPolicySpec の podSelector で一致した Pod に対しては許可されます。例外エントリーは、このルールに含めるべきではない CIDR を記述します。 |
| namespaceSelector は、クラスタースコープのラベルを使用して名前空間を選択します。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての名前空間が選択されます。 podSelector も設定されている場合、NetworkPolicyPeer は全体として、namespaceSelector によって選択された名前空間内の podSelector に一致する Pod を選択します。それ以外の場合は、namespaceSelector で選択された名前空間内のすべての Pod が選択されます。 | |
| podSelector は、Pod を選択するラベルセレクターです。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての Pod が選択されます。 namespaceSelector も設定されている場合、NetworkPolicyPeer は全体として、NamespaceSelector によって選択された名前空間内の podSelector に一致する Pod を選択します。それ以外の場合は、ポリシー独自の名前空間内の podSelector に一致する Pod が選択されます。 |
15.1.8. .spec.egress[].to[].ipBlock
- 説明
- IPBlock は、特定の CIDR を記述します (例:"192.168.1.0/24","2001:db8::/64")、NetworkPolicySpec の podSelector で一致した Pod に対しては許可されます。例外エントリーは、このルールに含めるべきではない CIDR を記述します。
- タイプ
-
object
- 必須
-
cidr
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| cidr は IP ブロックを表す文字列です。有効な例は 192.168.1.0/24 または 2001:db8::/64 です。 |
|
| IPBlock 内に含めるべきではない CIDR のスライスを除く有効な例は、192.168.1.0/24 または 2001:db8::/64 です。例外の値は、CIDR 範囲外の場合、拒否されます。 |
15.1.9. .spec.ingress
- 説明
- ingress は、選択した Pod に適用される ingress ルールのリストです。Pod を選択する NetworkPolicies がない場合 (およびクラスターポリシーがトラフィックを許可する場合)、トラフィックソースが Pod のローカルノードである場合、またはトラフィックがすべての NetworkPolicy 全体で少なくとも 1 つの入力ルールに一致する場合、トラフィックは Pod に許可されます podSelector が Pod と一致するオブジェクト。このフィールドが空の場合、この NetworkPolicy はトラフィックを許可しません (そして、選択した Pod がデフォルトで分離されていることを確認するためだけに機能します)
- タイプ
-
array
15.1.10. .spec.ingress[]
- 説明
- NetworkPolicyIngressRule は、NetworkPolicySpec の podSelector によって一致する Pod に許可される特定のトラフィックセットを記述します。トラフィックは、ポートと送信元の両方に一致する必要があります。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| from は、このルールに対して選択された Pod にアクセスできるソースのリストです。このリストの項目は、論理演算子 OR を使用して組み合わせます。このフィールドが空または欠落している場合、このルールはすべてのソースに一致します (トラフィックはソースによって制限されていません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックが from リストの少なくとも 1 つのアイテムと一致する場合にのみトラフィックを許可します。 |
|
| NetworkPolicyPeer は、トラフィックとの間のトラフィックを許可するピアについて説明します。フィールドの特定の組み合わせのみが許可されます |
|
| ports は、このルールに対して選択された Pod 上でアクセス可能にする必要があるポートのリストです。このリストの各項目は、論理 OR を使用して結合されます。このフィールドが空または欠落している場合、このルールはすべてのポートに一致します (トラフィックはポートによって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックがリスト内の少なくとも 1 つのポートに一致する場合にのみトラフィックを許可します。 |
|
| NetworkPolicyPort は、トラフィックを許可するポートを記述します |
15.1.11. .spec.ingress[].from
- 説明
- from は、このルールに対して選択された Pod にアクセスできるソースのリストです。このリストの項目は、論理演算子 OR を使用して組み合わせます。このフィールドが空または欠落している場合、このルールはすべてのソースに一致します (トラフィックはソースによって制限されていません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックが from リストの少なくとも 1 つのアイテムと一致する場合にのみトラフィックを許可します。
- タイプ
-
array
15.1.12. .spec.ingress[].from[]
- 説明
- NetworkPolicyPeer は、トラフィックとの間のトラフィックを許可するピアについて説明します。フィールドの特定の組み合わせのみが許可されます
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| IPBlock は、特定の CIDR を記述します (例:"192.168.1.0/24","2001:db8::/64")、NetworkPolicySpec の podSelector で一致した Pod に対しては許可されます。例外エントリーは、このルールに含めるべきではない CIDR を記述します。 |
| namespaceSelector は、クラスタースコープのラベルを使用して名前空間を選択します。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての名前空間が選択されます。 podSelector も設定されている場合、NetworkPolicyPeer は全体として、namespaceSelector によって選択された名前空間内の podSelector に一致する Pod を選択します。それ以外の場合は、namespaceSelector で選択された名前空間内のすべての Pod が選択されます。 | |
| podSelector は、Pod を選択するラベルセレクターです。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての Pod が選択されます。 namespaceSelector も設定されている場合、NetworkPolicyPeer は全体として、NamespaceSelector によって選択された名前空間内の podSelector に一致する Pod を選択します。それ以外の場合は、ポリシー独自の名前空間内の podSelector に一致する Pod が選択されます。 |
15.1.13. .spec.ingress[].from[].ipBlock
- 説明
- IPBlock は、特定の CIDR を記述します (例:"192.168.1.0/24","2001:db8::/64")、NetworkPolicySpec の podSelector で一致した Pod に対しては許可されます。例外エントリーは、このルールに含めるべきではない CIDR を記述します。
- タイプ
-
object
- 必須
-
cidr
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| cidr は IP ブロックを表す文字列です。有効な例は 192.168.1.0/24 または 2001:db8::/64 です。 |
|
| IPBlock 内に含めるべきではない CIDR のスライスを除く有効な例は、192.168.1.0/24 または 2001:db8::/64 です。例外の値は、CIDR 範囲外の場合、拒否されます。 |
15.1.14. .spec.ingress[].ports
- 説明
- ports は、このルールに対して選択された Pod 上でアクセス可能にする必要があるポートのリストです。このリストの各項目は、論理 OR を使用して結合されます。このフィールドが空または欠落している場合、このルールはすべてのポートに一致します (トラフィックはポートによって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックがリスト内の少なくとも 1 つのポートに一致する場合にのみトラフィックを許可します。
- タイプ
-
array
15.1.15. .spec.ingress[].ports[]
- 説明
- NetworkPolicyPort は、トラフィックを許可するポートを記述します
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| endPort は、設定されている場合、ポートから endPort までのポート範囲がポリシーによって許可される必要があることを示します。ポートフィールドが定義されていない場合、またはポートフィールドが名前付き (文字列) ポートとして定義されている場合、このフィールドは定義できません。endPort は、port 以上である必要があります。 |
| port は特定のプロトコルのポートを表します。これは、Pod の数値ポートまたは名前付きポートのいずれかです。このフィールドが指定されていない場合、これはすべてのポート名と番号に一致します。存在する場合、指定されたプロトコル AND ポートのトラフィックのみが一致します。 | |
|
| protocol は、トラフィックが一致する必要があるプロトコル (TCP、UDP、または SCTP) を表します。指定しない場合、このフィールドのデフォルトは TCP です。
使用可能な列挙値: - |