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
)
我有 ~/.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
)