第 8 章 AWS Local Zone 或 Wavelength Zone 任务
在 Amazon Web Services (AWS) 上安装 OpenShift Container Platform 后,您可以进一步配置 AWS Local Zones 或 Wavelength Zones 和边缘计算池。
8.1. 将现有集群扩展为使用 AWS Local Zones 或 Wavelength 区域
作为安装后任务,您可以在 Amazon Web Services (AWS) 上扩展现有 OpenShift Container Platform 集群,以使用 AWS Local Zones 或 Wavelength 区域。
将节点扩展到 Local Zones 或 Wavelength 区域位置包括以下步骤:
- 调整 cluster-network 最大传输单元 (MTU)。
- 在 Local Zones 或 Wavelength Zones 组中选择 AWS Local Zones 或 Wavelength 区域。
在现有 VPC 中为本地区域或 Wavelength 区域位置创建一个子网。
重要在将 AWS 上的现有 OpenShift Container Platform 集群扩展为使用 Local Zones 或 Wavelength 区域前,请检查现有的 VPC 是否包含可用的无类别域间路由 (CIDR) 块。创建子网需要这些块。
- 创建机器集清单,然后在每个 Local Zone 或 Wavelength Zone 位置创建一个节点。
仅限本地区域:将权限
ec2:ModifyAvailabilityZoneGroup
添加到 Identity and Access Management (IAM) 用户或组,以便可以创建所需的网络资源。例如:AWS Local Zones 部署的额外 IAM 策略示例
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:ModifyAvailabilityZoneGroup" ], "Effect": "Allow", "Resource": "*" } ] }
仅限 Wavelength 区域:将权限
ec2:ModifyAvailabilityZoneGroup
,ec2:CreateCarrierGateway
, 和ec2:DeleteCarrierGateway
添加到 Identity and Access Management (IAM) 用户或角色,以便可以创建所需的网络资源。例如:AWS Wavelength Zones 部署的额外 IAM 策略示例
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DeleteCarrierGateway", "ec2:CreateCarrierGateway" ], "Resource": "*" }, { "Action": [ "ec2:ModifyAvailabilityZoneGroup" ], "Effect": "Allow", "Resource": "*" } ] }
其他资源
- 如需有关 AWS Local Zones、支持的实例类型和服务的更多信息,请参阅 AWS 文档中的 AWS Local Zones 功能。
- 有关 AWS 本地区域、支持的实例类型和服务的更多信息,请参阅 AWS 文档中的 AWS Wavelength 功能。
8.1.1. 关于边缘计算池
边缘计算节点是在 AWS Local Zones 或 Wavelength 区域位置中运行的污点计算节点。
在部署使用 Local Zones 或 Wavelength 区域的集群时,请考虑以下点:
- 本地区域或 Wavelength 区域中的 Amazon EC2 实例比可用区中的 Amazon EC2 实例的成本更高。
- 在 AWS Local Zones 或 Wavelength 区域和最终用户中运行的应用程序间延迟较低。例如,在 Local Zones 或 Wavelength 区域和可用区之间混合了入口流量,则对一些工作负载存在延迟影响。
通常,Local Zones 或 Wavelength Zones 中的 Amazon EC2 实例和 Region 中的 Amazon EC2 实例之间的最大传输单元 (MTU) 为 1300。对于开销,集群网络 MTU 必须总是小于 EC2 MTU。具体开销由网络插件决定。例如: OVN-Kubernetes 的开销为 100 字节
。
网络插件可以提供额外的功能,如 IPsec,它们也会影响 MTU 大小。
您可以访问以下资源以了解更多有关相应区类型的信息:
- 请参阅 AWS 文档中的 Local Zones 的工作原理。
- 请参阅 AWS 文档中的 AWS Wavelength 的工作原理。
OpenShift Container Platform 4.12 引入了一个新的计算池 edge,用于在远程区中使用。边缘计算池配置在 AWS Local Zones 或 Wavelength 区域位置之间很常见。由于 Local Zones 或 Wavelength Zones 资源的 EC2 和 EBS 等资源的类型和大小限制,默认的实例类型可能与传统的计算池不同。
Local Zones 或 Wavelength 区域位置的默认 Elastic Block Store (EBS) 是 gp2
,它与非边缘计算池不同。根据区域上的实例产品,边缘计算池中每个本地区域或 Wavelength 区域使用的实例类型可能与其他计算池不同。
边缘计算池创建新的标签,供开发人员用来将应用程序部署到 AWS Local Zones 或 Wavelength 区域节点上。新标签包括:
-
node-role.kubernetes.io/edge=''
-
仅限 Local Zones:
machine.openshift.io/zone-type=local-zone
-
仅限 Wavelength Zones:
machine.openshift.io/zone-type=wavelength-zone
-
machine.openshift.io/zone-group=$ZONE_GROUP_NAME
默认情况下,边缘计算池的机器集定义 NoSchedule
污点,以防止其他工作负载分散到 Local Zones 或 Wavelength Zones 实例。只有用户在 pod 规格中定义容限时,用户才能运行用户工作负载。