设置使用 Amazon EKS
AWS 资源通常具有访问限制,用于限制对创建这些资源的 AWS 实体的访问。因此,从一开始就在 AWS Command Line Interface 中建立正确的用户配置至关重要。此外,您还需要为本地计算机配备必要的工具,以便通过命令行高效地管理 Amazon EKS 集群。本主题将帮助您为集群的命令行管理做好准备。
步骤 1:设置 AWS CLI
AWS CLI
创建访问密钥
-
在右上角,选择您的 AWS 用户名以打开导航菜单。例如,选择
webadmin
。然后选择安全凭证。 -
在访问密钥下,选择创建访问密钥。
-
选择命令行界面(CLI),然后选择下一步。
-
选择创建访问密钥。
-
选择下载 .csv 文件。
配置AWS CLI
安装 AWS CLI 后,请按照以下步骤进行配置。有关更多信息,请参阅《AWS Command Line Interface 用户指南》中的配置 AWS CLI。
-
在终端窗口中,输入以下命令:
aws configure
您还可以选择配置一个命名配置文件,例如
。如果您在 AWS CLI 中配置了命名配置文件,则必须始终在后续命令中传递此标志。--profile cluster-admin
-
输入 AWS 凭证。例如:
AWS Access Key ID [None]:
AWS Secret Access Key [None]:AKIAIOSFODNN7EXAMPLE
Default region name [None]:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default output format [None]:region-code
json
获取安全令牌
如果需要,运行以下命令以获取 AWS CLI 的新安全令牌。有关更多信息,请参阅《AWS CLI 命令参考》中的 get-session-token
。
默认情况下,令牌的有效期为 15 分钟。要更改默认会话超时,请传递
标志。例如:--duration-seconds
aws sts get-session-token --duration-seconds 3600
此命令将返回 AWS CLI 会话的临时安全凭证。您应看到以下响应输出:
{ "Credentials": { "AccessKeyId": "ASIA5FTRU3LOEXAMPLE
", "SecretAccessKey": "JnKgvwfqUD9mNsPoi9IbxAYEXAMPLE
", "SessionToken": "VERYLONGSESSIONTOKENSTRING
", "Expiration": "2023-02-17T03:14:24+00:00
" } }
验证用户身份
如果需要,可运行以下命令来验证用于终端会话的 IAM 用户身份(例如
)的 AWS 凭证。ClusterAdmin
aws sts get-caller-identity
此命令将返回为 AWS CLI 配置的 IAM 实体的 Amazon 资源名称(ARN)。您应看到以下示例响应输出:
{ "UserId": "AKIAIOSFODNN7EXAMPLE
", "Account": "01234567890
", "Arn": "arn:aws:iam::01234567890
:user/ClusterAdmin
" }
步骤 2:安装 Kubernetes 工具
要与 Kubernetes 集群通信,您需要一个与 Kubernetes API 进行交互的工具。此外,您还需要一些其他工具,例如用于管理本地计算机上 Kubernetes 环境的工具。
创建 AWS 资源
-
Amazon EKS 集群资源 – 如果您不熟悉 AWS,我们建议您安装
eksctl
。 eksctl
是一个基础设施即代码(IaC)实用程序,该实用程序可使用 AWS CloudFormation 来轻松创建 Amazon EKS 集群。该实用程序还会创建其他 Kubernetes 资源,例如服务账户。有关安装eksctl
的说明,请参阅eksctl
文档中的 Installation。 -
AWS 资源 – 如果您习惯于自动预置和部署 AWS 基础设施,我们建议您安装 Terraform。Terraform 是由 HashiCorp 开发开源基础设施即代码(IaC)工具。该工具允许您使用高级配置语言 [例如 HashiCorp 配置语言(HCL)或 JSON] 来定义和预置基础设施。有关安装 Terraform 的说明,请参阅 Terraform 文档中的 Install Terraform
。
要安装 kubectl
,请执行以下操作
kubectl
是一款开源命令行工具,用于与 Amazon EKS 集群上的 Kubernetes API 服务器进行通信。如果还没有在本地计算机上安装,请从以下选项中选择。
-
AWS 版本 – 要安装 Amazon EKS 支持的
kubectl
版本,请参阅 安装或更新 kubectl。 -
社区版本 – 要安装
kubectl
的最新社区版本,请参阅 Kubernetes 文档中的安装工具页面。