准备两个config
在$HOME/.kube目录下新建两个配置文件,分别叫config_gray和config_pro,命名自己定就可以。
配置config
打开 阿里云 的 容器服务 Kubernetes 版,找到你要连接的集群,如下图所示:
我这里要连接的是预发环境gray和生产环境pro,然后打开集群的详情页。
打开 连接信息tab,里面有内网访问的配置信息,将其复制到config_gray文件中。
1. config_gray的配置信息
# config_gray
apiVersion: v1
clusters:
- cluster:
server: https://10.0.0.0:4443
certificate-authority-data: xxx
name: gray
contexts:
- context:
cluster: gray # 这里改成你定义的名字
user: gray # 这里改成你定义的名字
name: gray # 这里改成你定义的名字
current-context: gray # 这里改成你定义的名字
kind: Config
preferences: {}
users:
- name: gray # 这里改成你定义的名字
user:
client-certificate-data: xxx
client-key-data: xxx
2. config_pro的配置信息
# config_pro
apiVersion: v1
clusters:
- cluster:
server: https://10.0.0.1:5443
certificate-authority-data: xxx
name: pro # 这里改成你定义的名字
contexts:
- context:
cluster: pro # 这里改成你定义的名字
user: pro # 这里改成你定义的名字
name: pro # 这里改成你定义的名字
current-context: pro # 这里改成你定义的名字
kind: Config
preferences: {}
users:
- name: pro # 这里改成你定义的名字
user:
client-certificate-data: xxx
client-key-data: xxx
3. 执行合并配置命令
cd ~/.kube
KUBECONFIG=config_gray:config_pro kubectl config view --flatten > $HOME/.kube/config
执行完以上步骤后,在 .kube 目录下就会生成config文件。
如何使用?
1. 查看cluster name以及context name
[root@node-01 ~] kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: DATA+OMITTED
server: https://172.17.92.141:6443
name: gray
- cluster:
certificate-authority-data: DATA+OMITTED
server: https://172.27.6.183:6443
name: pro
contexts:
- context:
cluster: gray
user: gray
name: gray
- context:
cluster: pro
user: pro
name: pro
current-context: pro
kind: Config
preferences: {}
users:
- name: gray
user:
client-certificate-data: REDACTED
client-key-data: REDACTED
- name: pro
user:
client-certificate-data: REDACTED
client-key-data: REDACTED
以上是可以看到两个cluster,两个context,两个user,就是对的了。
2. 查看当前使用的集群
[root@node-01 ~] kubectl config current-context
pro
3. 查看集群列表
[root@node-01 ~] kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
gray gray gray
* pro pro pro
带 * 的就是当前使用的集群
4. 修改当前使用的集群
[root@node-01 ~] kubectl config use-context gray
Switched to context "gray".