开始使用 Amazon EKS – eksctl
此指南可帮助您使用 eksctl
(用于在 Amazon EKS 上创建和管理 Kubernetes 集群的简单命令行实用程序)来安装开始使用 Amazon Elastic Kubernetes Service (Amazon EKS) 所需的所有资源。在本教程的最后,将为您提供一个运行中的 Amazon EKS 集群,您可向其部署应用程序。
本指南中的程序可自动为您创建在您使用 Amazon Web Services Management Console 创建集群时必须手动创建的一些资源。如果您希望手动创建大多数资源并更好地了解它们之间的交互方式,请使用 Amazon Web Services Management Console 创建集群和执行计算。有关更多信息,请参阅开始使用 Amazon EKS – Amazon Web Services Management Console 和 Amazon CLI。
先决条件
在开始使用本教程之前,您必须安装并配置创建和管理 Amazon EKS 集群所需的以下工具和资源。
-
kubectl
– 用于与 Kubernetes 集群一起使用的命令行工具。本指南要求您使用1.25
版或更高版本。有关更多信息,请参阅安装或更新 kubectl。 -
eksctl
– 用于处理 EKS 集群的命令行工具,该工具可自动执行许多单独任务。本指南要求您使用0.135.0
版或更高版本。有关更多信息,请参阅安装或更新 eksctl。 -
所需的 IAM 权限 – 您正在使用的 IAM 安全主体必须具有使用 Amazon EKS IAM 角色和服务相关角色的权限、Amazon CloudFormation 以及 VPC 和相关资源。有关更多信息,请参阅 IAM 用户指南中的用于 Amazon Elastic Container Service for Kubernetes 的操作、资源和条件键和使用服务相关角色。您必须以同一用户身份完成本指南中的所有步骤。
第 1 步:创建 Amazon EKS 集群和节点
重要
为了尽可能简单快速地入门,本主题包括创建具有原定设置的集群和节点的步骤。在创建用于生产使用的集群和节点之前,我们建议您熟悉所有设置,并使用符合您要求的设置部署集群和节点。有关更多信息,请参阅 创建 Amazon EKS 集群 和 Amazon EKS 节点。一些设置仅在创建集群和节点时可以启用。
您可以使用下列节点类型之一创建集群。要了解有关各个类型的更多信息,请参阅 Amazon EKS 节点。部署集群后,您可以添加其他节点类型。
-
Fargate - Linux - 如果要在 Amazon Fargate 上运行 Linux 应用程序,请选择此类型的节点。Fargate 是一种无服务器计算引擎,允许部署 Kubernetes pods,而不管理 Amazon EC2 实例。
-
托管式节点 – Linux – 如果要在 Amazon EC2 实例上运行Amazon Linux 应用程序,请选择此类型的节点。虽然本指南中未作介绍,但您还可以向集群添加 Windows 自行管理节点和 Bottlerocket 节点。
使用以下命令创建 Amazon EKS 集群。您可以将
替换为自己的值。名称只能包含字母数字字符(区分大小写)和连字符。该名称必须以字母字符开头,且不得超过 100 个字符。将 my-cluster
替换为 Amazon EKS 支持的任一 Amazon Web Services 区域。有关 Amazon Web Services 区域列表,请参阅 Amazon 一般参考中的 Amazon EKS 端点和配额。region-code
创建集群需要几分钟时间。在创建过程中,您将看到几行输出。输出的最后一行类似于以下示例行。
...
[✓] EKS cluster "my-cluster" in "region-code
" region is ready
eksctl
在 ~/.kube
中创建了一个 kubectl
config
文件,或在计算机上的 ~/.kube
中的现有 config
文件添加了新集群的配置。
完成集群创建后,在 Amazon CloudFormation 控制台 https://console.aws.amazon.com/cloudformationeksctl-
的 Amazon CloudFormation 堆栈,查看创建的所有资源。my-cluster
-cluster
第 2 步:查看 Kubernetes 资源
-
查看您的集群节点。
kubectl get nodes -o wide
输出示例如下。
如需详细了解输出中显示的内容,请参阅 查看 Kubernetes 资源。
-
查看在集群上运行的工作负载。
kubectl get pods -A -o wide
输出示例如下。
如需详细了解输出中显示的内容,请参阅 查看 Kubernetes 资源。
第 3 步:删除集群和节点
在使用完成针对本教程而创建的集群和节点后,应使用下面的命令删除这些集群和节点,从而将它们清除。如果要在清除该集群前对其执行更多操作,请参阅 后续步骤。
eksctl delete cluster --name
my-cluster
--regionregion-code
后续步骤
以下文档主题可帮助您扩展集群的此功能。
将示例应用程序部署到您的集群。
创建集群的 IAM 主体是唯一可以使用
kubectl
或 Amazon Web Services Management Console 调用 Kubernetes API 服务器的主体。如果您希望其他 IAM 主体拥有访问您的集群的权限,您需要添加它们。有关更多信息,请参阅 让 IAM 主体访问您的集群 和 所需的权限:我们建议您先熟悉集群和节点的所有设置,然后再部署集群用于生产环境。创建集群时必须进行一些设置(例如启用 SSH 访问 Amazon EC2 节点)。
为了提高集群的安全性,请配置 Amazon VPC 容器网络接口插件以将 IAM 角色用于服务账户。