kubectl 不适用于多个集群配置

kubectl does not work with multiple clusters config

我有 ~/.kube/config 内容如下:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: REDACTED
    server: https://REDACTED.yl4.us-east-1.eks.amazonaws.com
  name: kubernetes-jenkins
- cluster:
    certificate-authority-data: REDACTED
    server: https://REDACTED.sk1.us-east-1.eks.amazonaws.com
  name: kuberntes-dev
contexts:
- context:
    cluster: kubernetes-dev
    user: aws-dev
  name: aws-dev
- context:
    cluster: kubernetes-jenkins
    user: aws-jenkins
  name: aws-jenkins
current-context: aws-dev
kind: Config
preferences: {}
users:
- name: aws-dev
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      args:
      - token
      - -i
      - EKS_DEV_CLUSTER
      command: heptio-authenticator-aws
      env: null
- name: aws-jenkins
  user:
     exec:
       apiVersion: client.authentication.k8s.io/v1alpha1
       args:
       - token
       - -i
       - EKS_JENKINS_CLUSTER
       command: heptio-authenticator-aws
       env: null

但是当我尝试 kubectl cluster-info 我得到:

Kubernetes master is running at http://localhost:8080

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
The connection to the server localhost:8080 was refused - did you specify the right host or port?

据我所知,我的 kubeconfig 有问题,但我不明白到底是什么。 我也试图找到任何相关问题,但没有运气。

你能给我一些建议吗?

谢谢。

您需要选择要使用的上下文。有关如何对多个用户使用多个集群的更多信息 here

基本上,您可以查看当前上下文(对于当前配置的集群)

$ kubectl config current-context

查看,配置的所有集群:

$ kubectl config get-clusters

并选择您的集群:

$ kubectl config use-context <cluster-name>

如果您在 ~/kube/config 文件中定义了不同的用户,则可以选择为每个集群设置不同的用户。

与上下文中的引用 (cluster: kubernetes-dev) 相比,您的集群名称中有一个拼写错误 (name: kuberntes-dev)