EgressQoS 是一个 CRD,允许用户为其命名空间中 Pod 出站流量到指定 CIDR 定义 DSCP 值。将根据命名空间的每个 EgressQoSRule 检查来自这些 Pod 的流量,如果匹配,则使用相关的 DSCP 值标记流量。
属性 | 类型 | 描述 |
---|---|---|
|
|
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 |
|
|
|
EgressQoSSpec 定义了 EgressQoS 的期望状态 |
|
|
EgressQoSStatus 定义了 EgressQoS 的观察状态 |
EgressQoSSpec 定义了 EgressQoS 的期望状态
对象
egress
属性 | 类型 | 描述 |
---|---|---|
|
|
一系列 Egress QoS 规则对象 |
|
|
对象
dscp
属性 | 类型 | 描述 |
---|---|---|
|
|
匹配 Pod 流量的 DSCP 标记值。 |
|
|
DstCIDR 指定目的地的 CIDR。只有前往此 CIDR 的流量才会使用 DSCP 值标记。此字段是可选的,如果未设置,则规则将应用于所有出站流量,而不管目的地如何。 |
|
|
PodSelector 仅将 QoS 规则应用于命名空间中其标签与此定义匹配的 Pod。此字段是可选的,如果未设置,则规则将应用于命名空间中的所有 Pod。 |
PodSelector 仅将 QoS 规则应用于命名空间中其标签与此定义匹配的 Pod。此字段是可选的,如果未设置,则规则将应用于命名空间中的所有 Pod。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。 |
|
|
标签选择器要求是一个选择器,它包含值、键和一个将键和值关联在一起的操作符。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,操作符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。 |
标签选择器要求是一个选择器,它包含值、键和一个将键和值关联在一起的操作符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效操作符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果操作符是 In 或 NotIn,则 values 数组必须是非空的。如果操作符是 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并修补程序期间将被替换。 |
EgressQoSStatus 定义了 EgressQoS 的观察状态
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
指示 EgressQoS 对象状态详细信息的条件对象数组。 |
|
|
Condition 包含此 API 资源当前状态的一个方面的详细信息。--- 此结构旨在直接用作字段路径 .status.conditions 中的数组。例如, type FooStatus struct{ // 表示对 foo 当前状态的观察。 // 已知的 .status.conditions.type 为:“Available”、“Progressing”和“Degraded” // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition // 其他字段 } |
|
|
EgressQoS 资源是否成功应用的简明指示。 |
Condition 包含此 API 资源当前状态的一个方面的详细信息。--- 此结构旨在直接用作字段路径 .status.conditions 中的数组。例如,
type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
// other fields }
对象
lastTransitionTime
message
reason
status
type
属性 | 类型 | 描述 |
---|---|---|
|
|
lastTransitionTime 是条件从一种状态转换到另一种状态的最后时间。这应该是底层条件发生变化的时间。如果不知道这一点,则可以使用 API 字段发生变化的时间。 |
|
|
message 是一个易于理解的消息,指示有关转换的详细信息。这可能是一个空字符串。 |
|
|
observedGeneration 表示设置条件时所基于的 .metadata.generation。例如,如果当前 .metadata.generation 为 12,但 .status.conditions[x].observedGeneration 为 9,则该条件相对于实例的当前状态已过期。 |
|
|
reason 包含一个程序标识符,指示条件上次转换的原因。特定条件类型的生产者可以为此字段定义预期的值和含义,以及这些值是否被视为保证的 API。该值应为驼峰式字符串。此字段不能为空。 |
|
|
条件的状态,取值为 True、False 或 Unknown 之一。 |
|
|
条件类型,使用驼峰式命名法或 foo.example.com/CamelCase 格式。——许多 .condition.type 值在各个资源中保持一致,例如 Available,但由于任意条件可能很有用(参见 .node.status.conditions),因此消除冲突的能力非常重要。它匹配的正则表达式为 (dns1123SubdomainFmt/)?(qualifiedNameFmt) |
提供以下 API 端点:
/apis/k8s.ovn.org/v1/egressqoses
GET
:列出 EgressQoS 类型的对象
/apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses
DELETE
:删除 EgressQoS 集合
GET
:列出 EgressQoS 类型的对象
POST
:创建 EgressQoS
/apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses/{name}
DELETE
:删除 EgressQoS
GET
:读取指定的 EgressQoS
PATCH
:部分更新指定的 EgressQoS
PUT
:替换指定的 EgressQoS
/apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses/{name}/status
GET
:读取指定的 EgressQoS 的状态
PATCH
:部分更新指定的 EgressQoS 的状态
PUT
:替换指定的 EgressQoS 的状态
GET
列出 EgressQoS 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
DELETE
删除 EgressQoS 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出 EgressQoS 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建 EgressQoS
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的除最后一个重复字段之外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,则此操作将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
EgressQoS 的名称 |
DELETE
删除 EgressQoS
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 EgressQoS
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 EgressQoS
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的除最后一个重复字段之外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,则此操作将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 EgressQoS
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的除最后一个重复字段之外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,则此操作将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
EgressQoS 的名称 |
GET
读取指定的 EgressQoS 的状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 EgressQoS 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的除最后一个重复字段之外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,则此操作将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 EgressQoS 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的除最后一个重复字段之外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,则此操作将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |