第 1 章 关于 OVN-Kubernetes 网络插件


OVN-Kubernetes Container Network Interface (CNI)插件是 MicroShift 集群的默认网络解决方案。OVN-Kubernetes 是 pod 和基于 Open Virtual Network (OVN) 的服务的虚拟网络。

  • 默认网络配置和连接会在安装过程中使用 microshift-networking RPM 在 MicroShift 中自动应用。
  • 使用 OVN-Kubernetes 网络插件的集群也会在节点上运行 Open vSwitch (OVS)。
  • OVN-K 在节点上配置 OVS,以实施声明的网络配置。
  • 默认情况下,主机物理接口不绑定到 OVN-K 网关网桥 br-ex。您可以使用主机上的标准工具来管理默认网关,如网络管理器 CLI (nmcli)。
  • MicroShift 不支持更改 CNI。

使用配置文件或自定义脚本,您可以配置以下网络设置:

  • 您可以使用子网 CIDR 范围为 pod 分配 IP 地址。
  • 您可以更改最大传输单元(MTU)值。
  • 您可以配置防火墙入口和出口。
  • 您可以在 MicroShift 集群中定义网络策略,包括入口和出口规则。
  • 您可以使用 MicroShift Multus 插件串联其他 CNI 插件。
  • 您可以配置或删除入口路由器。

1.1. MicroShift 网络配置列表

下表总结了作为默认值、配置支持或者 MicroShift 服务不可用的网络功能和功能的状态:

Expand
表 1.1. MicroShift 网络功能和功能概述
网络功能可用性支持配置

公告地址

[1]

Kubernetes 网络策略

Kubernetes 网络策略日志

不可用

N/A

负载平衡

多播 DNS

[2]

网络代理

[3]

CRI-O

网络性能

MTU 配置

出口 IP

不可用

N/A

出口防火墙

不可用

N/A

出口路由器

不可用

N/A

防火墙

没有 [4]

硬件卸载

不可用

N/A

混合网络

不可用

N/A

集群内通信的 IPsec 加密

不可用

N/A

IPv6

不可用 [5]

N/A

入口路由器

[6]

多个网络插件

  1. 如果未设置,则默认值将在服务网络后设置为下一个直接子网。例如,当服务网络为 10.43.0.0/16 时,advertiseAddress 被设置为 10.44.0.0/32
  2. 多播 DNS 协议 (mDNS) 允许使用在 5353/UDP 端口上公开的多播进行名称解析和服务发现。
  3. MicroShift 中没有内置透明代理的出口流量。必须手动配置出口。
  4. RHEL for Edge 支持设置 firewalld 服务。
  5. 不支持 IPv6。IPv6 只能通过 MicroShift Multus CNI 插件连接到其他网络来使用。
  6. 使用 MicroShift config.yaml 文件配置。

1.1.1. 默认设置

如果没有创建 config.yaml 文件,则使用默认值。以下示例显示了默认配置设置。

  • 要查看默认值,请运行以下命令:

    $ microshift show-config
    Copy to Clipboard Toggle word wrap

    YAML 格式输出的默认值

    apiServer:
      advertiseAddress: 10.44.0.0/32 
    1
    
      auditLog:
        maxFileAge: 0 
    2
    
        maxFileSize: 200 
    3
    
        maxFiles: 10 
    4
    
        profile: Default 
    5
    
      namedCertificates:
        - certPath: ""
          keyPath: ""
          names:
            - ""
      subjectAltNames: [] 
    6
    
    debugging:
      logLevel: "Normal" 
    7
    
    dns:
      baseDomain: microshift.example.com 
    8
    
    etcd:
      memoryLimitMB: 0 
    9
    
    ingress:
      listenAddress:
        - "" 
    10
    
      ports: 
    11
    
        http: 80
        https: 443
      routeAdmissionPolicy:
        namespaceOwnership: InterNamespaceAllowed 
    12
    
      status: Managed 
    13
    
    manifests: 
    14
    
      kustomizePaths:
        - /usr/lib/microshift/manifests
        - /usr/lib/microshift/manifests.d/*
        - /etc/microshift/manifests
        - /etc/microshift/manifests.d/*
    network:
      clusterNetwork:
        - 10.42.0.0/16 
    15
    
      serviceNetwork:
        - 10.43.0.0/16 
    16
    
      serviceNodePortRange: 30000-32767 
    17
    
    node:
      hostnameOverride: "" 
    18
    
      nodeIP: "" 
    19
    Copy to Clipboard Toggle word wrap

    1
    指定 API 服务器公告给集群成员的 IP 地址的字符串。默认值根据服务网络的地址计算。
    2
    在自动删除前保留日志文件的时长。maxFileAge 参数中的默认值为 0 表示日志文件永远不会根据年龄删除。可以配置这个值。
    3
    默认情况下,当 audit.log 文件达到 maxFileSize 限制时,audit.log 文件会被轮转,MicroShift 开始写入新的 audit.log 文件。可以配置这个值。
    4
    保存的日志文件总数。默认情况下,MicroShift 保留 10 个日志文件。创建过量文件时,会删除最旧的文件。可以配置这个值。
    5
    仅记录读取和写入请求的日志元数据 ;除了 OAuth 访问令牌请求外,不记录请求正文。如果没有指定此字段,则使用 Default 配置集。
    6
    API 服务器证书的主题备用名称。
    7
    日志详细程度。此字段的有效值为 Normal,Debug,Trace, 或 TraceAll
    8
    默认情况下,etcd 根据需要使用尽可能多的内存来处理系统上的负载。但是,在内存受限系统中,可能需要限制在给定时间可以使用 etcd 的内存量。
    9
    集群的基域。所有管理的 DNS 记录都是这个基础的子域。
    10
    ingress.listenAddress 值默认为主机的整个网络。有效可配置的值是一个列表,可以是单个 IP 地址或 NIC 名称,也可以是多个 IP 地址和 NIC 名称。
    11
    显示的默认端口。可配置。两个端口条目的有效值为 1-65535 范围内的单个唯一端口。ports.httpports.https 字段的值不能相同。
    12
    描述如何处理跨命名空间的主机名声明。默认情况下,允许路由在命名空间间声明相同主机名的不同路径。有效值为 StrictInterNamespaceAllowed。指定 Strict 可防止不同命名空间中的路由声明相同的主机名。如果在自定义 MicroShift config.yaml 中删除了该值,则会自动设置 InterNamespaceAllowed 值。
    13
    默认路由器状态,可以是 ManagedRemoved
    14
    用于扫描 kustomization 文件的位置,用于加载清单。设置为仅扫描这些路径的路径列表。设置为空列表以禁用加载清单。列表中的条目可以是 glob 模式,以匹配多个子目录。
    15
    从中分配 Pod IP 地址的 IP 地址块。在安装后,此字段是不可变的。
    16
    Kubernetes 服务的虚拟 IP 地址块。服务的 IP 地址池.支持单个条目。在安装后,此字段是不可变的。
    17
    端口范围允许用于 NodePort 类型的 Kubernetes 服务。如果没有指定,则使用默认范围 30000-32767。没有指定 NodePort 的服务会自动从这个范围内分配一个。可在安装集群后更新此参数。
    18
    节点的名称。默认值为 hostname。如果非空,则使用此字符串来识别节点,而不是主机名。在 MicroShift 首次启动后,您无法更改此不可变设置。
    19
    节点的 IP 地址。默认值是默认路由的 IP 地址。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat