×
描述

Network 描述了集群所需的网络配置。它由 cluster-network-operator 使用。兼容性级别 1:在主要版本中至少稳定 12 个月或 3 个次要版本(以较长者为准)。

类型

对象

规范

属性 类型 描述

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

对象

NetworkSpec 是顶级网络配置对象。

status

对象

NetworkStatus 是详细的运营商状态,它被提炼到 Network clusteroperator 对象中。

.spec

描述

NetworkSpec 是顶级网络配置对象。

类型

对象

属性 类型 描述

additionalNetworks

数组

additionalNetworks 是一个额外网络列表,当启用多个网络时,可用于 Pod。

additionalNetworks[]

对象

AdditionalNetworkDefinition 配置一个额外的网络,该网络可用但默认情况下未创建。Pod 必须按名称请求它们。必须指定类型,以及与类型完全匹配的一个“Config”。

clusterNetwork

数组

clusterNetwork 是用于 Pod IP 的 IP 地址池。一些网络提供程序支持多个 ClusterNetwork。其他仅支持一个。这等效于 cluster-cidr。

clusterNetwork[]

对象

ClusterNetworkEntry 是一个子网,从中分配 PodIP。当节点加入集群时,将分配大小为 HostPrefix(以 CIDR 表示法表示)的网络。如果插件未使用 HostPrefix 字段,则可以将其留空。并非所有网络提供程序都支持多个 ClusterNetworks

defaultNetwork

对象

defaultNetwork 是所有 Pod 都将接收的“默认”网络。

deployKubeProxy

布尔值

deployKubeProxy 指定是否应由运营商部署独立的 kube-proxy。一些网络提供程序包含 kube-proxy 或类似的功能。如果未设置,插件将尝试选择正确的值,当使用 ovn-kubernetes 时为 false,否则为 true。

disableMultiNetwork

布尔值

disableMultiNetwork 指定是否应禁用多个 Pod 网络支持。如果未设置,此属性默认为“false”,并且启用多个网络支持。

disableNetworkDiagnostics

布尔值

disableNetworkDiagnostics 指定是否应禁用来自测试 Pod 到每个节点、apiserver 和 LB 的 PodNetworkConnectivityCheck CR。如果未设置,此属性默认为“false”,并且启用网络诊断。将其设置为“true”将减少执行检查的 Pod 的额外负载。

exportNetworkFlows

对象

exportNetworkFlows 通过使用 NetFlow、SFlow 或 IPFIX 协议启用并配置从 Pod 网络导出网络流元数据。目前仅在 OVN-Kubernetes 插件上支持。如果未设置,则不会将流导出到任何收集器。

kubeProxyConfig

对象

如果 deployKubeProxy 为 true,则 kubeProxyConfig 允许我们配置所需的代理配置。如果未指定,OpenShift 将直接选择合理的默认值。

logLevel

字符串

logLevel 是基于意图的整体组件日志记录。它没有提供细粒度的控制,但它是一种简单的方法来管理运营商必须为其操作数解释的粗粒度日志记录选择。有效值为:“Normal”、“Debug”、“Trace”、“TraceAll”。默认为“Normal”。

managementState

字符串

managementState 指示运营商是否以及如何管理组件。

migration

对象

migration 启用并配置集群网络迁移,用于无法立即进行的网络更改。

observedConfig

``

observedConfig 包含控制器从集群状态观察到的稀疏配置。它存在于 spec 中,因为它是的输入。

operatorLogLevel

字符串

operatorLogLevel 是基于意图的运营商本身的日志记录。它没有提供细粒度的控制,但它是一种简单的方法来管理运营商必须为自身解释的粗粒度日志记录选择。有效值为:“Normal”、“Debug”、“Trace”、“TraceAll”。默认为“Normal”。

serviceNetwork

数组(字符串)

serviceNetwork 是用于服务 IP 的 IP 地址池。目前,所有现有的网络提供程序都只在此处支持单个值,但这是一个数组,允许扩展。

unsupportedConfigOverrides

``

