kubectl config use-context 删除 eks 用户

kubectl config use-context deleting eks user

我在尝试使用 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 时,我观察到以下行为。

我的同事好像没有遇到过这个问题。

想法?

该配置的 exec 部分已添加到 1.10 (https://github.com/kubernetes/kubernetes/pull/59495)

如果您使用 kubectl 之前的版本,它将无法识别 exec 插件(导致提示输入凭据),如果您使用它来进行 kubeconfig 更改,它将在执行时删除 exec 字段保留更改