一、问题
当在我们本地使用kubectl管理多个集群时,如果切换配置文件,那比较麻烦,我们采用切换上下文当方式进行管理。
二、处理问题
1、将config文件当配置文件里面当token转换为证书文件:
例如dev环境的k8s集群:
certificate-authority-data字段的token:
echo ****** | base64 -d > dev-ca.pem
client-certificate-data字段的token:
echo ****** | base64 -d > dev-client.pem
client-key-data字段的token:
echo ****** | base64 -d > dev-client-key.pem
2、创建集群配置:
kubectl config set-cluster dev --certificate-authority=/root/.kube/cert/dev-ca.pem --embed-certs=true --server=https://192.168.1.1:6443
备注:https://192.168.1.1:6443是config文件中的集群地址
3、创建用户配置:
kubectl config set-credentials dev-admin --client-certificate=/root/.kube/cert/dev-client.pem --embed-certs=true --client-key=/root/.kube/cert/dev-client-key.pem
4、创建上下文配置:
kubectl config set-context dev --cluster=dev --user=dev-admin
备注:此集群上下文命名为dev
添加完成,接着按照同样的方式添加第二个k8s集群信息。
5、切换上下文,管理k8s集群:
kubectl config use-context dev
然后就可以进行kubectl命令操作了。
【完成】