配置方案

可以参考官方方案 :https://kubernetes.io/zh/docs/tasks/access-application-cluster/configure-access-multiple-clusters/

我使用的方法简单粗暴直接去master node服务$HOME/.kube/config把内容copy到本地 ~/.kube/config文件中。

注意: 本地 ~/.kube/config文件有内容,需要把master node服务 clusters,contexts,users内容要copy到本地对应的文件位置下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@master1 ~]# cat .kube/config
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: xxx
server: https://10.8.0.1:6443
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: kubernetes-admin
name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
user:
client-certificate-data: xxxxxx
client-key-data: xxxxx

查看 contexts 发现kubernetes集群已经存在了。

1
2
3
4
5
6
7

liuguodong@localhost  ~  kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
K8S-xxx-UAT K8S-xxx-UAT clusterUser_K8S-xxx-UAT
* k8s-xx-dev k8s-jc-dev clusterUser_k8s-xxx-dev
kubernetes-admin@kubernetes kubernetes kubernetes-admin
minikube minikube minikube default

查看集群命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
kubectl config view #查看config配置信息
kubectl config get-contexts # 获取全部集群
kubectl config current-context # 获取当前K8S上下文
kubectl config use-context kubernetes-admin@kubernetes # 切换kubernetes-admin@kubernetes上下文
kubectl config delete-cluster # 删除 kubeconfig 文件中指定的集群
kubectl config delete-context # 删除 kubeconfig 文件中指定的 context
kubectl config get-clusters # 显示 kubeconfig 文件中定义的集群
kubectl config rename-context # Renames a context from the kubeconfig file.
kubectl config set #设置 kubeconfig 文件中的一个单个值
kubectl config set-cluster #设置 kubeconfig 文件中的一个集群条目
kubectl config set-context # 设置 kubeconfig 文件中的一个 context 条目
kubectl config set-credentials # 设置 kubeconfig 文件中的一个用户条目
kubectl config unset # 取消设置 kubeconfig 文件中的一个单个值
kubectl config use-context # 设置 kubeconfig 文件中的当前上下文
kubectl config view # 显示合并的 kubeconfig 配置或一个指定的 kubeconfig 文件