【发布时间】:2020-11-20 17:50:33
【问题描述】:
我们正在运行一个 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"}
【问题讨论】:
-
您遵循哪些文档来创建集群和工作节点?
标签: kubernetes amazon-eks aws-iam-authenticator