首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将EKS标记传递给其他kubectl cli命令

将EKS标记传递给其他kubectl cli命令
EN

Stack Overflow用户
提问于 2019-05-21 03:51:45
回答 2查看 2K关注 0票数 4

假设我使用以下命令获得一个EKS令牌:

代码语言:javascript
复制
aws eks get-token --region us-west-2 --cluster-name eks1

结果如下所示:

代码语言:javascript
复制
{"status": {"token": "k8s-aws-v1.aHR0.....Ni"}, "kind": "ExecCredential", "apiVersion": "client.authentication.k8s.io/v1alpha1", "spec": {}}

如何将令牌传递给其他cli命令?类似于:

代码语言:javascript
复制
kubectl get svc --token="$token-from-above"

在没有令牌的情况下,我一直收到这个错误:

错误:您必须登录到服务器(未经授权)

但是我的AWS证书是存在的,这就是为什么我可以得到令牌。我假设它与aws-iam-authenticator token -i eks1生成的令牌相同

我试着运行这个:

代码语言:javascript
复制
export AWS_SESSION_TOKEN="$token-from-above"
kubectl get svc

这也不起作用,同样的错误。

EN

回答 2

Stack Overflow用户

发布于 2019-05-21 04:54:21

确保您没有配置任何这样的环境变量:

代码语言:javascript
复制
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY

大多数(如果不是全部) aws工具都会将这些配置置于其他配置之上。例如,当我尝试使用AWS_PROFILE时,我就被这一点愚弄了。

票数 3
EN

Stack Overflow用户

发布于 2019-05-21 07:11:07

@MrCholo,您是否已确保将您的KUBECONFIG配置为使用exec凭据流?使用EKS和/或验证器,您不需要生成令牌,然后将其注入到每个请求中kubectl有一种方法可以为您exec二进制文件。

但是它看起来是这样的:

代码语言:javascript
复制
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: XXX
    server: XXX
  name: XXX
contexts:
- context:
    cluster: XXX
    user: XXX
  name: XXX
current-context: XXX
kind: Config
preferences: {}
users:
- name: XXX
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      args:
      - eks
      - get-token
      - --region us-west-2 
      - --cluster-name eks1
      command: aws
      env: null

您需要确保您至少拥有可以使用kubectl version --client --short进行检查的1.10+ kubectl客户端版本。

其他需要注意的是,此令牌不是AWS IAM令牌,它是API服务器用来验证用户身份的生成并签名的URL。底层的请求实际上是aws sts get-caller-identity,但我们没有完成请求,我们对URL进行签名,然后对其进行base64编码,并将其封装在JSON中提交给api服务器。一旦令牌被传递到api服务器,令牌就会被发送到控制平面中的身份验证器web服务器,该服务器会对STS调用进行解码,然后“完成”STS调用以返回您是谁,然后使用该调用来验证您是否在用户白名单中。

希望这能有所帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56227322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档