如何刷新EKS集群的AWS身份验证令牌

时间:2020-06-24 03:28:54

标签: amazon-web-services docker kubernetes

我正在通过以下方式进行身份验证

首先,我通过以下方式向AWS进行身份验证

aws ecr get-login-password --region cn-north-1 | docker login --username AWS --password-stdin xxxxxxxxxx.dkr.ecr.cn-north-1.amazonaws.com.cn

然后,我创建了我在部署配置中引用的regcred文件

kubectl create secret generic regcred --from-file=.dockerconfigjson=/home/noobskie/.docker/config.json --type=kubernetes.io/dockerconfigjson

因此,在开始的12个小时内一切正常,但是现在AWS令牌已过期,我很难弄清楚如何正确刷新它。我已经重新运行了第一个命令,但是它不起作用。

我得到的错误是

Error response from daemon: pull access denied for xxxxxxxxxxx.dkr.ecr.cn-north-1.amazonaws.com.cn/baopals, repository does not exist or may require 'docker login': denied: Your authorization token has expired. Reauthenticate and try again.

编辑

我刚刚发现我可以使用以下命令重新配置,但是我很好奇这是否是正确的处理方式以及是否提供了其他任何AWS方式。

kubectl create secret generic regcred --from-file=.dockerconfigjson=/home/noobskie/.docker/config.json --dry-run -o yaml | kubectl apply -f -

1 个答案:

答案 0 :(得分:0)

如果已安装并配置了aws-cli和aws-iam-authenticator,请使用以下命令生成令牌。

aws-iam-authenticator token -i cluster name
相关问题