解密 Kubernetes 的世界:本地如何与 EKS 搭建桥梁

云计算 云原生
由于具有标准用户权限,在安装程序完成后,您必须在命令提示符下使用以下命令在 PATH 中手动创建指向 aws 和 aws_completer 程序的符号链接文件。如果 PATH 包含您可以写入的文件夹,并且您将该文件夹指定为目标路径,则可以在不使用 sudo 的情况下运行以下命令。

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/

责任编辑:武晓燕 来源: Eternal Heights
相关推荐

2015-01-21 10:57:17

云存储混合云

2025-02-13 11:02:44

2015-07-29 11:08:48

IaaS云计算平台混合云

2012-09-21 09:31:48

Linux服务器Windows

2012-02-14 10:13:04

2023-08-03 07:35:10

kubernetes云原生

2021-07-16 09:51:21

kubernetes环境容器

2019-07-04 13:10:53

Docker设计云计算

2025-02-06 16:48:01

2021-02-05 18:22:51

GoC剖析

2023-04-06 08:00:36

VPC虚拟私有云Amazon

2009-08-10 19:23:02

服务与业务融合IT运维管理广通信达科技

2016-02-22 10:10:48

SqoopSQLNoSQL

2023-01-26 11:56:31

Kubernete虚拟机k3s

2015-05-08 16:00:36

2023-09-15 16:55:04

2020-09-09 07:00:00

Kubernetes集群容器

2018-12-03 08:31:40

负载均衡解密Web 服务器

2018-12-03 13:50:03

流量网络负载均衡

2015-04-27 20:30:53

AWSDirect Conn混合云
点赞
收藏

51CTO技术栈公众号