aws-iam-authenticator返回已过期的令牌-EKS

时间:2020-07-30 22:40:28

标签: kubernetes aws-eks aws-iam-authenticator

我们正在运行一个EKS集群,其中的节点是根据AWS自动伸缩组基于节点组创建的。

使用eksctl创建集群。

该节点可以正常工作,过一会儿,它无法与Kubernetes API通信。

深入研究问题,我们发现了以下问题。 aws-iam-authenticator返回用于访问API时失败的令牌。

最后,我们发现了以下情况,我们试图使用相同的aws-iam-authenticator验证令牌,但是验证失败,并显示令牌已过期的消息。

我们检查运行以下命令的情况:

aws-iam-authenticator verify -i preguntados-dev-v1 -t $( aws-iam-authenticator token -i preguntados-dev-v1 | jq -r '.status.token' )

它请求令牌,从返回的JSON中提取令牌值,并将其发送以进行验证。

响应是(在有问题的节点中):

could not verify token: sts getCallerIdentity failed: error from AWS (expected 200, got 403). Body: {"Error":{"Code":"ExpiredToken","Message":"The security token included in the request is expired","Type":"Sender"},"RequestId":"477f5292-0e87-4734-bd60-74720a3e13a8"}
aws-iam-authenticator version
{"Version":"v0.5.0","Commit":"1cfe2a90f68381eacd7b6dcfa2bf689e76eb8b4b"}

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,主要是因为系统时间被取消了。如果您的本地时间不正确,则更正它将是一个密钥,否则,请在 Linux(Ubuntu) 上运行此命令:

sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"

来源:https://askubuntu.com/a/655528