×
描述

EgressFirewall描述了命名空间当前的出站防火墙。从Pod到集群外部IP地址的流量将按照Pod命名空间的EgressFirewall中的每个EgressFirewallRule进行检查。如果没有任何规则匹配(或不存在EgressFirewall),则默认允许流量。

类型

对象

必需
  • spec

规格

属性 类型 描述

apiVersion

字符串

APIVersion定义了对象的此表示形式的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

Kind是表示此对象表示的REST资源的字符串值。服务器可以从客户端提交请求的端点推断出这一点。不能更新。使用驼峰命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

对象

EgressFirewall期望行为的规范。

status

对象

EgressFirewall的观察状态

.spec

描述

EgressFirewall期望行为的规范。

类型

对象

必需
  • egress

属性 类型 描述

egress

数组

一系列出站防火墙规则对象

egress[]

对象

EgressFirewallRule是一个单独的出站防火墙规则对象

.spec.egress

描述

一系列出站防火墙规则对象

类型

数组

.spec.egress[]

描述

EgressFirewallRule是一个单独的出站防火墙规则对象

类型

对象

必需
  • to

  • 类型

属性 类型 描述

ports

数组

ports指定规则适用的端口和协议

ports[]

对象

EgressFirewallPort指定允许或拒绝流量的端口

to

对象

to是允许/拒绝流量的目标

类型

字符串

type将此标记为“允许”或“拒绝”规则

.spec.egress[].ports

描述

ports指定规则适用的端口和协议

类型

数组

.spec.egress[].ports[]

描述

EgressFirewallPort指定允许或拒绝流量的端口

类型

对象

必需
  • port

  • protocol

属性 类型 描述

port

整数

流量必须匹配的端口

protocol

字符串

流量必须匹配的协议(tcp、udp、sctp)。

.spec.egress[].to

描述

to是允许/拒绝流量的目标

类型

对象

属性 类型 描述

cidrSelector

字符串

cidrSelector是允许/拒绝流量的CIDR范围。如果设置了此项,则必须取消设置dnsName和nodeSelector。

dnsName

字符串

dnsName是允许/拒绝流量的域名。如果设置了此项,则必须取消设置cidrSelector和nodeSelector。对于通配符DNS名称,“*”将只匹配一个标签。此外,只能在通配符DNS名称的开头使用单个“*”。例如,“*.example.com”将匹配“sub1.example.com”,但不会匹配“sub2.sub1.example.com”

nodeSelector

对象

nodeSelector将允许/拒绝流量到所选节点的Kubernetes节点IP。如果设置了此项,则必须取消设置cidrSelector和DNSName。

.spec.egress[].to.nodeSelector

描述

nodeSelector将允许/拒绝流量到所选节点的Kubernetes节点IP。如果设置了此项,则必须取消设置cidrSelector和DNSName。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions是标签选择器要求的列表。这些要求是ANDed的。

matchExpressions[]

对象

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

matchLabels

对象(字符串)

matchLabels是{key,value}对的映射。matchLabels映射中的单个{key,value}等效于matchExpressions的一个元素,其key字段为“key”,运算符为“In”,而values数组仅包含“value”。这些要求是ANDed的。

.spec.egress[].to.nodeSelector.matchExpressions

描述

matchExpressions是标签选择器要求的列表。这些要求是ANDed的。

类型

数组

.spec.egress[].to.nodeSelector.matchExpressions[]

描述

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

类型

对象

必需
  • key

  • operator

属性 类型 描述

key

字符串

key是选择器应用到的标签键。

operator

字符串

operator表示键与一组值的关系。有效的运算符是In、NotIn、Exists和DoesNotExist。

values

数组(字符串)

values是一个字符串值的数组。如果运算符是In或NotIn,则values数组必须是非空的。如果运算符是Exists或DoesNotExist,则values数组必须为空。此数组在策略性合并修补程序期间被替换。

.status

描述

EgressFirewall的观察状态

类型

对象

属性 类型 描述

messages

数组(字符串)

status

字符串

API端点

提供以下API端点

  • /apis/k8s.ovn.org/v1/egressfirewalls

    • GET:列出EgressFirewall类型的对象

  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls

    • DELETE:删除EgressFirewall集合

    • GET:列出EgressFirewall类型的对象

    • POST:创建一个EgressFirewall

  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls/{name}

    • DELETE:删除一个EgressFirewall

    • GET:读取指定的EgressFirewall

    • PATCH:部分更新指定的EgressFirewall

    • PUT:替换指定的EgressFirewall

  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls/{name}/status

    • GET:读取指定EgressFirewall的状态

    • PATCH:部分更新指定EgressFirewall的状态

    • PUT:替换指定EgressFirewall的状态

/apis/k8s.ovn.org/v1/egressfirewalls

HTTP方法

GET

描述

列出EgressFirewall类型的对象

表1. HTTP响应
HTTP代码 响应体

200 - OK

EgressFirewallList模式

401 - 未授权

/apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls

HTTP方法

DELETE

描述

删除EgressFirewall集合

表2. HTTP响应
HTTP代码 响应体

200 - OK

Status模式

401 - 未授权

HTTP方法

GET

描述

列出EgressFirewall类型的对象

表3. HTTP响应
HTTP代码 响应体

200 - OK

EgressFirewallList模式

401 - 未授权

HTTP方法

POST

描述

创建一个EgressFirewall

表4. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何从对象中静默删除的未知字段,并将忽略解码器遇到的所有重复字段(只保留最后一个)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 5. 请求体参数
参数 类型 描述

body

EgressFirewall 模式

表 6. HTTP 响应
HTTP代码 响应体

200 - OK

EgressFirewall 模式

201 - 已创建

EgressFirewall 模式

202 - 已接受

EgressFirewall 模式

401 - 未授权

/apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls/{name}

表 7. 全局路径参数
参数 类型 描述

name

字符串

EgressFirewall 的名称

HTTP方法

DELETE

描述

删除 EgressFirewall

表 8. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

表 9. HTTP 响应
HTTP代码 响应体

200 - OK

Status模式

202 - 已接受

Status模式

401 - 未授权

HTTP方法

GET

描述

读取指定的 EgressFirewall

表 10. HTTP 响应
HTTP代码 响应体

200 - OK

EgressFirewall 模式

401 - 未授权

HTTP方法

PATCH

描述

部分更新指定的 EgressFirewall

表 11. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何从对象中静默删除的未知字段,并将忽略解码器遇到的所有重复字段(只保留最后一个)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 12. HTTP 响应
HTTP代码 响应体

200 - OK

EgressFirewall 模式

401 - 未授权

HTTP方法

PUT

描述

替换指定的 EgressFirewall

表 13. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何从对象中静默删除的未知字段,并将忽略解码器遇到的所有重复字段(只保留最后一个)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 14. 请求体参数
参数 类型 描述

body

EgressFirewall 模式

表 15. HTTP 响应
HTTP代码 响应体

200 - OK

EgressFirewall 模式

201 - 已创建

EgressFirewall 模式

401 - 未授权

/apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls/{name}/status

表 16. 全局路径参数
参数 类型 描述

name

字符串

EgressFirewall 的名称

HTTP方法

GET

描述

读取指定的 EgressFirewall 的状态

表 17. HTTP 响应
HTTP代码 响应体

200 - OK

EgressFirewall 模式

401 - 未授权

HTTP方法

PATCH

描述

部分更新指定的 EgressFirewall 的状态

表 18. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何从对象中静默删除的未知字段,并将忽略解码器遇到的所有重复字段(只保留最后一个)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 19. HTTP 响应
HTTP代码 响应体

200 - OK

EgressFirewall 模式

401 - 未授权

HTTP方法

PUT

描述

替换指定的 EgressFirewall 的状态

表 20. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何从对象中静默删除的未知字段,并将忽略解码器遇到的所有重复字段(只保留最后一个)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 21. 请求体参数
参数 类型 描述

body

EgressFirewall 模式

表 22. HTTP 响应
HTTP代码 响应体

200 - OK

EgressFirewall 模式

201 - 已创建

EgressFirewall 模式

401 - 未授权