第 21 章 Network [operator.openshift.io/v1]


描述
network 描述了集群所需的网络配置。它被 cluster-network-operator 使用。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
类型
object

21.1. 规格

属性类型描述

apiVersion

string

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: 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 是详细的 operator 状态,它被干扰到 Network clusteroperator 对象。

21.1.1. .spec

描述
NetworkSpec 是顶级网络配置对象。
类型
object
属性类型描述

additionalNetworks

array

additionalNetworks 是启用了多个网络时可供 pod 使用的额外网络列表。

additionalNetworks[]

对象

AdditionalNetworkDefinition 配置了一个额外的网络,该网络可用但没有默认创建。相反,pod 必须按名称请求它们。必须指定类型,以及与类型匹配的 "Config"。

clusterNetwork

array

clusterNetwork 是用于 pod IP 的 IP 地址池。一些网络提供程序(如 OpenShift SDN)支持多个 ClusterNetworks。其他产品仅支持一个。这等同于 cluster-cidr。

clusterNetwork[]

对象

ClusterNetworkEntry 是一个要从中分配 PodIP 的子网。当节点加入集群时,将分配大小为 HostPrefix (以 CIDR 表示法)的网络。如果插件不使用 HostPrefix 字段,则可以取消设置它。不是所有网络供应商都支持多个 ClusterNetworks

defaultNetwork

对象

defaultNetwork 是所有 pod 将接收的"默认"网络

deployKubeProxy

布尔值

deployKubeProxy 指定 Operator 是否应该部署独立 kube-proxy。有些网络供应商包括 kube-proxy 或类似功能。如果未设置,则插件将尝试选择正确的值,该值在 OpenShift SDN 和 ovn-kubernetes 被使用时为 false,否则为 true。

disableMultiNetwork

布尔值

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

disableNetworkDiagnostics

布尔值

disableNetworkDiagnostics 指定 PodNetworkConnectivityCheck CR 从一个测试 pod 到每个节点,apiserver 和 LB 是否应该被禁用。如果未设置,此属性默认为 'false',并且启用了网络诊断。把它设置为 'true' 可减少执行检查的 pod 的额外负载。

exportNetworkFlows

对象

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

kubeProxyConfig

对象

kubeProxyConfig 可让我们配置所需的代理配置。如果未指定,OpenShift 将直接选择相应的默认值。不会被所有网络供应商使用 - 目前只有 openshift-sdn。

logLevel

字符串

Loglevel 是整个组件的意图型日志记录。它无法提供精细的控制,但管理操作员必须针对其操作对象解释的粗粒度日志记录选择是一个简单的方法。有效值为:"Normal", "Debug", "Trace", "TraceAll"。默认值为 "Normal"。

managementState

字符串

managementState 指明 Operator 是否应该管理组件

迁移

对象

迁移启用并配置集群网络迁移。迁移步骤允许更改网络类型和 MTU。

observedConfig

``

observedConfig 包含一个从集群状态观察到的稀疏配置。它存在于 spec 中,因为它是 Operator 的级别输入

operatorLogLevel

字符串

operatorLogLevel 是 Operator 本身的意图日志。它无法提供精细的控制,但管理操作员必须自行解释的粗粒度日志记录选择是一个简单的方法。有效值为:"Normal", "Debug", "Trace", "TraceAll"。默认值为 "Normal"。

serviceNetwork

数组(字符串)

serviceNetwork 是服务 IP 当前使用的 ip 地址池,所有现有的网络供应商只支持一个值,但这是一个允许增长的数组。

unsupportedConfigOverrides

``

unsupportedConfigOverrides 包含稀疏配置,它将覆盖任何之前设置的选项。它只需要是覆盖字段才能按照以下顺序进行覆盖:1.硬编码默认值 2. observedConfig 3. unsupportedConfigOverrides

useMultiNetworkPolicy

布尔值

useMultiNetworkPolicy 启用一个控制器,允许 MultiNetworkPolicy 对象用于 Multus CNI 创建的额外网络。MultiNetworkPolicy 与 NetworkPolicy 对象类似,但 NetworkPolicy 对象只适用于主接口。使用 MultiNetworkPolicy,您可以控制 pod 可以通过二级接口接收的流量。如果未设置,此属性默认为 'false' 和 MultiNetworkPolicy 对象。如果 'disableMultiNetwork' 是 'true',则此字段的值将被忽略。

21.1.2. .spec.additionalNetworks

描述
additionalNetworks 是启用了多个网络时可供 pod 使用的额外网络列表。
类型
array

21.1.3. .spec.additionalNetworks[]

描述
AdditionalNetworkDefinition 配置了一个额外的网络,该网络可用但没有默认创建。相反,pod 必须按名称请求它们。必须指定类型,以及与类型匹配的 "Config"。
类型
object
属性类型描述

name

字符串

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

namespace

字符串

namespace 是网络的命名空间。这将在生成的 CRD 中填充,如果没有给定网络会在 default 命名空间中创建。

rawCNIConfig

字符串

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

simpleMacvlanConfig

对象

在 type:NetworkTypeSimpleMacvlan 时,simpleMacvlanConfig 配置 macvlan 接口

type

字符串

type 是网络类型。支持的值有 NetworkTypeRaw, NetworkTypeSimpleMacvlan

21.1.4. .spec.additionalNetworks[].simpleMacvlanConfig

描述
在 type:NetworkTypeSimpleMacvlan 时,simpleMacvlanConfig 配置 macvlan 接口
类型
object
属性类型描述

ipamConfig

对象

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

master

字符串

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

模式

字符串

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

mtu

整数

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

21.1.5. .spec.additionalNetworks[].simpleMacvlanConfig.ipamConfig

描述
ipamConfig 配置 IPAM 模块将用于 IP 地址管理(IPAM)。
类型
object
属性类型描述

staticIPAMConfig

对象

在类型为:IPAMTypeStatic 时,staticIPAMConfig 配置静态 IP 地址

type

字符串

type 是 IPAM 模块的类型将用于 IP 地址管理(IPAM)。支持的值有 IPAMTypeDHCP, IPAMTypeStatic

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

描述
在类型为:IPAMTypeStatic 时,staticIPAMConfig 配置静态 IP 地址
类型
object
属性类型描述

addresses

array

地址为接口配置 IP 地址

addresses[]

对象

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

dns

对象

DNS 为接口配置 DNS

Routes

array

路由为接口配置 IP 路由

routes[]

对象

StaticIPAMRoutes 为静态 IPAM 路由提供 Destination/Gateway 对

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

描述
地址为接口配置 IP 地址
类型
array

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

描述
StaticIPAMAddresses 为静态 IPAM 地址提供 IP 地址和网关
类型
object
属性类型描述

address

字符串

address 是 CIDR 格式的 IP 地址

gateway

字符串

gateway 是子网内部的 IP,指定为网关

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

描述
DNS 为接口配置 DNS
类型
object
属性类型描述

domain

字符串

domain 配置用于短主机名查找的本地域的 domainname

nameservers

数组(字符串)

名称服务器指向 DNS 服务器进行 IP 查找

search

数组(字符串)

搜索配置优先级排序的搜索域以进行短主机名查找

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

描述
路由为接口配置 IP 路由
类型
array

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

描述
StaticIPAMRoutes 为静态 IPAM 路由提供 Destination/Gateway 对
类型
object
属性类型描述

目的地

字符串

目标点 IP 路由目的地

gateway

字符串

gateway 是路由的下一跃点 IP 地址(如果未设置),则假定默认网关(由 CNI 插件决定)。

21.1.12. .spec.clusterNetwork

描述
clusterNetwork 是用于 pod IP 的 IP 地址池。一些网络提供程序(如 OpenShift SDN)支持多个 ClusterNetworks。其他产品仅支持一个。这等同于 cluster-cidr。
类型
array

21.1.13. .spec.clusterNetwork[]

描述
ClusterNetworkEntry 是一个要从中分配 PodIP 的子网。当节点加入集群时,将分配大小为 HostPrefix (以 CIDR 表示法)的网络。如果插件不使用 HostPrefix 字段,则可以取消设置它。不是所有网络供应商都支持多个 ClusterNetworks
类型
object
属性类型描述

cidr

字符串

 

hostPrefix

整数

 

21.1.14. .spec.defaultNetwork

描述
defaultNetwork 是所有 pod 将接收的"默认"网络
类型
object
属性类型描述

kuryrConfig

对象

kuryrConfig 配置 kuryr 插件

openshiftSDNConfig

对象

openshiftSDNConfig 配置 openshift-sdn 插件

ovnKubernetesConfig

object

ovnKubernetesConfig 配置 ovn-kubernetes 插件。

type

字符串

type 是网络 All NetworkTypes 的类型,但 NetworkTypeRaw 除外

21.1.15. .spec.defaultNetwork.kuryrConfig

描述
kuryrConfig 配置 kuryr 插件
类型
object
属性类型描述

controllerProbesPort

整数

端口 kuryr-controller 将侦听就绪度和存活度请求。

daemonProbesPort

整数

端口 kuryr-daemon 将侦听就绪度和存活度请求。

enablePortPoolsPrepopulation

布尔值

当 true 将使 Kuryr 预填充时,enablePortPoolsPrepopulation 会使每个新创建的端口池具有最少数量的端口。Kuryr 使用 Neutron 端口池来混淆,它会需要大量时间来创建。当将第一个 pod 配置为在命名空间中创建为 pod 使用专用网络时,它会创建多个端口,并使它们准备好附加到 pod。默认情况下禁用端口预填充。

mtu

整数

MTU 是 Kuryr 在 Neutron 中创建 pod 网络时应使用的 MTU。该值必须较低或等于节点网络的 MTU,Neutron 必须允许使用此类 MTU 创建租户网络。如果取消设置 Pod 网络,则会使用与节点网络相同的 MTU 创建。

openStackServiceNetwork

字符串

openStackServiceNetwork 包含网络 CIDR,从中为 OpenStack Octavia 的 Amphora 虚拟机分配 IP。请注意,在 Amphora 驱动程序 Octavia 时,每个 loadbalancer 都使用来自该网络的两个 IP,一个由 OpenShift 指定,第二个用于 VRRP 连接。由于第一个由 OpenShift 管理,第二个由 Neutron 的 IPAM 管理,因此它们需要来自不同的池。因此,openStackServiceNetwork 需要至少为 serviceNetwork 大小的两倍,并且整个 serviceNetwork 必须与 openStackServiceNetwork 重叠。cluster-network-operator 将确保 VRRP IP 从 openStackServiceNetwork 中的范围获取,其不会与 serviceNetwork 重叠,从而防止冲突。如果没有设置 cluster-network-operator,则使用 serviceNetwork 扩展,方法是取消前缀大小 1。

poolBatchPorts

整数

poolBatchPorts 设置在单一批处理请求中应该创建的多个端口来扩展端口池。默认值为 3。有关端口池的更多信息,请参阅 enablePortPoolsPrepopulation 设置。

poolMaxPorts

整数

poolMaxPorts 设置在端口池中保留的最大可用端口数。如果端口数量超过此设置,则空闲端口将被删除。设置 0 将禁用此上限,有效防止池缩小,这是默认值。有关端口池的更多信息,请参阅 enablePortPoolsPrepopulation 设置。

poolMinPorts

整数

poolMinPorts 设置应在端口池中保留的最小可用端口。如果端口数量低于此设置,则将创建新端口并添加到池中。默认值为 1。有关端口池的更多信息,请参阅 enablePortPoolsPrepopulation 设置。

21.1.16. .spec.defaultNetwork.openshiftSDNConfig

描述
openshiftSDNConfig 配置 openshift-sdn 插件
类型
object
属性类型描述

enableUnidling

布尔值

启用并发控制服务代理是否支持闲置和取消闲置服务。默认情况下启用取消闲置。

模式

字符串

21.1.17. 

   

21.1.18. 

   

如果省略,这意味着用户没有建议,平台会被保留选择合理的默认值,这可能会随时间变化。当前的默认值为 1 秒。0 代表禁用 EgressIP 节点的可访问性检查。

21.1.19. .spec.defaultNetwork.ovnKubernetesConfig.gatewayConfig

描述
gatewayConfig 包含节点网关选项的配置。
类型
object
属性类型描述

routingViaHost

布尔值

routingViaHost 允许 pod 出口流量通过 ovn-k8s-mp0 管理端口退出,然后再将其发送到主机。如果没有设置,流量将始终直接从 OVN 出口到外部,而无需涉及主机堆栈。把它设置为 true 表示不支持硬件卸载。如果指定了 GatewayConfig,则默认为 false。

21.1.20. .spec.defaultNetwork.ovnKubernetesConfig.hybridOverlayConfig

描述
hybridOverlayConfig 为不使用 OVN 的对等点配置额外的覆盖网络。
类型
object
属性  

21.1.21. 

21.1.22. 

   

 

 

21.1.23. 

21.1.24. 

   

21.1.25. 

   

21.1.26. 

   

21.1.27. 

   

21.1.28. 

   

21.1.29. 

   

21.1.30. 

21.1.31. 

   

21.1.32. 

   

21.1.33. 

   

21.1.34. 

   

21.1.35. 

   

21.1.36. 

   

21.1.37. 

21.1.38. 

   

 

 

 

 

 

21.1.39. 

21.1.40. 

   

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.