kubectl config use-context delete eks user

问题描述 投票:2回答:1

尝试使用kubectl切换上下文时,我遇到了一些非常奇怪的行为。

我的配置文件声明了两个上下文;一个指向内部群集,而另一个指向Amazon EKS群集。

apiVersion: v1
kind: Config
clusters:
- cluster:
    certificate-authority-data: <..>
    server: <..>
  name: in-house
- cluster:
    certificate-authority-data: <..>
    server: <..>
  name: eks
contexts:
- context:
    cluster: in-house
    user: divesh-in-house
  name: in-house-context
- context:
    cluster: eks
    user: divesh-eks
  name: eks-context
current-context: in-house-context
preferences: {}
users:
- name: divesh-eks
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      command: aws-iam-authenticator
      args:
      - "token"
      - "-i"
      - "eks"
      env: null
- name: divesh-in-house
  user:
    client-certificate-data: <..>
    client-key-data: <..>

我也使用aws-iam-authenticator对EKS集群进行身份验证。

我的问题是这个 - 只要我使用内部集群,一切正常。但是,当我执行kubectl config use-context eks-context时,我会观察到以下行为。

  • 我尝试在集群上执行的任何操作(例如,kubectl get pods -n production)向我显示了Please enter Username:提示。我认为aws-iam-authenticator应该为我管理身份验证。我可以确认手动运行验证器(aws-iam-authenticator token -i eks)对我来说很好。
  • 执行kubectl config view省略了divesh-eks用户,因此输出看起来像 users: - name: divesh-eks user: {}
  • 通过xecuting kubectl config use-context in-house-context切换回内部集群会修改我的配置文件并删除divesh-eks-user,因此配置文件现在包含 users: - name: divesh-eks user: {}

我的同事似乎没有遇到这个问题。

思考?

kubernetes kubectl amazon-eks
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.