

 **帮助改进此页面** 

要帮助改进本用户指南，请选择位于每个页面右侧窗格中的**在 GitHub 上编辑此页面**链接。

# 使用 eksctl CLI 创建 EKS 自动模式集群
<a name="automode-get-started-eksctl"></a>

此主题演示如何使用 eksctl 命令行界面（CLI）创建 Amazon EKS 自动模式集群。您可以通过运行单个 CLI 命令或应用 YAML 配置文件来创建自动模式集群。这两种方法提供的功能相同，不过 YAML 方法可以更精细地控制集群设置。

eksctl CLI 通过处理底层 AWS 资源的创建和配置，来简化创建和管理 EKS 自动模式集群的过程。在开始操作之前，请确保在本地计算机上配置了必要的 AWS 凭证和权限。本指南假设您熟悉 Amazon EKS 的基本概念，并且已经安装了必需的 CLI 工具。

**注意**  
您必须安装版本 `0.195.0` 或更高版本的 eksctl。有关更多信息，请参阅 GitHub 上的 [eksctl releases](https://github.com/eksctl-io/eksctl/releases)。

## 使用 CLI 命令创建 EKS 自动模式集群
<a name="_create_an_eks_auto_mode_cluster_with_a_cli_command"></a>

您必须已安装 `aws` 和 `eksctl` 工具。您必须以管理 AWS 资源所需的足够权限登录 AWS CLI，包括 EC2 实例、EC2 联网、EKS 集群和 IAM 角色等。有关更多信息，请参阅 [进行设置以使用 Amazon EKS](setting-up.md)。

运行以下命令以创建新的 EKS 自动模式集群

```
eksctl create cluster --name=<cluster-name> --enable-auto-mode
```

## 使用 YAML 文件创建 EKS 自动模式集群
<a name="_create_an_eks_auto_mode_cluster_with_a_yaml_file"></a>

您必须已安装 `aws` 和 `eksctl` 工具。您必须以管理 AWS 资源所需的足够权限登录 AWS CLI，包括 EC2 实例、EC2 联网、EKS 集群和 IAM 角色等。有关更多信息，请参阅 [进行设置以使用 Amazon EKS](setting-up.md)。

检查以下集群配置示例资源中的 EKS 自动模式配置选项。有关完整的 ClusterConfig 规范，请参阅 [eksctl 文档](https://eksctl.io/usage/creating-and-managing-clusters/)。

 AWS 建议您启用 EKS 自动模式。如果这是您第一次创建 EKS 自动模式集群，请勿指定 `nodeRoleARN`，以便为 EKS 自动模式创建节点 IAM 角色。如果您的 AWS 账户中已有节点 IAM 角色，AWS 建议重复使用该角色。

 AWS 建议不要为 `nodePools` 指定任何值。EKS 自动模式将创建默认节点池。您可以使用 Kubernetes API 来创建其他节点池。

```
# cluster.yaml
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: <cluster-name>
  region: <aws-region>

iam:
  # ARN of the Cluster IAM Role
  # optional, eksctl creates a new role if not supplied
  # suggested to use one Cluster IAM Role per account
  serviceRoleARN: <arn-cluster-iam-role>

autoModeConfig:
  # defaults to false
  enabled: boolean
  # optional, defaults to [general-purpose, system].
  # suggested to leave unspecified
  # To disable creation of nodePools, set it to the empty array ([]).
  nodePools: []string
  # optional, eksctl creates a new role if this is not supplied
  # and nodePools are present.
  nodeRoleARN: string
```

将 `ClusterConfig` 文件另存为 `cluster.yaml`，然后使用以下命令创建集群：

```
eksctl create cluster -f cluster.yaml
```