网络概述
了解 Red Hat OpenShift Service on AWS 中的基本网络概念和常规任务
摘要
第 1 章 关于网络 复制链接链接已复制到粘贴板!
Red Hat OpenShift 网络是一个功能、插件和高级网络功能生态系统,它增强了 Kubernetes 网络与高级网络相关的功能,集群需要管理一个或多个混合集群的网络流量。这种网络功能生态系统集成了入口、出口、负载均衡、高性能吞吐量、安全性和集群内部流量管理。Red Hat OpenShift 网络生态系统还提供基于角色的可观察工具来降低其自然复杂性。
以下是集群中一些最常用的 Red Hat OpenShift Networking 功能:
- 用于网络插件管理的 Cluster Network Operator。
- OVN-Kubernetes 提供的主要集群网络,即默认的 Container Network Interface (CNI)插件。
第 2 章 CIDR 范围定义 复制链接链接已复制到粘贴板!
如果您的集群使用 OVN-Kubernetes,您必须为无类别域间路由(CIDR)子网范围指定非重叠范围。
对于 Red Hat OpenShift Service on AWS 4.17 及更新的版本,集群使用 169.254.0.0/17 用于 IPv4,fd69::/112 用于 IPv6 作为默认的伪装子网。用户也应避免这些范围。对于升级的集群,默认 masquerade 子网没有变化。
您可以使用 Red Hat OpenShift Network Calculator 在集群创建过程中设置 CIDR 范围前确定您的网络需求。
您必须有一个红帽帐户才能使用该计算器。
以下子网类型,对于使用 OVN-Kubernetes 的集群是强制的:
- Join :使用 join 交换将网关路由器连接到分布式路由器。join 交换减少了分布式路由器的 IP 地址数量。对于使用 OVN-Kubernetes 插件的集群,专用子网的 IP 地址都会被分配给附加到 join 交换的任何逻辑端口。
- Masquerade:在负载均衡器做出路由决策后,将从节点发送到同一节点的相同源和目标 IP 地址发生冲突。
- Transit :传输开关是跨集群中所有节点的分布式交换机类型。transit 交换会在不同区域间路由流量。对于使用 OVN-Kubernetes 插件的集群,专用子网的 IP 地址都会被分配给附加到 transit 交换的任何逻辑端口。
您可以将集群的加入、伪装和传输 CIDR 范围作为安装后任务更改。
当指定子网 CIDR 范围时,请确保子网 CIDR 范围位于定义的 Machine CIDR 中。您必须根据集群托管的平台,验证子网 CIDR 范围允许足够的 IP 地址用于所有预期工作负载。
OVN-Kubernetes 是 Red Hat OpenShift Service on AWS 4.14 及更新版本中的默认网络供应商,内部使用以下 IP 地址子网范围:
-
V4JoinSubnet:100.64.0.0/16 -
V6JoinSubnet:fd98::/64 -
V4TransitSwitchSubnet:100.88.0.0/16 -
V6TransitSwitchSubnet:fd97::/64 -
defaultV4MasqueradeSubnet:169.254.0.0/17 -
defaultV6MasqueradeSubnet:fd69::/112
前面的列表包括了 join、transfer 和 masquerade IPv4 和 IPv6 地址子网。如果您的集群使用 OVN-Kubernetes,请不要在集群或基础架构中的任何其他 CIDR 定义中包含这些 IP 地址子网范围。
2.1. Machine CIDR 复制链接链接已复制到粘贴板!
在 Machine classless inter-domain routing (CIDR) 字段中,您必须为机器或集群节点指定 IP 地址范围。
创建集群后无法更改机器 CIDR 范围。
这个范围必须包括虚拟私有云 (VPC) 子网的所有 CIDR 地址范围。子网必须是连续的。单个可用区部署支持最少有 128 个地址的 IP 地址范围(使用子网前缀 /25)。多可用区部署支持最少 256 个地址的 IP 地址范围(使用子网前缀 /24)。
默认值为 10.0.0.0/16。这个范围不得与任何连接的网络冲突。
当使用 Red Hat OpenShift Service on AWS 时,为内部 Kubernetes API 地址保留静态 IP 地址 172.20.0.1。机器、pod 和服务 CIDR 范围不得与此 IP 地址冲突。
2.2. Service CIDR 复制链接链接已复制到粘贴板!
在 Service CIDR 字段中,您必须为服务指定 IP 地址范围。建议(但不是必需的)地址块在集群之间是相同的。这将不会创建 IP 地址冲突。范围必须足够大,以适应您的工作负载。该地址块不得与从集群内部访问的任何外部服务重叠。默认为 172.30.0.0/16。
2.3. Pod CIDR 复制链接链接已复制到粘贴板!
在 pod CIDR 字段中,您必须为 pod 指定 IP 地址范围。
建议(但不是必需的)地址块在集群之间是相同的。这将不会创建 IP 地址冲突。范围必须足够大,以适应您的工作负载。该地址块不得与从集群内部访问的任何外部服务重叠。默认为 10.128.0.0/14。
2.4. 主机前缀 复制链接链接已复制到粘贴板!
在 Host Prefix 字段中,您必须指定分配给调度到各个机器的 pod 的子网前缀长度。主机前缀决定了每台机器的 pod IP 地址池。
例如,如果主机前缀设置为 /23,则每台机器从 pod CIDR 地址范围中分配一个 /23 子网。默认值为 /23,允许 512 个集群节点以及每个节点的 512 个 pod (其中两个超过我们的最大支持)。
2.5. 托管 control plane 的 CIDR 范围 复制链接链接已复制到粘贴板!
要在 AWS 上的 Red Hat OpenShift Service 上部署托管的 control plane,请使用以下所需的无类别域间路由(CIDR)子网范围:
-
v4InternalSubnet: 100.65.0.0/16 (OVN-Kubernetes) -
clusterNetwork: 10.132.0.0/14 (pod network) -
serviceNetwork: 172.31.0.0/16
有关 Red Hat OpenShift Service on AWS CIDR 范围定义的更多信息,请参阅"CIDR 范围定义"。
Legal Notice
复制链接链接已复制到粘贴板!
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.