在 Amazon Outposts 上部署 Amazon EKS 集群
本主题概述了在 Outpost 上运行本地集群时需要考虑的事项。本主题还提供了有关如何在 Outpost 上部署本地集群的说明。
重要
-
相关的 Amazon EKS 文档中没有重复这些注意事项。若其他 Amazon EKS 文档主题与本文的考虑事项冲突,则遵从本文的考虑事项。
-
这些注意事项可能会经常更改。因此,我们建议您定期查看本主题。
-
很多注意事项与在 Amazon 云上创建集群的注意事项不同。
-
本地集群仅支持 Outpost 机架。单个本地集群可跨构成单个逻辑 Outpost 的多个物理 Outpost 机架运行。单个本地集群不能跨多个逻辑 Outpost 运行。每个逻辑 Outpost 都有一个 Outpost ARN。
-
本地集群运行和管理 Outpost 上您的账户中的 Kubernetes 控制面板。您不能在 Kubernetes 控制面板实例上运行工作负载或对 Kubernetes 控制面板组件进行修改。这些节点由 Amazon EKS 服务管理。对 Kubernetes 控制面板的更改不会在自动 Amazon EKS 管理操作(如修补)期间一直持续存在。
-
本地集群支持自行管理的附加组件和自行管理的 Amazon Linux 节点组。适用于 Kubernetes 的 Amazon VPC CNI 插件、kube-proxy 和 CoreDNS 附加组件会自动安装在本地集群上。
-
本地集群需要使用 Outpost 上的 Amazon EBS。您的 Outpost 必须拥有可用于 Kubernetes 控制面板存储的 Amazon EBS。
-
本地集群使用 Outpost 上的 Amazon EBS。您的 Outpost 必须拥有可用于 Kubernetes 控制面板存储的 Amazon EBS。Outpost 仅支持 Amazon EBS
gp2
卷。 -
使用 Amazon EBS CSI 驱动程序支持 Amazon EBS 支持的 Kubernetes
PersistentVolumes
。 -
熟悉 Outposts 部署选项、根据容量因素为 Amazon Outposts 上的 Amazon EKS 集群选择实例类型和置放群组以及 VPC 要求和注意事项。
-
一个现有的 Outpost。有关更多信息,请参阅什么是 Amazon Outposts。
-
计算机或 Amazon CloudShell 上安装了
kubectl
命令行工具。该版本可以与集群的 Kubernetes 版本相同,或者最多早于或晚于该版本一个次要版本。例如,如果您的集群版本为1.29
,则可以将kubectl
的1.28
、1.29
或1.30
版本与之配合使用。要安装或升级kubectl
,请参阅 设置 kubectl 和 eksctl。 -
在您的设备或 Amazon CloudShell 上安装和配置 Amazon 命令行界面(Amazon CLI)的版本
2.12.3
或更高版本,或版本1.27.160
或更高版本。要查看当前版本,请使用aws --version | cut -d / -f2 | cut -d ' ' -f1
。软件包管理器(如yum
、apt-get
或适用于 macOS 的 Homebrew)通常比 Amazon CLI 的最新版本落后几个版本。要安装最新版本,请参阅《Amazon 命令行界面用户指南》中的安装和使用 aws configure 快速配置。Amazon CloudShell 中安装的 Amazon CLI 版本也可能比最新版本落后几个版本。要对其进行更新,请参阅《Amazon CloudShell 用户指南》中的将 Amazon CLI 安装到您的主目录。 -
具有
create
和describe
Amazon EKS 集群权限的 IAM 主体(用户或角色)。有关更多信息,请参阅在 Outpost 上创建本地 Kubernetes 集群 和列出或描述所有集群。
创建本地 Amazon EKS 集群后,创建集群的 IAM 主体将永久添加。主体将作为管理员专门添加到 Kubernetes RBAC 授权表。该实体具有 system:masters
权限。此实体的身份在您的集群配置中不可见。因此,重要的是要注意创建集群的实体并确保永远不会删除它。最初,仅创建服务器的主体可以使用 kubectl
调用 Kubernetes API 服务器。如果使用控制台创建集群,请确保在集群上运行 kubectl
命令时,相同的 IAM 凭证位于 Amazon SDK 凭证链中。创建集群后,您可以向其他 IAM 主体授予对集群的访问权限。