NetworkPolicy 描述了允许一组 Pod 进行哪些网络流量。
NetworkPolicy 描述了允许一组 Pod 进行哪些网络流量。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion 定义了此对象表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。不能更新。使用驼峰式大小写。更多信息: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 的规范。 |
NetworkPolicySpec 提供了 NetworkPolicy 的规范。
对象
podSelector
属性 | 类型 | 描述 |
---|---|---|
|
|
egress 是应用于所选 Pod 的出站规则列表。如果没有任何 NetworkPolicy 选择 Pod(并且集群策略在其他情况下允许流量),或者如果流量与所有 NetworkPolicy 对象(其 podSelector 与 Pod 匹配)中的至少一个出站规则匹配,则允许出站流量。如果此字段为空,则此 NetworkPolicy 限制所有出站流量(并且仅用于确保其选择的 Pod 默认情况下是隔离的)。此字段在 1.8 中处于测试阶段。 |
|
|
NetworkPolicyEgressRule 描述了允许从 NetworkPolicySpec 的 podSelector 匹配的 Pod 中发出的特定流量集。流量必须同时匹配端口和目标。此类型在 1.8 中处于测试阶段。 |
|
|
ingress 是应用于所选 Pod 的入站规则列表。如果没有任何 NetworkPolicy 选择 Pod(并且集群策略在其他情况下允许流量),或者如果流量源是 Pod 的本地节点,或者如果流量与所有 NetworkPolicy 对象(其 podSelector 与 Pod 匹配)中的至少一个入站规则匹配,则允许流量到达 Pod。如果此字段为空,则此 NetworkPolicy 不允许任何流量(并且仅用于确保其选择的 Pod 默认情况下是隔离的)。 |
|
|
NetworkPolicyIngressRule 描述了允许访问 NetworkPolicySpec 的 podSelector 匹配的 Pod 的特定流量集。流量必须同时匹配端口和来源。 |
|
podSelector 选择此 NetworkPolicy 对象适用的 Pod。入站规则数组应用于此字段选择的任何 Pod。多个网络策略可以选择相同的 Pod 集。在这种情况下,每个策略的入站规则将累加组合。此字段不是可选的,并且遵循标准标签选择器语义。空 podSelector 匹配此命名空间中的所有 Pod。 |
|
|
|
|
egress 是应用于所选 Pod 的出站规则列表。如果没有任何 NetworkPolicy 选择 Pod(并且集群策略在其他情况下允许流量),或者如果流量与所有 NetworkPolicy 对象(其 podSelector 与 Pod 匹配)中的至少一个出站规则匹配,则允许出站流量。如果此字段为空,则此 NetworkPolicy 限制所有出站流量(并且仅用于确保其选择的 Pod 默认情况下是隔离的)。此字段在 1.8 中处于测试阶段。
数组
NetworkPolicyEgressRule 描述了允许从 NetworkPolicySpec 的 podSelector 匹配的 Pod 中发出的特定流量集。流量必须同时匹配端口和目标。此类型在 1.8 中处于测试阶段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
ports
是出站流量的目标端口列表。此列表中的每个项目都使用逻辑 OR 组合。如果此字段为空或缺失,则此规则匹配所有端口(不受端口限制的流量)。如果此字段存在且至少包含一个项目,则此规则仅在流量与列表中的至少一个端口匹配时才允许流量。
数组
NetworkPolicyPort
描述允许流量通过的端口。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
可能的枚举值:- |
to
是为该规则选择的 Pod 的出站流量的目标列表。此列表中的项目使用逻辑 OR 操作组合。如果此字段为空或缺失,则此规则匹配所有目标(不受目标限制的流量)。如果此字段存在且至少包含一个项目,则此规则仅在流量与 to
列表中的至少一个项目匹配时才允许流量。
数组
NetworkPolicyPeer
描述允许流量进出的对等体。仅允许某些字段组合。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
如果也设置了 |
|
|
如果也设置了 |
IPBlock
描述允许访问由 NetworkPolicySpec 的 podSelector
匹配的 Pod 的特定 CIDR(例如,“192.168.1.0/24”、“2001:db8::/64”)。except
条目描述不应包含在此规则内的 CIDR。
对象
cidr
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
ingress 是应用于所选 Pod 的入站规则列表。如果没有任何 NetworkPolicy 选择 Pod(并且集群策略在其他情况下允许流量),或者如果流量源是 Pod 的本地节点,或者如果流量与所有 NetworkPolicy 对象(其 podSelector 与 Pod 匹配)中的至少一个入站规则匹配,则允许流量到达 Pod。如果此字段为空,则此 NetworkPolicy 不允许任何流量(并且仅用于确保其选择的 Pod 默认情况下是隔离的)。
数组
NetworkPolicyIngressRule 描述了允许访问 NetworkPolicySpec 的 podSelector 匹配的 Pod 的特定流量集。流量必须同时匹配端口和来源。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
from
是应该能够访问为此规则选择的 Pod 的来源列表。此列表中的项目使用逻辑 OR 操作组合。如果此字段为空或缺失,则此规则匹配所有来源(不受来源限制的流量)。如果此字段存在且至少包含一个项目,则此规则仅在流量与 from
列表中的至少一个项目匹配时才允许流量。
数组
NetworkPolicyPeer
描述允许流量进出的对等体。仅允许某些字段组合。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
如果也设置了 |
|
|
如果也设置了 |
IPBlock
描述允许访问由 NetworkPolicySpec 的 podSelector
匹配的 Pod 的特定 CIDR(例如,“192.168.1.0/24”、“2001:db8::/64”)。except
条目描述不应包含在此规则内的 CIDR。
对象
cidr
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
ports
是应该在此规则选择的 Pod 上可访问的端口列表。此列表中的每个项目都使用逻辑 OR 组合。如果此字段为空或缺失,则此规则匹配所有端口(不受端口限制的流量)。如果此字段存在且至少包含一个项目,则此规则仅在流量与列表中的至少一个端口匹配时才允许流量。
数组
NetworkPolicyPort
描述允许流量通过的端口。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
可能的枚举值:- |
提供以下 API 端点
/apis/networking.k8s.io/v1/networkpolicies
GET
:列出或监视 NetworkPolicy 类型的对象
/apis/networking.k8s.io/v1/watch/networkpolicies
GET
:监视 NetworkPolicy 列表的单个更改。已弃用:改为使用列表操作中的“watch”参数。
/apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies
DELETE
:删除 NetworkPolicy 集合
GET
:列出或监视 NetworkPolicy 类型的对象
POST
:创建 NetworkPolicy
/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies
GET
:监视 NetworkPolicy 列表的单个更改。已弃用:改为使用列表操作中的“watch”参数。
/apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name}
DELETE
:删除 NetworkPolicy
GET
:读取指定的 NetworkPolicy
PATCH
:部分更新指定的 NetworkPolicy
PUT
:替换指定的 NetworkPolicy
/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies/{name}
GET
:监视 NetworkPolicy 类型的对象的更改。已弃用:改为使用列表操作中的“watch”参数,并使用“fieldSelector”参数将其过滤为单个项目。
GET
列出或监视 NetworkPolicy 类型的对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
监视 NetworkPolicy 列表的单个更改。已弃用:改为使用列表操作中的“watch”参数。
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
DELETE
删除 NetworkPolicy 集合
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出或监视 NetworkPolicy 类型的对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建 NetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:忽略任何未知字段,这些字段将从对象中静默删除,并且只保留解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段和遇到的每个重复字段,都会通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则会使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
监视 NetworkPolicy 列表的单个更改。已弃用:改为使用列表操作中的“watch”参数。
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
NetworkPolicy 的名称 |
DELETE
删除 NetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 NetworkPolicy
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 NetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:忽略任何未知字段,这些字段将从对象中静默删除,并且只保留解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段和遇到的每个重复字段,都会通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则会使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
PUT
替换指定的 NetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:忽略任何未知字段,这些字段将从对象中静默删除,并且只保留解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段和遇到的每个重复字段,都会通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则会使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
NetworkPolicy 的名称 |
GET
监视 NetworkPolicy 类型对象的更改。已弃用:改为使用列表操作中的“watch”参数,并使用“fieldSelector”参数将其过滤为单个项目。
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |