EgressService 是一个 CRD,允许用户请求将来自所有作为相应 LoadBalancer 服务端点的 Pod 的出站数据包的源 IP 设置为其入口 IP。此外,它还允许用户请求来自所有作为 LoadBalancer 服务端点的 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 |
|
|
|
EgressServiceSpec 定义了 EgressService 的期望状态 |
|
|
EgressServiceStatus 定义了 EgressService 的观察状态 |
EgressServiceSpec 定义了 EgressService 的期望状态
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
此服务应将出站流量和相应的入站回复发送到的网络。这通常实现为 VRF 映射,表示一个数字 ID 或路由表的字符串名称,默认情况下使用主机默认路由。 |
|
|
允许限制可以选择处理服务的流量的节点,当 sourceIPBy=LoadBalancerIP 时。如果存在,则只有其标签与指定的选取器匹配的节点才能被选中来处理服务的流量。如果没有指定,则可以选择集群中的任何节点来管理服务的流量。 |
|
|
确定源自支持 LoadBalancer 服务的 Pod 的出站流量的源 IP。当为 `LoadBalancerIP` 时,源 IP 设置为其 LoadBalancer 入口 IP。当为 `Network` 时,源 IP 根据网络的接口设置,利用已就位的伪装规则。通常这些规则指定将 SNAT 设置为出站接口的 IP,这意味着数据包通常会使用节点的 IP 发送。 |
允许限制可以选择处理服务的流量的节点,当 sourceIPBy=LoadBalancerIP 时。如果存在,则只有其标签与指定的选取器匹配的节点才能被选中来处理服务的流量。如果没有指定,则可以选择集群中的任何节点来管理服务的流量。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 关系。 |
|
|
标签选择器需求是一个选择器,它包含值、键和一个关联键和值的运算符。 |
|
|
matchLabels 是一个 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些需求是 AND 关系。 |
标签选择器需求是一个选择器,它包含值、键和一个关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是一个字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。 |
提供以下 API 端点
/apis/k8s.ovn.org/v1/egressservices
GET
:列出 EgressService 类型的对象
/apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices
DELETE
:删除 EgressService 集合
GET
:列出 EgressService 类型的对象
POST
:创建 EgressService
/apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices/{name}
DELETE
:删除 EgressService
GET
:读取指定的 EgressService
PATCH
:部分更新指定的 EgressService
PUT
:替换指定的 EgressService
/apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices/{name}/status
GET
:读取指定的 EgressService 的状态
PATCH
:部分更新指定的 EgressService 的状态
PUT
:替换指定的 EgressService 的状态
GET
列出 EgressService 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
DELETE
删除 EgressService 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出 EgressService 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建 EgressService
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的所有重复字段(只保留最后一个)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
EgressService 的名称 |
DELETE
删除 EgressService
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 EgressService
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 EgressService
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的所有重复字段(只保留最后一个)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 EgressService
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的所有重复字段(只保留最后一个)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
EgressService 的名称 |
GET
读取指定的 EgressService 的状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 EgressService 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的所有重复字段(只保留最后一个)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 EgressService 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的所有重复字段(只保留最后一个)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |