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