AWS CLI[1] 是与 AWS 服务(包括 Amazon EKS)结合使用的命令行工具。该工具还可用于对从本地计算机访问 Amazon EKS 集群和其他 AWS 资源的 IAM 用户或角色进行身份验证。要通过命令行在 AWS 中预置资源,您需要获取 AWS 访问密钥 ID 和私有密钥,以便在命令行中使用。然后,您需要在 AWS CLI 中配置这些凭证。如果尚未安装 AWS CLI,请参阅《AWS 命令行界面用户指南》中的安装或更新 AWS CLI 的最新版本[2]。
安装或更新到最新版本的 AWS CLI
Linux
要更新当前安装的 AWS CLI,请在每次更新时下载一个新的安装程序以覆盖以前的版本。按照命令行中的以下步骤 AWS CLI 在 Linux 上安装。 要安装 AWS CLI,请运行以下命令。
这边安装的是 x86 架构,如果你的是 arm 架构可以使用这个:https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install
可选:要更新 AWS CLI的当前安装,请添加现有的符号链接和安装程序信息,以使用 --bin-dir、--install-dir 和 --update 参数构造 install 命令。以下命令块使用以下符号链接示例 /usr/local/bin 以及安装程序位置的示例 /usr/local/aws-cli
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
解释下这条命令:sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
./aws/install
• 运行当前目录下的 AWS CLI 安装程序。install 是 AWS 提供的一个安装脚本。
--bin-dir /usr/local/bin
• 指定 aws 命令的可执行文件 (aws-cli 二进制文件) 将安装到 /usr/local/bin 目录。
• /usr/local/bin 是系统的全局 PATH 路径之一,这样可以直接通过 aws 命令在终端中使用 AWS CLI。
--install-dir /usr/local/aws-cli
• 指定 AWS CLI 的主安装目录为 /usr/local/aws-cli。
• 这里存放 AWS CLI 的核心文件(例如工具的库文件、脚本等)。
--update
• 如果已经存在一个 AWS CLI 版本,使用此选项会将其更新到最新版本。
• 没有此选项时,如果 AWS CLI 已安装,可能会报错。
要查找现有的符号链接和安装目录,请执行以下步骤: 使用 which 命令查找符号链接。这为您提供了与 --bin-dir 参数一起使用的路径。
$ which aws
/usr/local/bin/aws
使用 ls 命令查找符号链接指向的目录。这为您提供了与 --install-dir 参数一起使用的路径。
$ ls -l /usr/local/bin/aws
lrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/aws -> /usr/local/aws-cli/v2/current/bin/aws
通过以下命令确认此安装。
$ aws --version
aws-cli/2.17.20 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64 botocore/2.4.5
如果无法找到 aws 命令,您可能需要重新启动终端或按照对错误进行故障排除 AWS CLI中的说明排除故障[3]。
macOS
以下步骤说明如何使用标准 macOS 用户界面和浏览器安装最新版本的。
1.在浏览器中,下载 macOS pkg 文件:
2.运行下载的文件,然后按照屏幕上的说明进行操作。您可以选择通过以下 AWS CLI 方式安装:
• 针对电脑上的所有用户(需要 sudo)
a.您可以安装到任何文件夹,或选择推荐的默认文件夹 /usr/local/aws-cli。
b.安装程序会自动在 /usr/local/bin/aws 中创建一个符号链接,该链接指向您选择的安装文件夹中的主程序。
• 仅针对当前用户(不需要 sudo)
a.您可以安装到具有写入权限的任何文件夹。
b.由于具有标准用户权限,在安装程序完成后,您必须在命令提示符下使用以下命令在 PATH 中手动创建指向 aws 和 aws_completer 程序的符号链接文件。如果 PATH 包含您可以写入的文件夹,并且您将该文件夹指定为目标路径,则可以在不使用 sudo 的情况下运行以下命令。如果 PATH 中没有可写入的文件夹,您必须在命令中使用 sudo,以获取写入指定目标文件夹的权限。符号链接的默认位置为 /usr/local/bin/。
$ sudo ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws
$ sudo ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws_completer
注意:您可以在安装过程中的任意时刻按 Cmd+L 来查看安装的调试日志。这会打开一个日志窗格,让您能够筛选和保存日志。日志文件还会自动保存到 /var/log/install.log。
3.要验证 Shell 是否可以在 $PATH 中找到并运行 aws 命令,请使用以下命令。
$ which aws
/usr/local/bin/aws
$ aws --version
aws-cli/2.17.20 Python/3.11.6 Darwin/23.3.0 botocore/2.4.5
4.如果无法找到 aws 命令,您可能需要重新启动终端或按照对错误进行故障排除 AWS CLI中的说明排除故障[4]。
创建访问密钥
1.登录到 AWS Management Console[5]。
图片
2.对于单用户或多用户账户:
• 但用户账户 – 在右上角,选择您的 AWS 用户名以打开导航菜单。例如,选择 webadmin。
• 多用户账户 – 从服务列表中选择 IAM。在 IAM 控制面板中,选择用户,然后选择用户的名称。
图片
3.选择安全凭证。
图片
4.在访问密钥下,选择创建访问密钥。
进到这个页面:
图片
5.选择命令行界面(CLI),然后选择下一步。
图片
6.选择创建访问密钥。
这边你自己选择个名称,然后创建:
图片
7.选择下载 .csv 文件。
这边你可以下载 csv 文件,也可以直接复制 Access key 和 Secret access key
图片
配置 AWS CLI
在终端窗口中,输入以下命令:
aws configure
您还可以选择配置一个命名配置文件,例如 --profile cluster-admin。如果您在 AWS CLI 中配置了命名配置文件,则必须始终在后续命令中传递此标志。
输入 AWS 凭证。例如:
Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: region-code
Default output format [None]: json # 可填可不填,如果填的话,选择 json
更新 kubeconfig 文件
运行下面的 AWS CLI 命令:
aws eks update-kubeconfig --region "REGION" --name "CLUSTER_NAME"
这条命令会:
• 自动连接到指定区域 (REGION) 中的指定 EKS 集群 (CLUSTER_NAME)。
• 更新或创建默认路径下的 ~/.kube/config 文件,并添加 EKS 集群的访问配置。
验证配置
在更新完成后,运行以下命令验证 kubeconfig 是否配置成功:
kubectl get nodes
• 如果返回了集群中的节点列表,说明 kubeconfig 文件已正确配置,EKS 集群连接成功。
• 如果出现错误,比如 Unable to connect to the server 或 Forbidden,需要检查 IAM 用户或角色是否具有对 EKS 集群的访问权限。
引用链接
[1] AWS CLI: https://aws.amazon.com/cli/
[2] 安装或更新 AWS CLI 的最新版本: https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html
[3] 对错误进行故障排除 AWS CLI中的说明排除故障: https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/cli-chap-troubleshooting.html
[4] 对错误进行故障排除 AWS CLI中的说明排除故障: https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/cli-chap-troubleshooting.html
[5] AWS Management Console: https://console.aws.amazon.com/