场景:AWS上已有一个eksctl创建的Amazon EKS集群,现在要通过安装eksctl和kubectl来实现在本地命令行管理EKS集群。
1.安装aws命令行工具awscli
# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
# unzip awscliv2.zip
# ./aws/install
# aws --version //安装完成,查看版本号
aws-cli/2.2.45 Python/3.8.8 Linux/3.10.0-1127.13.1.el7.x86_64 exe/x86_64.centos.7 prompt/off
# aws configure //配置aws访问凭证(如下:按命令行提示输入访问密钥id、密钥、区域、输出格式)
AWS Access Key ID [None]: AKIAIOAFBDNN7EXAGPLE
AWS Secret Access Key [None]: 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
Default region name [None]: cn-north-1
Default output format [None]: json
# aws help //查看使用帮助
# aws eks list-clusters //使用awscli可以查看AWS现有的EKS集群
{
"clusters": [
"EKS-STG"
]
}
2.安装kubectl
kubectl是一种用于处理kubenetes集群的命令行工具,很多操作系统程序包管理器中都提供了 kubectl二进制文件,因此我们想要安装kubectl 只需下载对应的二进制包,给它个执行权限,再把它丢到我们本地系统二进制命令文件夹里,就完成安装啦!
注:kubectl的版本号与Amazon EKS 集群的版本号相差不能大于1
1.下载kubectl二进制包文件:
# curl -o kubectl https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.20.4/2021-04-12/bin/linux/amd64/kubectl
2.添加执行权限:
# chmod +x kubectl
3.将二进制文件移到存放系统二进制命令目录下(使用命令echo $PATH可以看到目录)
# mv kubectl /usr/sbin/
4.查看是否安装成功(查看版本号)
# kubectl version --short --client
Client Version: v1.20.4-eks-6b7464 //安装完成:这里安装的是v1.20.4的版本
3.安装eksctl
eksctl是Amazon EKS 的命令行工具,可用於在 Amazon EKS 上建立和管理 Kubernetes
# wget https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz
# tar -xf eksctl_Linux_amd64.tar.gz
# mv eksctl /usr/local/bin/
# eksctl version
0.69.0
# eksctl get cluster // 查看当前已有集群
NAME REGION EKSCTL CREATED
EKS-STG cn-north-1 True
# eksctl --help //查看eksctl命令的使用帮助
//完成以上步骤即可使用eksctl来控制Amazon eks
4.生成 kubeconfig 配置文件
前面已经安装了kubectl,现在要生成配置文件kubeconfig使之能与eks集群交互
1.使用awscli命令行快速创建/更新kubeconfig:
# aws eks --region cn-north-1 update-kubeconfig --name EKS-STG
--region 区域 --name 集群名称
2.检验kubectl是否可用:
# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready <none> 3d5h v1.21.2-eks-55daa9d
node1 Ready <none> 3d5h v1.21.2-eks-55daa9d
node2 Ready <none> 3d5h v1.21.2-eks-55daa9d
//完成以上步骤即可用kubectl来控制Amazon eks
|