Network 包含关于网络的集群范围信息。规范名称是 cluster
。它用于配置所需的网络配置,例如:服务/Pod IP 的 IP 地址池、网络插件等。请查看 network.spec 以了解配置此资源时适用的内容。兼容性级别 1:在主要版本中至少稳定 12 个月或 3 个次要版本(以较长者为准)。
Network 包含关于网络的集群范围信息。规范名称是 cluster
。它用于配置所需的网络配置,例如:服务/Pod IP 的 IP 地址池、网络插件等。请查看 network.spec 以了解配置此资源时适用的内容。兼容性级别 1:在主要版本中至少稳定 12 个月或 3 个次要版本(以较长者为准)。
对象
spec
属性 | 类型 | 描述 |
---|---|---|
|
|
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 |
|
|
|
spec 包含用户可设置的配置值。一般来说,不应该直接读取此字段。相反,您应该使用 NetworkStatus,因为它指示当前部署的配置。目前,大多数 spec 字段在安装后都是不可变的。请查看各个字段以了解每个字段的更多详细信息。 |
|
|
status 包含从集群观察到的值。它们不能被覆盖。 |
spec 包含用户可设置的配置值。一般来说,不应该直接读取此字段。相反,您应该使用 NetworkStatus,因为它指示当前部署的配置。目前,大多数 spec 字段在安装后都是不可变的。请查看各个字段以了解每个字段的更多详细信息。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
用于 pod IP 的 IP 地址池。此字段在安装后不可变。 |
|
|
ClusterNetworkEntry 是一个连续的 IP 地址块,从中分配 pod IP。 |
|
|
externalIP 定义了影响 Service.ExternalIP 的控制器的配置。如果为 nil,则不允许设置 ExternalIP。 |
|
|
networkDiagnostics 定义网络诊断配置。优先于 network.operator.openshift.io 中的 spec.disableNetworkDiagnostics。如果未指定 networkDiagnostics 或为空,并且 network.operator.openshift.io 中的 spec.disableNetworkDiagnostics 标志设置为 true,则网络诊断功能将被禁用。 |
|
|
NetworkType 是要部署的插件(例如 OVNKubernetes)。这应该与集群网络操作员理解的值匹配,否则将不会安装任何网络。当前支持的值为:- OVNKubernetes 此字段在安装后不可变。 |
|
|
服务的 IP 地址池。目前,我们只支持此处的一个条目。此字段在安装后不可变。 |
|
|
NodePort 类型服务的允许端口范围。如果未指定,则将使用默认值 30000-32767。此范围内的未指定 NodePort 的服务将自动分配一个端口。此参数可以在集群安装后更新。 |
ClusterNetworkEntry 是一个连续的 IP 地址块,从中分配 pod IP。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
pod IP 的完整块。 |
|
|
分配给每个节点的块大小(前缀)。如果插件未使用此字段,则可以将其保留为空。 |
externalIP 定义了影响 Service.ExternalIP 的控制器的配置。如果为 nil,则不允许设置 ExternalIP。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
autoAssignCIDRs 是一个 CIDR 列表,从中自动分配 Service.ExternalIP。当服务类型为 LoadBalancer 时,会分配这些 CIDR。一般来说,这仅对裸机集群有用。在 Openshift 3.x 中,这被误导性地称为“IngressIPs”。自动分配的 External IP 不受任何 ExternalIPPolicy 规则的影响。目前,只能提供一个条目。 |
|
|
policy 是应用于 ExternalIP 字段的一组限制。如果为 nil 或空,则不允许设置 ExternalIP。 |
policy 是应用于 ExternalIP 字段的一组限制。如果为 nil 或空,则不允许设置 ExternalIP。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
allowedCIDRs 是允许的 CIDR 列表。 |
|
|
rejectedCIDRs 是不允许的 CIDR 列表。这些优先于 allowedCIDRs。 |
networkDiagnostics 定义网络诊断配置。优先于 network.operator.openshift.io 中的 spec.disableNetworkDiagnostics。如果未指定 networkDiagnostics 或为空,并且 network.operator.openshift.io 中的 spec.disableNetworkDiagnostics 标志设置为 true,则网络诊断功能将被禁用。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
mode 控制网络诊断模式。省略时,表示用户没有意见,平台可以选择合理的默认值。这些默认值会随着时间的推移而改变。当前默认值为 All。 |
|
|
sourcePlacement 控制网络诊断源部署的调度。有关默认值的更多详细信息,请参阅 NetworkDiagnosticsSourcePlacement。 |
|
|
targetPlacement 控制网络诊断目标 DaemonSet 的调度。有关默认值的更多详细信息,请参阅 NetworkDiagnosticsTargetPlacement。 |
sourcePlacement 控制网络诊断源部署的调度。有关默认值的更多详细信息,请参阅 NetworkDiagnosticsSourcePlacement。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
nodeSelector 是应用于网络诊断组件的节点选择器。省略时,表示用户没有意见,平台可以选择合理的默认值。这些默认值会随着时间的推移而改变。当前默认值为 |
|
|
tolerations 是应用于网络诊断组件的容忍度列表。省略时,表示用户没有意见,平台可以选择合理的默认值。这些默认值会随着时间的推移而改变。当前默认值为空列表。 |
|
|
此容忍度附加到的 pod 容忍任何与三元组 |
tolerations 是应用于网络诊断组件的容忍度列表。省略时,表示用户没有意见,平台可以选择合理的默认值。这些默认值会随着时间的推移而改变。当前默认值为空列表。
数组
此容忍度附加到的 pod 容忍任何与三元组
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Effect 指示要匹配的污点效果。空表示匹配所有污点效果。如果指定,允许的值为 NoSchedule、PreferNoSchedule 和 NoExecute。 |
|
|
Key 是容忍度适用的污点键。空表示匹配所有污点键。如果键为空,则运算符必须为 Exists;此组合表示匹配所有值和所有键。 |
|
|
Operator 表示键与值的关系。有效的运算符为 Exists 和 Equal。默认为 Equal。Exists 等效于值的通配符,因此 pod 可以容忍特定类别的所有污点。 |
|
|
TolerationSeconds 表示容忍度(必须为 NoExecute 效果,否则此字段将被忽略)容忍污点的持续时间。默认情况下,它未设置,这意味着永远容忍污点(不驱逐)。系统将把零值和负值视为 0(立即驱逐)。 |
|
|
Value 是容忍度匹配的污点值。如果运算符是 Exists,则值应为空,否则只是一个普通的字符串。 |
targetPlacement 控制网络诊断目标 DaemonSet 的调度。有关默认值的更多详细信息,请参阅 NetworkDiagnosticsTargetPlacement。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
nodeSelector 是应用于网络诊断组件的节点选择器。省略时,表示用户没有意见,平台可以选择合理的默认值。这些默认值会随着时间的推移而改变。当前默认值为 |
|
|
tolerations 是应用于网络诊断组件的容忍度列表。省略时,表示用户没有意见,平台可以选择合理的默认值。这些默认值会随着时间的推移而改变。当前默认值为 |
|
|
此容忍度附加到的 pod 容忍任何与三元组 |
tolerations 是应用于网络诊断组件的容忍度列表。省略时,表示用户没有意见,平台可以选择合理的默认值。这些默认值会随着时间的推移而改变。当前默认值为 - operator: "Exists"
,这意味着容忍所有污点。
数组
此容忍度附加到的 pod 容忍任何与三元组
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Effect 指示要匹配的污点效果。空表示匹配所有污点效果。如果指定,允许的值为 NoSchedule、PreferNoSchedule 和 NoExecute。 |
|
|
Key 是容忍度适用的污点键。空表示匹配所有污点键。如果键为空,则运算符必须为 Exists;此组合表示匹配所有值和所有键。 |
|
|
Operator 表示键与值的关系。有效的运算符为 Exists 和 Equal。默认为 Equal。Exists 等效于值的通配符,因此 pod 可以容忍特定类别的所有污点。 |
|
|
TolerationSeconds 表示容忍度(必须为 NoExecute 效果,否则此字段将被忽略)容忍污点的持续时间。默认情况下,它未设置,这意味着永远容忍污点(不驱逐)。系统将把零值和负值视为 0(立即驱逐)。 |
|
|
Value 是容忍度匹配的污点值。如果运算符是 Exists,则值应为空,否则只是一个普通的字符串。 |
status 包含从集群观察到的值。它们不能被覆盖。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Pod IP 地址池。 |
|
|
ClusterNetworkEntry 是一个连续的 IP 地址块,从中分配 pod IP。 |
|
|
ClusterNetworkMTU 是 Pod 间网络的 MTU。 |
|
|
conditions 表示 network.config 当前状态的观测结果。已知的 .status.conditions.type 为:“NetworkDiagnosticsAvailable” |
|
|
Condition 包含此 API 资源当前状态一个方面的详细信息。--- 此结构旨在直接用作字段路径 .status.conditions 的数组。例如,类型 FooStatus struct{ // 表示 foo 当前状态的观测结果。 // 已知的 .status.conditions.type 为:“Available”、“Progressing”和“Degraded” // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition |
|
|
Migration 包含集群网络迁移配置。 |
|
|
NetworkType 是已部署的插件(例如 OVNKubernetes)。 |
|
|
服务 IP 地址池。目前,我们只支持在此处使用单个条目。 |
ClusterNetworkEntry 是一个连续的 IP 地址块,从中分配 pod IP。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
pod IP 的完整块。 |
|
|
分配给每个节点的块大小(前缀)。如果插件未使用此字段,则可以将其保留为空。 |
conditions 表示 network.config 当前状态的观测结果。已知的 .status.conditions.type 为:“NetworkDiagnosticsAvailable”
数组
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 是一个易于理解的消息,指示有关转换的详细信息。这可能是一个空字符串。 |
|
|
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) |
Migration 包含集群网络迁移配置。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
MTU 是正在部署的 MTU 配置。 |
|
|
NetworkType 是正在部署的目标插件。已弃用:不再支持网络类型迁移,因此这应始终取消设置。 |
MTU 是正在部署的 MTU 配置。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Machine 包含机器上行链路的 MTU 迁移配置。 |
|
|
Network 包含默认网络的 MTU 迁移配置。 |
提供以下 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
DELETE
删除 Network 集合
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出 Network 对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建 Network
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Network 的名称 |
DELETE
删除 Network
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 Network
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 Network
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 Network
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |