使用命令行工具 eksctl/kubectl 与Amazon EKS集群交互

场景: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

上一篇:EFS加密文件系统


下一篇:遇到问题---spark on k8s--挂载了efs的pod运行spark session 60后报java致命错误