aws cli:update-kubeconfig无法正常工作

时间:2020-07-27 13:48:30

标签: amazon-web-services kubernetes command-line-interface eks

我正在尝试使用以下提到的CLI更新kubeconfig文件

aws eks update-kubeconfig --name EKS_cluster

这给了我这个错误

usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help
aws: error: argument operation: Invalid choice, valid choices are:

create-cluster                           | delete-cluster
describe-cluster                         | list-clusters
help

我正在使用的was cli版本是

aws-cli/1.15.58 Python/3.5.2 Linux/5.3.0-1030-aws botocore/1.10.57

有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

来自为Amazon EKS here创建kubeconfig的文档

确保您具有1.16.156或更高版本的AWS CLI 已安装。

显然,这是因为CLI的版本较旧(1.15.58)。升级CLI应该可以解决此问题。

现在CLI的版本为2,您可以从here安装该版本

答案 1 :(得分:1)

您的AWS-CLI版本需要更新。至少需要运行AWS Docs中提到的AWS-CLI版本1.16.156。

Amazon EKS使用aws eks get-token命令,该命令在AWS CLI的版本1.16.156或更高版本中可用,或用于Kubernetes的AWS IAM身份验证器(带有kubectl)用于集群身份验证。

您还需要确保已安装AWS IAM Authenticator才能使用角色进行身份验证。

从Amazon S3下载Amazon EKS出售的aws-iam-authenticator二进制文件。要下载ARM版本,请在运行命令之前将amd64更改为arm64。 curl -o aws-iam-authenticator https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.7/2020-07-08/bin/linux/amd64/aws-iam-authenticator

将执行权限应用于二进制文件。 chmod +x ./aws-iam-authenticator

将二进制文件复制到$ PATH中的文件夹中。我们建议创建一个$ HOME / bin / aws-iam-authenticator,并确保$ HOME / bin在$ PATH中排在第一位。 mkdir -p $HOME/bin && cp ./aws-iam-authenticator $HOME/bin/aws-iam-authenticator && export PATH=$PATH:$HOME/bin

将$ HOME / bin添加到PATH环境变量中。 echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc

测试aws-iam-authenticator二进制文件是否有效。 aws-iam-authenticator help