15.2. 关于 AWS Wavelength Zones 和 edge 计算池
阅读以下部分以了解 AWS Wavelength 区域环境中的基础架构行为和集群限制。
15.2.1. AWS Wavelength 区域中的集群限制
当您试图在 Amazon Web Services (AWS) Wavelength Zone 中使用默认安装配置部署集群时,有一些限制。
以下列表在预先配置的 AWS 区域中部署集群时的详情限制:
-
区域中的 Amazon EC2 实例和 Region 中的 Amazon EC2 实例之间的最大传输单元 (MTU) 为
1300
。这会导致集群范围的网络 MTU 根据与部署一起使用的网络插件而改变。 - 不支持 Network Load Balancer (NLB)、Classic Load Balancer 和网络地址转换(NAT)网关等网络资源。
-
对于 AWS 上的 OpenShift Container Platform 集群,AWS Elastic Block Storage (EBS)
gp3
类型卷是节点卷和存储类的默认设置。这个卷类型在区域位置没有全局可用。默认情况下,在区中运行的节点使用gp2
EBS 卷进行部署。在区节点上创建工作负载时,必须设置gp2-csi
StorageClass
参数。
如果您希望安装程序为 OpenShift Container Platform 集群自动创建 Wavelength Zone 子网,则使用此方法应用特定的配置限制。以下详细介绍了其中的一些限制。对于其他限制,请确保阅读红帽在"Infrastructure prerequisites"部分中提供的 Wavelength Zones 的"Quotas and considerations"文档。
当您将安装程序设置为自动为 OpenShift Container Platform 集群创建子网时,会有以下配置限制:
- 当安装程序在 AWS Wavelength 区域中创建专用子网时,安装程序会将每个子网与其父区的路由表相关联。此操作通过 AWS 区域中的 NAT 网关的方式确保每个专用子网都可以将出口流量路由到互联网。
- 如果集群安装过程中不存在 parent-zone 路由表,安装程序会将任何专用子网与 Amazon Virtual Private Cloud (VPC)中的第一个可用私有路由表相关联。这个方法只适用于 OpenShift Container Platform 集群中的 AWS Wavelength Zones 子网。
15.2.2. 关于边缘计算池
边缘计算节点是在 AWS Wavelength 区域位置中运行的污点计算节点。
在部署使用 Wavelength 区域的集群时,请考虑以下点:
- Wavelength 区域中的 Amazon EC2 实例比可用区中的 Amazon EC2 实例的成本更高。
- 在 AWS Wavelength 区域和最终用户中运行的应用程序间延迟较低。例如,当一些工作负载在 Wavelength 区域和可用区之间混合了入口流量,则对一些工作负载会有一个延迟影响。
通常,Wavelength 区域中的 Amazon EC2 实例和 Region 中的 Amazon EC2 实例之间的最大传输单元(MTU)为 1300。对于开销,集群网络 MTU 必须总是小于 EC2 MTU。具体开销由网络插件决定。例如: OVN-Kubernetes 的开销为 100 字节
。
网络插件可以提供额外的功能,如 IPsec,它们也会影响 MTU 大小。
如需更多信息,请参阅 AWS 文档中的 AWS Wavelength 如何工作。
OpenShift Container Platform 4.12 引入了一个新的计算池 edge,用于在远程区中使用。边缘计算池配置在 AWS Wavelength 区域位置之间很常见。由于 Wavelength Zones 资源上的 EC2 和 EBS 等资源的类型和大小限制,默认的实例类型可能与传统的计算池不同。
Wavelength Zones 位置的默认 Elastic Block Store (EBS) 是 gp2
,它与非边缘计算池不同。根据区域上的实例产品,边缘计算池中每个 Wavelength 区域使用的实例类型可能与其他计算池不同。
边缘计算池创建新的标签,供开发人员用来将应用程序部署到 AWS Wavelength 区域节点上。新标签包括:
-
node-role.kubernetes.io/edge=''
-
machine.openshift.io/zone-type=wavelength-zone
-
machine.openshift.io/zone-group=$ZONE_GROUP_NAME
默认情况下,边缘计算池的机器集定义 NoSchedule
污点,以防止其他工作负载分散到 Wavelength Zones 实例。只有用户在 pod 规格中定义容限时,用户才能运行用户工作负载。