2.3. 在 MicroShift 启动前配置 IPv6 双栈网络


您可以在启动该服务前,使用配置文件将 MicroShift 集群配置为在支持 IPv4 和 IPv6 地址系列的双栈网络上运行。

  • 配置中的第一个 IP 系列是集群中的主要 IP 堆栈。
  • 使用双栈网络运行集群后,通过重启双栈来为双栈启用应用程序 pod 和附加服务。
重要

OVN-Kubernetes 网络插件要求 IPv4 和 IPv6 默认路由位于同一个网络设备中。不支持独立网络设备上的 IPv4 和 IPv6 默认路由。

重要

当使用需要 IPv6 的双栈网络时,您无法使用 IPv4 映射 IPv6 地址,如 ::FFFF:198.51.100.1

先决条件

  • 已安装 OpenShift CLI(oc)。
  • 有对集群的 root 访问权限。
  • 集群使用 OVN-Kubernetes 网络插件。
  • 主机同时具有 IPv4 和 IPv6 地址和路由,包括每个地址的默认地址。
  • 主机至少有两个 L3 网络,即 IPv4 和 IPv6。

流程

  1. 如果您还没有这样做,请在 /etc/microshift/ 目录中生成提供的 config.yaml.default 文件的副本,将它重命名为 config.yaml
  2. 将新的 MicroShift config.yaml 保留在 /etc/microshift/ 目录中。MicroShift 服务每次启动时都会读取 config.yaml 文件。

    注意

    创建后,config.yaml 文件优先于内置设置。

  3. 如果您还没有启动 MicroShift,请将 MicroShift YAML 的 network 部分中的默认值替换为您的有效值。

    带有网络分配的双栈 IPv6 网络配置示例

    apiServer:
    # ...
    apiServer:
      subjectAltNames:
      - 192.168.113.117
      - 2001:db9:ca7:ff::1db8
    network:
      clusterNetwork:
      - 10.42.0.0/16
      - fd01::/48 1
      serviceNetwork:
      - 10.43.0.0/16
      - fd02::/112 2
    node:
      nodeIP: 192.168.113.117 3
      nodeIPv6: 2001:db9:ca7:ff::1db8 4
    # ...

    1
    使用小于 64 的 CIDR 值指定 IPv6 clusterNetwork
    2
    指定一个带有 112 前缀的 IPv6 CIDR。Kubernetes 仅使用最低 16 位。对于前缀 112,IP 地址从 112 分配给 128 位。
    3
    示例节点 IP 地址。必须是 IPv4 地址系列。
    4
    dual-stack 配置的节点 IP 地址示例。必须是 IPv6 地址系列。仅使用双栈网络进行配置。
  4. 运行以下命令,完成任何其他 MicroShift 配置,然后启动 MicroShift:

    $ sudo systemctl start microshift
  5. 根据需要重置应用 pod 和服务的 IP 系列策略,然后重新启动这些应用 pod 和服务,以启用双栈网络。如需简单示例,请参阅"为应用程序 pod 和服务重置 IP 系列策略"。

验证

  1. 您可以按照以下步骤验证所有系统服务和 pod 是否具有两个 IP 地址,每个系列一个:

    1. 运行以下命令,检索节点资源中定义的网络:

      $ oc get pod -n openshift-ingress router-default-5b75594b4-w7w6s -o jsonpath='{.status.podIPs}'

      输出示例

      [{"ip":"10.42.0.4"},{"ip":"fd01:0:0:1::4"}]

    2. 运行以下命令,检索主机网络 pod 定义的网络:

      $ oc get pod -n openshift-ovn-kubernetes ovnkube-master-2fm2k -o jsonpath='{.status.podIPs}'

      输出示例

      [{"ip":"192.168.113.117"},{"ip":"2001:db9:ca7:ff::1db8"}]

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.