unsupportedConfigOverrides 覆盖由运营商计算的最终配置。Red Hat 不支持使用此字段。误用此字段可能会导致意外行为或与其他配置选项冲突。在使用此字段之前,请寻求 Red Hat 支持的指导。使用此属性会阻止集群升级,必须在升级集群之前将其删除。

useMultiNetworkPolicy

布尔值

useMultiNetworkPolicy 启用一个控制器,该控制器允许在由 Multus CNI 创建的附加网络上使用 MultiNetworkPolicy 对象。MultiNetworkPolicy 类似于 NetworkPolicy 对象,但 NetworkPolicy 对象仅应用于主接口。使用 MultiNetworkPolicy,您可以控制 Pod 可以通过辅助接口接收的流量。如果未设置,此属性默认为“false”,并且忽略 MultiNetworkPolicy 对象。如果“disableMultiNetwork”为“true”,则忽略此字段的值。

.spec.additionalNetworks

描述

additionalNetworks 是一个额外网络列表,当启用多个网络时,可用于 Pod。

类型

数组

.spec.additionalNetworks[]

描述

AdditionalNetworkDefinition 配置一个额外的网络,该网络可用但默认情况下未创建。Pod 必须按名称请求它们。必须指定类型,以及与类型完全匹配的一个“Config”。

类型

对象

必需
  • name

属性 类型 描述

name

字符串

name 是网络的名称。这将填充到生成的 CRD 中。这必须是唯一的。

namespace

字符串

namespace 是网络的命名空间。这将填充到生成的 CRD 中。如果没有给出,网络将在默认命名空间中创建。

rawCNIConfig

字符串

rawCNIConfig 是要在 NetworkAttachmentDefinition CRD 中创建的原始 CNI 配置 json。

simpleMacvlanConfig

对象

SimpleMacvlanConfig 在 type:NetworkTypeSimpleMacvlan 的情况下配置 macvlan 接口。

type

字符串

type 是网络的类型。支持的值为 NetworkTypeRaw、NetworkTypeSimpleMacvlan。

.spec.additionalNetworks[].simpleMacvlanConfig

描述

SimpleMacvlanConfig 在 type:NetworkTypeSimpleMacvlan 的情况下配置 macvlan 接口。

类型

对象

属性 类型 描述

ipamConfig

对象

IPAMConfig 配置将用于 IP 地址管理 (IPAM) 的 IPAM 模块。

master

字符串

master 是要从中创建 macvlan 接口的主机接口。如果未指定,它将是默认路由接口。

mode

字符串

mode 是 macvlan 模式:bridge、private、vepa、passthru。默认为 bridge。

mtu

整数

mtu 是要用于 macvlan 接口的 mtu。如果未设置,主机内核将选择该值。

.spec.additionalNetworks[].simpleMacvlanConfig.ipamConfig

描述

IPAMConfig 配置将用于 IP 地址管理 (IPAM) 的 IPAM 模块。

类型

对象

属性 类型 描述

staticIPAMConfig

对象

StaticIPAMConfig 在 type:IPAMTypeStatic 的情况下配置静态 IP 地址。

type

字符串

Type 是将用于 IP 地址管理 (IPAM) 的 IPAM 模块的类型。支持的值为 IPAMTypeDHCP、IPAMTypeStatic。

.spec.additionalNetworks[].simpleMacvlanConfig.ipamConfig.staticIPAMConfig

描述

StaticIPAMConfig 在 type:IPAMTypeStatic 的情况下配置静态 IP 地址。

类型

对象

属性 类型 描述

addresses

数组

Addresses 配置接口的 IP 地址。

addresses[]

对象

StaticIPAMAddresses 为静态 IPAM 地址提供 IP 地址和网关。

dns

对象

DNS 配置接口的 DNS。

routes

数组

Routes 配置接口的 IP 路由。

routes[]

对象

StaticIPAMRoutes 为静态 IPAM 路由提供目标/网关对。

.spec.additionalNetworks[].simpleMacvlanConfig.ipamConfig.staticIPAMConfig.addresses

描述

Addresses 配置接口的 IP 地址。

类型

数组

.spec.additionalNetworks[].simpleMacvlanConfig.ipamConfig.staticIPAMConfig.addresses[]

描述

StaticIPAMAddresses 为静态 IPAM 地址提供 IP 地址和网关。

类型

对象

属性 类型 描述

address

字符串

Address 是 CIDR 格式的 IP 地址。

gateway

字符串

Gateway 是子网内指定为网关的 IP。

.spec.additionalNetworks[].simpleMacvlanConfig.ipamConfig.staticIPAMConfig.dns

描述

DNS 配置接口的 DNS。

类型

对象

属性 类型 描述

domain

字符串

Domain 用于配置本地域,用于短主机名查找。

nameservers

数组(字符串)

Nameservers 指向用于 IP 查找的 DNS 服务器。

search

数组(字符串)

Search 用于配置按优先级排序的搜索域,用于短主机名查找。

.spec.additionalNetworks[].simpleMacvlanConfig.ipamConfig.staticIPAMConfig.routes

描述

Routes 配置接口的 IP 路由。

类型

数组

.spec.additionalNetworks[].simpleMacvlanConfig.ipamConfig.staticIPAMConfig.routes[]

描述

StaticIPAMRoutes 为静态 IPAM 路由提供目标/网关对。

类型

对象

属性 类型 描述

destination

字符串

Destination 指向 IP 路由目标。

gateway

字符串

Gateway 是路由的下一跳 IP 地址。如果未设置,则假定为默认网关(由 CNI 插件确定)。

.spec.clusterNetwork

描述

clusterNetwork 是用于 Pod IP 的 IP 地址池。一些网络提供程序支持多个 ClusterNetwork。其他仅支持一个。这等效于 cluster-cidr。

类型

数组

.spec.clusterNetwork[]

描述

ClusterNetworkEntry 是一个子网,从中分配 PodIP。当节点加入集群时,将分配大小为 HostPrefix(以 CIDR 表示法表示)的网络。如果插件未使用 HostPrefix 字段,则可以将其留空。并非所有网络提供程序都支持多个 ClusterNetworks

类型

对象

属性 类型 描述

cidr

字符串

hostPrefix

整数

.spec.defaultNetwork

描述

defaultNetwork 是所有 Pod 都将接收的“默认”网络。

类型

对象

属性 类型 描述

openshiftSDNConfig

对象

openshiftSDNConfig 以前用于配置 openshift-sdn 插件。已弃用:OpenShift SDN 已不再支持。

ovnKubernetesConfig

对象

ovnKubernetesConfig 用于配置 ovn-kubernetes 插件。

type

字符串

type 是网络类型。除 NetworkTypeRaw 外,所有 NetworkType 都受支持。

.spec.defaultNetwork.openshiftSDNConfig

描述

openshiftSDNConfig 以前用于配置 openshift-sdn 插件。已弃用:OpenShift SDN 已不再支持。

类型

对象

属性 类型 描述

enableUnidling

布尔值

enableUnidling 控制服务代理是否支持服务的空闲和非空闲状态。默认情况下,启用非空闲状态。

mode

字符串

mode 为 "Multitenant"、"Subnet" 或 "NetworkPolicy" 之一。

mtu

整数

mtu 是要用于隧道接口的 MTU。如果未设置,则默认为 1450。此值必须比机器的上行链路 MTU 小 50 字节。

useExternalOpenvswitch

布尔值

useExternalOpenvswitch 用于控制操作符是自行部署 OVS DaemonSet 还是期望其他人启动 OVS。从 4.6 版本开始,OVS 始终作为系统服务运行,此标志将被忽略。

vxlanPort

整数

vxlanPort 是用于所有 vxlan 数据包的端口。默认为 4789。

.spec.defaultNetwork.ovnKubernetesConfig

描述

ovnKubernetesConfig 用于配置 ovn-kubernetes 插件。

类型

对象

属性 类型 描述

egressIPConfig

对象

egressIPConfig 包含 EgressIP 选项的配置。

gatewayConfig

对象

gatewayConfig 包含节点网关选项的配置。

genevePort

整数

geneve 端口是 geneve 封装要使用的 UDP 端口。默认为 6081。

hybridOverlayConfig

对象

HybridOverlayConfig 为不使用 OVN 的对等节点配置附加的覆盖网络。

ipsecConfig

对象

ipsecConfig 启用并配置集群中 pod 网络上 pod 的 IPsec。

ipv4

对象

ipv4 允许用户配置 IPv4 连接的 IP 设置。如果省略,则表示没有意见,并使用默认配置。请检查 ipv4 中各个字段以了解默认值的详细信息。

ipv6

对象

ipv6 允许用户配置 IPv6 连接的 IP 设置。如果省略,则表示没有意见,并使用默认配置。请检查 ipv4 中各个字段以了解默认值的详细信息。

mtu

整数

mtu 是要用于隧道接口的 MTU。此值必须比上行链路 MTU 小 100 字节。默认为 1400。

policyAuditConfig

对象

policyAuditConfig 是网络策略审计事件的配置。如果未设置,则使用报告的默认值。

v4InternalSubnet

字符串

v4InternalSubnet 是 ovn-kubernetes 内部使用的 v4 子网,以防默认子网已被其他内容使用。它不得与 OpenShift 或节点网络使用的任何其他子网重叠。子网的大小必须大于节点数。安装后无法更改此值。默认为 100.64.0.0/16。

v6InternalSubnet

字符串

v6InternalSubnet 是 ovn-kubernetes 内部使用的 v6 子网,以防默认子网已被其他内容使用。它不得与 OpenShift 或节点网络使用的任何其他子网重叠。子网的大小必须大于节点数。安装后无法更改此值。默认为 fd98::/48。

.spec.defaultNetwork.ovnKubernetesConfig.egressIPConfig

描述

egressIPConfig 包含 EgressIP 选项的配置。

类型

对象

属性 类型 描述

reachabilityTotalTimeoutSeconds

整数

reachabilityTotalTimeout 以秒为单位配置 EgressIP 节点可达性检查的总超时时间。如果在此超时时间内无法访问 EgressIP 节点,则声明该节点已关闭。设置较大的值可能会导致 EgressIP 功能对节点更改的反应缓慢。特别是对于确实存在实际问题且无法访问的 EgressIP 节点,其反应速度可能会很慢。如果省略,则表示用户没有意见,平台将选择合理的默认值,该值会随着时间的推移而发生变化。当前默认值为 1 秒。值为 0 将禁用 EgressIP 节点的可达性检查。

.spec.defaultNetwork.ovnKubernetesConfig.gatewayConfig

描述

gatewayConfig 包含节点网关选项的配置。

类型

对象

属性 类型 描述

ipForwarding

字符串

IPForwarding 控制 OVN-Kubernetes 管理的接口(例如 br-ex)上所有流量的 IP 转发。默认情况下,此设置为“受限”,Kubernetes 相关流量仍将被适当地转发,但其他 IP 流量将不会由 OCP 节点路由。如果希望主机允许跨 OVN-Kubernetes 管理的接口转发流量,则将此字段设置为“全局”。支持的值为“受限”和“全局”。

ipv4

对象

ipv4 允许用户配置 IPv4 连接的 IP 设置。如果省略,则表示没有意见,并使用默认配置。请检查 ipv4 中各个成员字段以了解默认值的详细信息。

ipv6

对象

ipv6 允许用户配置 IPv6 连接的 IP 设置。如果省略,则表示没有意见,并使用默认配置。请检查 ipv6 中各个成员字段以了解默认值的详细信息。

routingViaHost

布尔值

RoutingViaHost 允许 pod 出站流量通过 ovn-k8s-mp0 管理端口进入主机,然后再发送出去。如果未设置此选项,流量将始终直接从 OVN 出口到外部,而不会触及主机堆栈。将其设置为 true 表示不支持硬件卸载。如果指定了 GatewayConfig,则默认为 false。

.spec.defaultNetwork.ovnKubernetesConfig.gatewayConfig.ipv4

描述

ipv4 允许用户配置 IPv4 连接的 IP 设置。如果省略,则表示没有意见,并使用默认配置。请检查 ipv4 中各个成员字段以了解默认值的详细信息。

类型

对象

属性 类型 描述

internalMasqueradeSubnet

字符串

internalMasqueradeSubnet 包含 ovn-kubernetes 内部使用的以 IPV4 CIDR 格式表示的伪装地址,用于启用主机到服务的流量。集群中的每个主机都配置了这些地址以及共享网关桥接口。安装后可以更改这些值。选择的子网不应与为 OVN-Kubernetes 指定的其他网络以及主机上使用的其他网络重叠。此外,子网必须足够大以容纳 6 个 IP 地址(最大前缀长度 /29)。如果省略,则表示没有意见,平台将选择合理的默认值,该值会随着时间的推移而发生变化。当前默认子网为 169.254.169.0/29。该值必须采用正确的 IPV4 CIDR 格式。

.spec.defaultNetwork.ovnKubernetesConfig.gatewayConfig.ipv6

描述

ipv6 允许用户配置 IPv6 连接的 IP 设置。如果省略,则表示没有意见,并使用默认配置。请检查 ipv6 中各个成员字段以了解默认值的详细信息。

类型

对象

属性 类型 描述

internalMasqueradeSubnet

字符串

internalMasqueradeSubnet 包含 ovn-kubernetes 内部使用的 IPv6 CIDR 格式的伪装地址,用于启用主机到服务的流量。集群中的每个主机都配置了这些地址,以及共享网关桥接接口。安装后可以更改这些值。选择的子网不应与为 OVN-Kubernetes 指定的其他网络以及主机上使用的其他网络重叠。此外,子网必须足够大,以容纳 6 个 IP 地址(最大前缀长度 /125)。省略此项表示没有意见,平台将自行选择合理的默认值,该默认值可能会随着时间的推移而发生变化。当前默认子网为 fd69::/125。请注意,不允许使用 IPv6 双地址。

.spec.defaultNetwork.ovnKubernetesConfig.hybridOverlayConfig

描述

HybridOverlayConfig 为不使用 OVN 的对等节点配置附加的覆盖网络。

类型

对象

属性 类型 描述

hybridClusterNetwork

数组

HybridClusterNetwork 定义了在附加的 Overlay 网络上提供给节点的网络空间。

hybridClusterNetwork[]

对象

ClusterNetworkEntry 是一个子网,从中分配 PodIP。当节点加入集群时,将分配大小为 HostPrefix(以 CIDR 表示法表示)的网络。如果插件未使用 HostPrefix 字段,则可以将其留空。并非所有网络提供程序都支持多个 ClusterNetworks

hybridOverlayVXLANPort

整数

HybridOverlayVXLANPort 定义附加 Overlay 网络使用的 VXLAN 端口号。默认为 4789。

.spec.defaultNetwork.ovnKubernetesConfig.hybridOverlayConfig.hybridClusterNetwork

描述

HybridClusterNetwork 定义了在附加的 Overlay 网络上提供给节点的网络空间。

类型

数组

.spec.defaultNetwork.ovnKubernetesConfig.hybridOverlayConfig.hybridClusterNetwork[]

描述

ClusterNetworkEntry 是一个子网,从中分配 PodIP。当节点加入集群时,将分配大小为 HostPrefix(以 CIDR 表示法表示)的网络。如果插件未使用 HostPrefix 字段,则可以将其留空。并非所有网络提供程序都支持多个 ClusterNetworks

类型

对象

属性 类型 描述

cidr

字符串

hostPrefix

整数

.spec.defaultNetwork.ovnKubernetesConfig.ipsecConfig

描述

ipsecConfig 启用并配置集群中 pod 网络上 pod 的 IPsec。

类型

对象

属性 类型 描述

mode

字符串

mode 定义了平台内 ipsec 配置的行为。有效值为 DisabledExternalFull。当设置为 'Disabled' 时,节点级别将不会启用 ipsec。当设置为 'External' 时,节点级别启用 ipsec,但需要用户配置安全通信参数。此模式用于外部安全通信,配置可以使用 k8s-nmstate 运算符完成。当设置为 'Full' 时,节点级别配置 ipsec,并配置集群内的 Pod 间安全通信。请注意,对于 Full 模式,如果需要与外部(集群外部)实体(例如存储阵列)进行 ipsec 通信,则需要用户自行配置。

.spec.defaultNetwork.ovnKubernetesConfig.ipv4

描述

ipv4 允许用户配置 IPv4 连接的 IP 设置。如果省略,则表示没有意见,并使用默认配置。请检查 ipv4 中各个字段以了解默认值的详细信息。

类型

对象

属性 类型 描述

internalJoinSubnet

字符串

internalJoinSubnet 是 ovn-kubernetes 内部使用的 v4 子网,以防默认子网已被其他内容使用。它不能与 OpenShift 或节点网络使用的任何其他子网重叠。子网大小必须大于节点数。安装后无法更改此值。当前默认值为 100.64.0.0/16。子网必须足够大,可以容纳集群中每个节点一个 IP 地址。值必须为正确的 IPv4 CIDR 格式。

internalTransitSwitchSubnet

字符串

internalTransitSwitchSubnet 是 OVN-Kubernetes 内部使用的 IPv4 CIDR 格式的 v4 子网,用于 OVN Interconnect 架构中的分布式转接交换机,该交换机将每个节点上的集群路由器连接在一起以启用东西向流量。选择的子网不应与为 OVN-Kubernetes 指定的其他网络以及主机上使用的其他网络重叠。安装后无法更改此值。省略此项表示没有意见,平台将自行选择合理的默认值,该默认值可能会随着时间的推移而发生变化。当前默认子网为 100.88.0.0/16。子网必须足够大,可以容纳集群中每个节点一个 IP 地址。值必须为正确的 IPv4 CIDR 格式。

.spec.defaultNetwork.ovnKubernetesConfig.ipv6

描述

ipv6 允许用户配置 IPv6 连接的 IP 设置。如果省略,则表示没有意见,并使用默认配置。请检查 ipv4 中各个字段以了解默认值的详细信息。

类型

对象

属性 类型 描述

internalJoinSubnet

字符串

internalJoinSubnet 是 ovn-kubernetes 内部使用的 v6 子网,以防默认子网已被其他内容使用。它不能与 OpenShift 或节点网络使用的任何其他子网重叠。子网大小必须大于节点数。安装后无法更改此值。子网必须足够大,可以容纳集群中每个节点一个 IP 地址。当前默认值为 fd98::/48。值必须为正确的 IPv6 CIDR 格式。请注意,不允许使用 IPv6 双地址。

internalTransitSwitchSubnet

字符串

internalTransitSwitchSubnet 是 OVN-Kubernetes 内部使用的 IPv4 CIDR 格式的 v4 子网,用于 OVN Interconnect 架构中的分布式转接交换机,该交换机将每个节点上的集群路由器连接在一起以启用东西向流量。选择的子网不应与为 OVN-Kubernetes 指定的其他网络以及主机上使用的其他网络重叠。安装后无法更改此值。省略此项表示没有意见,平台将自行选择合理的默认值,该默认值可能会随着时间的推移而发生变化。子网必须足够大,可以容纳集群中每个节点一个 IP 地址。当前默认子网为 fd97::/64。值必须为正确的 IPv6 CIDR 格式。请注意,不允许使用 IPv6 双地址。

.spec.defaultNetwork.ovnKubernetesConfig.policyAuditConfig

描述

policyAuditConfig 是网络策略审计事件的配置。如果未设置,则使用报告的默认值。

类型

对象

属性 类型 描述

destination

字符串

destination 是策略日志消息的位置。无论此配置如何,持久性日志都将始终转储到主机上的 /var/log/ovn/。此外,可以按如下方式配置 syslog 输出。有效值为:- "libc" → 使用主机节点 journdald 进程的 libc syslog() 函数 - "udp:host:port" → 用于通过 UDP 发送 syslog - "unix:file" → 用于直接使用 UNIX 域套接字 - "null" → 丢弃所有记录到 syslog 的消息。默认为 "null"。

maxFileSize

整数

maxFileSize 是 ACL_audit 日志文件在轮换发生之前允许达到的最大大小。单位为 MB,默认为 50MB。

maxLogFiles

整数

maxLogFiles 指定可以存在的 ACL_audit 日志文件的最大数量。

rateLimit

整数

rateLimit 是每个节点每秒生成的近似最大消息数。如果未设置,则使用默认值 20 msg/sec。

syslogFacility

字符串

syslogFacility 生成的消息的 RFC5424 设施,例如“kern”。默认为“local0”。

.spec.exportNetworkFlows

描述

exportNetworkFlows 通过使用 NetFlow、SFlow 或 IPFIX 协议启用并配置从 Pod 网络导出网络流元数据。目前仅在 OVN-Kubernetes 插件上支持。如果未设置,则不会将流导出到任何收集器。

类型

对象

属性 类型 描述

ipfix

对象

ipfix 定义 IPFIX 配置。

netFlow

对象

netFlow 定义 NetFlow 配置。

sFlow

对象

sFlow 定义 SFlow 配置。

.spec.exportNetworkFlows.ipfix

描述

ipfix 定义 IPFIX 配置。

类型

对象

属性 类型 描述

collectors

数组(字符串)

ipfixCollectors 是格式为 ip:port 的字符串列表,最多包含十个项目。

.spec.exportNetworkFlows.netFlow

描述

netFlow 定义 NetFlow 配置。

类型

对象

属性 类型 描述

collectors

数组(字符串)

netFlow 定义将使用从 OVS 导出的流数据的 NetFlow 收集器。它是一个格式为 ip:port 的字符串列表,最多包含十个项目。

.spec.exportNetworkFlows.sFlow

描述

sFlow 定义 SFlow 配置。

类型

对象

属性 类型 描述

collectors

数组(字符串)

sFlowCollectors 是格式为 ip:port 的字符串列表,最多包含十个项目。

.spec.kubeProxyConfig

描述

如果 deployKubeProxy 为 true,则 kubeProxyConfig 允许我们配置所需的代理配置。如果未指定,OpenShift 将直接选择合理的默认值。

类型

对象

属性 类型 描述

bindAddress

字符串

要“绑定”的地址。默认为 0.0.0.0。

iptablesSyncPeriod

字符串

一个内部 kube-proxy 参数。在较旧版本的 OCP 中,出于性能原因,有时需要在大型集群中调整此参数,但现在不再需要,也没有理由将其从默认值更改。默认值:30s

proxyArguments

对象

传递给 kubeproxy 进程的任何附加参数

proxyArguments{}

数组(字符串)

ProxyArgumentList 是传递给 kubeproxy 进程的参数列表

.spec.kubeProxyConfig.proxyArguments

描述

传递给 kubeproxy 进程的任何附加参数

类型

对象

.spec.migration

描述

migration 启用并配置集群网络迁移,用于无法立即进行的网络更改。

类型

对象

属性 类型 描述

features

对象

features 以前用于配置在网络类型迁移中将迁移哪些网络插件功能。已弃用:不再支持网络类型迁移,将其设置为非空值将导致网络操作员拒绝配置。

mode

字符串

mode 指示网络类型迁移的模式。已弃用:不再支持网络类型迁移,将其设置为非空值将导致网络操作员拒绝配置。

mtu

对象

mtu 包含 MTU 迁移配置。设置此值允许更改默认网络的 MTU 值。如果未设置,则更改默认网络 MTU 的操作将被拒绝。

networkType

字符串

networkType 以前在更改默认网络类型时使用。已弃用:不再支持网络类型迁移,将其设置为非空值将导致网络操作员拒绝配置。

.spec.migration.features

描述

features 以前用于配置在网络类型迁移中将迁移哪些网络插件功能。已弃用:不再支持网络类型迁移,将其设置为非空值将导致网络操作员拒绝配置。

类型

对象

属性 类型 描述

egressFirewall

布尔值

egressFirewall 指定是否迁移了 Egress Firewall 配置。已弃用:不再支持网络类型迁移。

egressIP

布尔值

egressIP 指定是否迁移了 Egress IP 配置。已弃用:不再支持网络类型迁移。

multicast

布尔值

multicast 指定是否迁移了组播配置。已弃用:不再支持网络类型迁移。

.spec.migration.mtu

描述

mtu 包含 MTU 迁移配置。设置此值允许更改默认网络的 MTU 值。如果未设置,则更改默认网络 MTU 的操作将被拒绝。

类型

对象

属性 类型 描述

machine

对象

machine 包含机器上行链路的 MTU 迁移配置。除非当前上行链路 MTU 已经容纳默认网络 MTU,否则需要与默认网络 MTU 一起迁移。

network

对象

network 包含有关默认网络 MTU 迁移的信息。迁移仅允许到比机器上行链路 MTU 小于最小适当偏移量的 MTU 值。

.spec.migration.mtu.machine

描述

machine 包含机器上行链路的 MTU 迁移配置。除非当前上行链路 MTU 已经容纳默认网络 MTU,否则需要与默认网络 MTU 一起迁移。

类型

对象

属性 类型 描述

from

整数

from 是要从中迁移的 MTU。

to

整数

to 是要迁移到的 MTU。

.spec.migration.mtu.network

描述

network 包含有关默认网络 MTU 迁移的信息。迁移仅允许到比机器上行链路 MTU 小于最小适当偏移量的 MTU 值。

类型

对象

属性 类型 描述

from

整数

from 是要从中迁移的 MTU。

to

整数

to 是要迁移到的 MTU。

.status

描述

NetworkStatus 是详细的运营商状态,它被提炼到 Network clusteroperator 对象中。

类型

对象

属性 类型 描述

conditions

数组

conditions 是条件及其状态的列表

conditions[]

对象

OperatorCondition 只是标准的条件字段。

generations

数组

generations 用于确定何时需要协调项目或项目以需要做出反应的方式发生了更改。

generations[]

对象

GenerationStatus 跟踪给定资源的代数,以便可以做出关于强制更新的决定。

observedGeneration

整数

observedGeneration 是您处理的最后一代变化

readyReplicas

整数

readyReplicas 指示有多少个副本已准备好并处于所需状态

version

字符串

version 是此可用性适用的级别

.status.conditions

描述

conditions 是条件及其状态的列表

类型

数组

.status.conditions[]

描述

OperatorCondition 只是标准的条件字段。

类型

对象

必需
  • type

属性 类型 描述

lastTransitionTime

字符串

message

字符串

reason

字符串

status

字符串

type

字符串

.status.generations

描述

generations 用于确定何时需要协调项目或项目以需要做出反应的方式发生了更改。

类型

数组

.status.generations[]

描述

GenerationStatus 跟踪给定资源的代数,以便可以做出关于强制更新的决定。

类型

对象

属性 类型 描述

group

字符串

group 是您正在跟踪的事物的组

hash

字符串

hash 是为没有代数且对内容敏感的资源(如密钥和配置映射)设置的可选字段

lastGeneration

整数

lastGeneration 是所涉及的工作负载控制器的最后一代

name

字符串

name 是您正在跟踪的事物的名称

namespace

字符串

namespace 是您正在跟踪的事物所在的位置

resource

字符串

resource 是您正在跟踪的事物的资源类型

API 端点

提供以下 API 端点

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

    • DELETE:删除 Network 集合

    • GET:列出 Network 类型的对象

    • POST:创建一个 Network

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

    • DELETE:删除一个 Network

    • GET:读取指定的 Network

    • PATCH:部分更新指定的 Network

    • PUT:替换指定的 Network

/apis/operator.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/operator.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 - 未授权