第 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 服务不可用的网络功能和功能的状态:

表 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. 使用 OVN-Kubernetes 网络插件的单堆栈和双栈网络都支持 IPv6。IPv6 也可以通过连接到 MicroShift Multus CNI 插件的其他网络来使用。
  6. 使用 MicroShift config.yaml 文件配置。

1.1.1. 默认设置

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

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

    $ microshift show-config

    YAML 格式输出的默认值

    apiServer:
      advertiseAddress: 10.44.0.0/32 1
      auditLog:
        maxFileAge: 0
        maxFileSize: 200
        maxFiles: 10
        profile: Default
      namedCertificates:
        - certPath: ""
          keyPath: ""
          names:
            - ""
      subjectAltNames: []
    debugging:
      logLevel: "Normal"
    dns:
      baseDomain: microshift.example.com
    etcd:
      memoryLimitMB: 0
    ingress:
      listenAddress:
        - ""
      ports:
        http: 80
        https: 443
      routeAdmissionPolicy:
        namespaceOwnership: InterNamespaceAllowed
      status: Managed
    kubelet:
    manifests:
      kustomizePaths:
        - /usr/lib/microshift/manifests
        - /usr/lib/microshift/manifests.d/*
        - /etc/microshift/manifests
        - /etc/microshift/manifests.d/*
    network:
      clusterNetwork:
        - 10.42.0.0/16
      serviceNetwork:
        - 10.43.0.0/16
      serviceNodePortRange: 30000-32767
    node:
      hostnameOverride: ""
      nodeIP: "" 2
      nodeIPv6: ""
    storage:
      driver: "" 3
      optionalCsiComponents: 4
        - ""

    1
    根据服务网络的地址计算。
    2
    默认路由的 IP 地址。
    3
    默认 null 值部署逻辑卷管理器存储(LVMS)。
    4
    默认 null 值部署 snapshot-controllersnapshot-webhook
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.