Amazon EKS,发布时间:AWS Outposts - Amazon EKS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon EKS,发布时间:AWS Outposts

您可以在 Amazon EKS 上创建和运行 AWS Outposts 节点。AWS Outposts 在本地设施中启用本机 AWS 服务、基础设施和操作模型。在 AWS Outposts 环境中,您可以使用与 AWS 云中所用相同的 AWS APIs、工具和基础设施。Amazon EKS 上的 AWS Outposts 节点非常适合需要靠近本地数据和应用程序运行的低延迟工作负载。有关 AWS Outposts 的更多信息,请参阅 AWS Outposts 用户指南

Prerequisites

以下是使用 Amazon EKS 上的 AWS Outposts 节点的先决条件:

  • 您必须已在本地数据中心中安装并配置了 Outpost。

  • Outpost 与其 AWS 区域之间必须具有可靠的网络连接。

  • Outpost 的 AWS 区域必须支持 Amazon EKS。有关受支持区域的列表,请参阅 Amazon EKS 中的 服务终端节点AWS General Reference。

Considerations

  • AWS Identity and Access Management、应用程序负载均衡器、网络负载均衡器、传统负载均衡器 和 Amazon Route 53 在 AWS 区域中运行,而不是在 Outpost 中。这将增加服务和容器之间的延迟。

  • AWS Fargate 在 AWS Outposts 上不可用。

  • 托管节点组无法部署到 Outpost 上的节点。

  • 您不能在 AWS Outposts 区域中使用中国

网络连接注意事项

以下是 Amazon EKS AWS Outposts 的网络连接注意事项:

  • 如果 Outpost 与其 AWS 区域之间的网络连接丢失,节点将继续运行。但是,在恢复连接之前,您无法创建新节点或对现有部署执行新操作。如果实例出现故障,则不会自动替换该实例。Kubernetes 控制层面在区域中运行,且由与 可用区 的连接断开等原因导致的检测信号丢失可能导致故障。失败的检测信号将导致 Outpost 上的 Pod 被标记为不正常,最终,节点状态将超时,Pod 将被标记为移出。有关更多信息,请参阅 Kubernetes 文档中的节点控制器

  • 建议在 Outpost 与其 AWS 区域之间提供可靠且高度可用的低延迟连接。

在 Outpost 上创建 Amazon EKS 节点

在 Outpost 上创建 Amazon EKS 节点类似于在 AWS 云中创建 Amazon EKS 节点。在 Outpost 上创建 Amazon EKS 节点时,您必须指定与您的 Outpost 关联的子网。

Outpost 是 AWS 区域的扩展,您可以在账户中扩展 VPC 以跨越多个 可用区 和任何关联的 Outpost 位置。在配置 Outpost 时,您将一个子网与它相关联,以将区域 VPC 环境扩展到本地设施。Outpost 上的实例显示为区域 VPC 的一部分,类似于具有关联子网的可用区。

要使用 AWS CLI 在 Outpost 上创建 Amazon EKS 节点,请指定与您的 Outpost 关联的安全组和子网。

在 Outpost 上创建 Amazon EKS 节点组

  1. 创建 VPC。

    aws ec2 create-vpc --cidr-block <10.0.0.0/16>
  2. 创建 Outpost 子网。必须为要为 Outpost 创建的子网指定 --outpost-arn 参数。(此步骤不同于 AWS Outposts。)

    aws ec2 create-subnet --vpc-id <vpc-xxxxxxxx> --cidr-block <10.0.3.0/24> \ –-outpost-arn arn:aws:outposts:<us-west-2>:123456789012:outpost/<op-xxxxxxxxxxxxxxxx>
  3. 创建一个集群,指定 Outpost 的子网。(此步骤不同于 AWS Outposts。)

    aws eks --region <region-code> create-cluster --name <eks-outpost> --role-arn \ arn:aws:iam::123456789012:role/<eks-service-role-AWSServiceRoleForAmazonEKS-OUTPOST> \ --resources-vpc-config subnetIds=<subnet-xxxxxxxx>,<subnet-yyyyyyyy>,securityGroupIds=<sg-xxxxxxxx>
  4. 创建节点组。指定在 Outpost 上可用的实例类型。(此步骤不同于 AWS Outposts。)

    eksctl create nodegroup --cluster <eks-outpost> \ --version auto \ --name <outpost-nodes> \ --node-type <c5.large> \ --node-ami auto \ --nodes 3 \ --nodes-min 1 \ --nodes-max 4
  5. 部署应用程序和服务。

    kubectl apply -f kubernetes/deployment.yaml