×

规范

属性 类型 描述

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

对象

spec 包含用户可设置的配置值。一般来说,不应该直接读取此字段。相反,您应该使用 NetworkStatus,因为它指示当前部署的配置。目前,大多数 spec 字段在安装后都是不可变的。请查看各个字段以了解每个字段的更多详细信息。

status

对象

status 包含从集群观察到的值。它们不能被覆盖。

.spec

描述

spec 包含用户可设置的配置值。一般来说,不应该直接读取此字段。相反,您应该使用 NetworkStatus,因为它指示当前部署的配置。目前,大多数 spec 字段在安装后都是不可变的。请查看各个字段以了解每个字段的更多详细信息。

类型

对象

属性 类型 描述

clusterNetwork

数组

用于 pod IP 的 IP 地址池。此字段在安装后不可变。

clusterNetwork[]

对象

ClusterNetworkEntry 是一个连续的 IP 地址块,从中分配 pod IP。

externalIP

对象

externalIP 定义了影响 Service.ExternalIP 的控制器的配置。如果为 nil,则不允许设置 ExternalIP。

networkDiagnostics

对象

networkDiagnostics 定义网络诊断配置。优先于 network.operator.openshift.io 中的 spec.disableNetworkDiagnostics。如果未指定 networkDiagnostics 或为空,并且 network.operator.openshift.io 中的 spec.disableNetworkDiagnostics 标志设置为 true,则网络诊断功能将被禁用。

networkType

字符串

NetworkType 是要部署的插件(例如 OVNKubernetes)。这应该与集群网络操作员理解的值匹配,否则将不会安装任何网络。当前支持的值为:- OVNKubernetes 此字段在安装后不可变。

serviceNetwork

数组 (字符串)

服务的 IP 地址池。目前,我们只支持此处的一个条目。此字段在安装后不可变。

serviceNodePortRange

字符串

NodePort 类型服务的允许端口范围。如果未指定,则将使用默认值 30000-32767。此范围内的未指定 NodePort 的服务将自动分配一个端口。此参数可以在集群安装后更新。

.spec.clusterNetwork

描述

用于 pod IP 的 IP 地址池。此字段在安装后不可变。

类型

数组

.spec.clusterNetwork[]

描述

ClusterNetworkEntry 是一个连续的 IP 地址块,从中分配 pod IP。

类型

对象

属性 类型 描述

cidr

字符串

pod IP 的完整块。

hostPrefix

整数

分配给每个节点的块大小(前缀)。如果插件未使用此字段,则可以将其保留为空。

.spec.externalIP

描述

externalIP 定义了影响 Service.ExternalIP 的控制器的配置。如果为 nil,则不允许设置 ExternalIP。

类型

对象

属性 类型 描述

autoAssignCIDRs

数组 (字符串)

autoAssignCIDRs 是一个 CIDR 列表,从中自动分配 Service.ExternalIP。当服务类型为 LoadBalancer 时,会分配这些 CIDR。一般来说,这仅对裸机集群有用。在 Openshift 3.x 中,这被误导性地称为“IngressIPs”。自动分配的 External IP 不受任何 ExternalIPPolicy 规则的影响。目前,只能提供一个条目。

policy

对象

policy 是应用于 ExternalIP 字段的一组限制。如果为 nil 或空,则不允许设置 ExternalIP。

.spec.externalIP.policy

描述

policy 是应用于 ExternalIP 字段的一组限制。如果为 nil 或空,则不允许设置 ExternalIP。

类型

对象

属性 类型 描述

allowedCIDRs

数组 (字符串)

allowedCIDRs 是允许的 CIDR 列表。

rejectedCIDRs

数组 (字符串)

rejectedCIDRs 是不允许的 CIDR 列表。这些优先于 allowedCIDRs。

.spec.networkDiagnostics

描述

networkDiagnostics 定义网络诊断配置。优先于 network.operator.openshift.io 中的 spec.disableNetworkDiagnostics。如果未指定 networkDiagnostics 或为空,并且 network.operator.openshift.io 中的 spec.disableNetworkDiagnostics 标志设置为 true,则网络诊断功能将被禁用。

类型

对象

属性 类型 描述

mode

字符串

mode 控制网络诊断模式。省略时,表示用户没有意见,平台可以选择合理的默认值。这些默认值会随着时间的推移而改变。当前默认值为 All。

sourcePlacement

对象

sourcePlacement 控制网络诊断源部署的调度。有关默认值的更多详细信息,请参阅 NetworkDiagnosticsSourcePlacement。

targetPlacement

对象

targetPlacement 控制网络诊断目标 DaemonSet 的调度。有关默认值的更多详细信息,请参阅 NetworkDiagnosticsTargetPlacement。

.spec.networkDiagnostics.sourcePlacement

描述

sourcePlacement 控制网络诊断源部署的调度。有关默认值的更多详细信息,请参阅 NetworkDiagnosticsSourcePlacement。

类型

对象

属性 类型 描述

nodeSelector

对象 (字符串)

nodeSelector 是应用于网络诊断组件的节点选择器。省略时,表示用户没有意见,平台可以选择合理的默认值。这些默认值会随着时间的推移而改变。当前默认值为 kubernetes.io/os: linux

tolerations

数组

tolerations 是应用于网络诊断组件的容忍度列表。省略时,表示用户没有意见,平台可以选择合理的默认值。这些默认值会随着时间的推移而改变。当前默认值为空列表。

tolerations[]

对象

此容忍度附加到的 pod 容忍任何与三元组 匹配的污点,使用匹配运算符

.spec.networkDiagnostics.sourcePlacement.tolerations

描述

tolerations 是应用于网络诊断组件的容忍度列表。省略时,表示用户没有意见,平台可以选择合理的默认值。这些默认值会随着时间的推移而改变。当前默认值为空列表。

类型

数组

.spec.networkDiagnostics.sourcePlacement.tolerations[]

描述

此容忍度附加到的 pod 容忍任何与三元组 匹配的污点,使用匹配运算符

类型

对象

属性 类型 描述

effect

字符串

Effect 指示要匹配的污点效果。空表示匹配所有污点效果。如果指定,允许的值为 NoSchedule、PreferNoSchedule 和 NoExecute。

key

字符串

Key 是容忍度适用的污点键。空表示匹配所有污点键。如果键为空,则运算符必须为 Exists;此组合表示匹配所有值和所有键。

operator

字符串

Operator 表示键与值的关系。有效的运算符为 Exists 和 Equal。默认为 Equal。Exists 等效于值的通配符,因此 pod 可以容忍特定类别的所有污点。

tolerationSeconds

整数

TolerationSeconds 表示容忍度(必须为 NoExecute 效果,否则此字段将被忽略)容忍污点的持续时间。默认情况下,它未设置,这意味着永远容忍污点(不驱逐)。系统将把零值和负值视为 0(立即驱逐)。

value

字符串

Value 是容忍度匹配的污点值。如果运算符是 Exists,则值应为空,否则只是一个普通的字符串。

.spec.networkDiagnostics.targetPlacement

描述

targetPlacement 控制网络诊断目标 DaemonSet 的调度。有关默认值的更多详细信息,请参阅 NetworkDiagnosticsTargetPlacement。

类型

对象

属性 类型 描述

nodeSelector

对象 (字符串)

nodeSelector 是应用于网络诊断组件的节点选择器。省略时,表示用户没有意见,平台可以选择合理的默认值。这些默认值会随着时间的推移而改变。当前默认值为 kubernetes.io/os: linux

tolerations

数组

tolerations 是应用于网络诊断组件的容忍度列表。省略时,表示用户没有意见,平台可以选择合理的默认值。这些默认值会随着时间的推移而改变。当前默认值为 - operator: "Exists",这意味着容忍所有污点。

tolerations[]

对象

此容忍度附加到的 pod 容忍任何与三元组 匹配的污点,使用匹配运算符

.spec.networkDiagnostics.targetPlacement.tolerations

描述

tolerations 是应用于网络诊断组件的容忍度列表。省略时,表示用户没有意见,平台可以选择合理的默认值。这些默认值会随着时间的推移而改变。当前默认值为 - operator: "Exists",这意味着容忍所有污点。

类型

数组

.spec.networkDiagnostics.targetPlacement.tolerations[]

描述

此容忍度附加到的 pod 容忍任何与三元组 匹配的污点,使用匹配运算符

类型

对象

属性 类型 描述

effect

字符串

Effect 指示要匹配的污点效果。空表示匹配所有污点效果。如果指定,允许的值为 NoSchedule、PreferNoSchedule 和 NoExecute。

key

字符串

Key 是容忍度适用的污点键。空表示匹配所有污点键。如果键为空,则运算符必须为 Exists;此组合表示匹配所有值和所有键。

operator

字符串

Operator 表示键与值的关系。有效的运算符为 Exists 和 Equal。默认为 Equal。Exists 等效于值的通配符,因此 pod 可以容忍特定类别的所有污点。

tolerationSeconds

整数

TolerationSeconds 表示容忍度(必须为 NoExecute 效果,否则此字段将被忽略)容忍污点的持续时间。默认情况下,它未设置,这意味着永远容忍污点(不驱逐)。系统将把零值和负值视为 0(立即驱逐)。

value

字符串

Value 是容忍度匹配的污点值。如果运算符是 Exists,则值应为空,否则只是一个普通的字符串。

.status

描述

status 包含从集群观察到的值。它们不能被覆盖。

类型

对象

属性 类型 描述

clusterNetwork

数组

Pod IP 地址池。

clusterNetwork[]

对象

ClusterNetworkEntry 是一个连续的 IP 地址块,从中分配 pod IP。

clusterNetworkMTU

整数

ClusterNetworkMTU 是 Pod 间网络的 MTU。

条件

数组

conditions 表示 network.config 当前状态的观测结果。已知的 .status.conditions.type 为:“NetworkDiagnosticsAvailable”

conditions[]

对象

Condition 包含此 API 资源当前状态一个方面的详细信息。--- 此结构旨在直接用作字段路径 .status.conditions 的数组。例如,类型 FooStatus struct{ // 表示 foo 当前状态的观测结果。 // 已知的 .status.conditions.type 为:“Available”、“Progressing”和“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" // 其他字段 }

迁移

对象

Migration 包含集群网络迁移配置。

networkType

字符串

NetworkType 是已部署的插件(例如 OVNKubernetes)。

serviceNetwork

数组 (字符串)

服务 IP 地址池。目前,我们只支持在此处使用单个条目。

.status.clusterNetwork

描述

Pod IP 地址池。

类型

数组

.status.clusterNetwork[]

描述

ClusterNetworkEntry 是一个连续的 IP 地址块,从中分配 pod IP。

类型

对象

属性 类型 描述

cidr

字符串

pod IP 的完整块。

hostPrefix

整数

分配给每个节点的块大小(前缀)。如果插件未使用此字段,则可以将其保留为空。

.status.conditions

描述

conditions 表示 network.config 当前状态的观测结果。已知的 .status.conditions.type 为:“NetworkDiagnosticsAvailable”

类型

数组

.status.conditions[]

描述

Condition 包含此 API 资源当前状态一个方面的详细信息。--- 此结构旨在直接用作字段路径 .status.conditions 的数组。例如,类型 FooStatus struct{ // 表示 foo 当前状态的观测结果。 // 已知的 .status.conditions.type 为:“Available”、“Progressing”和“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" // 其他字段 }

类型

对象

必需
  • 最后一次转换时间

  • 消息

  • 原因

  • status

  • 类型

属性 类型 描述

最后一次转换时间

字符串

lastTransitionTime 是条件从一种状态转换到另一种状态的最后时间。这应该是底层条件发生变化的时间。如果不知道,则使用 API 字段更改的时间是可以接受的。

消息

字符串

message 是一个易于理解的消息,指示有关转换的详细信息。这可能是一个空字符串。

观察到的Generation

整数

observedGeneration 表示设置条件的 .metadata.generation。例如,如果 .metadata.generation 当前为 12,但 .status.conditions[x].observedGeneration 为 9,则该条件相对于实例的当前状态已过期。

原因

字符串

reason 包含一个程序化标识符,指示条件最后一次转换的原因。特定条件类型的生产者可以为此字段定义预期的值和含义,以及是否将这些值视为保证的 API。该值应为驼峰式字符串。此字段不能为空。

status

字符串

条件的状态,True、False、Unknown 之一。

类型

字符串

条件的类型,使用驼峰式命名法或 foo.example.com/CamelCase。--- 许多 .condition.type 值在资源中是一致的,例如 Available,但由于任意条件可能很有用(参见 .node.status.conditions),因此消除冲突的能力非常重要。它匹配的正则表达式是 (dns1123SubdomainFmt/)?(qualifiedNameFmt)

.status.migration

描述

Migration 包含集群网络迁移配置。

类型

对象

属性 类型 描述

mtu

对象

MTU 是正在部署的 MTU 配置。

networkType

字符串

NetworkType 是正在部署的目标插件。已弃用:不再支持网络类型迁移,因此这应始终取消设置。

.status.migration.mtu

描述

MTU 是正在部署的 MTU 配置。

类型

对象

属性 类型 描述

机器

对象

Machine 包含机器上行链路的 MTU 迁移配置。

网络

对象

Network 包含默认网络的 MTU 迁移配置。

.status.migration.mtu.machine

描述

Machine 包含机器上行链路的 MTU 迁移配置。

类型

对象

属性 类型 描述

整数

From 是要从中迁移的 MTU。

整数

To 是要迁移到的 MTU。

.status.migration.mtu.network

描述

Network 包含默认网络的 MTU 迁移配置。

类型

对象

属性 类型 描述

整数

From 是要从中迁移的 MTU。

整数

To 是要迁移到的 MTU。

API 端点

提供以下 API 端点

  • /apis/config.openshift.io/v1/networks

    • DELETE:删除 Network 集合

    • GET:列出 Network 对象

    • POST:创建 Network

  • /apis/config.openshift.io/v1/networks/{name}

    • DELETE:删除 Network

    • GET:读取指定的 Network

    • PATCH:部分更新指定的 Network

    • PUT:替换指定的 Network

/apis/config.openshift.io/v1/networks

HTTP 方法

DELETE

描述

删除 Network 集合

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

200 - OK

Status 模式

401 - 未授权

HTTP 方法

GET

描述

列出 Network 对象

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

200 - OK

NetworkList 模式

401 - 未授权

HTTP 方法

POST

描述

创建 Network

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

dryRun

字符串

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

fieldValidation

字符串

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

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

body

Network 模式

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

200 - OK

Network 模式

201 - 已创建

Network 模式

202 - 已接受

Network 模式

401 - 未授权

/apis/config.openshift.io/v1/networks/{name}

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

name

字符串

Network 的名称

HTTP 方法

DELETE

描述

删除 Network

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

dryRun

字符串

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

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

200 - OK

Status 模式

202 - 已接受

Status 模式

401 - 未授权

HTTP 方法

GET

描述

读取指定的 Network

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

200 - OK

Network 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 Network

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

dryRun

字符串

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

fieldValidation

字符串

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

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

200 - OK

Network 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 Network

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

dryRun

字符串

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

fieldValidation

字符串

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

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

body

Network 模式

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

200 - OK

Network 模式

201 - 已创建

Network 模式

401 - 未授权