一、下载kubectl
参考链接:https://kubernetes.io/docs/tasks/tools/#optional-kubectl-configurations
在终端执行
curl -LO "https://dl.k8s.io/release/v1.23.0/bin/windows/amd64/kubectl.exe"
将kubectl.exe对应的path添加到环境变量的path中(path中不包括kubectl.exe,例如D:/source
)
校验
kubectl version --client
# 有返回版本号即为成功
二、拷贝远程集群的config文件
在集群的master节点的~/.kube目录下,存在config文件(全名即是config,无任何后缀)
将集群1、2...的config文件拷贝到本地,重命名,然后放到同一个目录下
三、将多个config文件合并为一个
试用了网上的部分合并方法,以下方法报错,所以使用了kubecm来合并config文件
KUBECONFIG=config1:config2 kubectl config view --flatten > $HOME/.kube/config
3.1. 下载kubecm
下载地址:https://github.com/sunny0826/kubecm/releases/tag/v0.16.2
解压后将kubecm路径加到环境变量path中
3.2. 合并config文件
把需要合并的 Kubeconfig 文件放到 all_kubeconfig 目录下,在all_kubeconfig 目录的上一级执行以下命令
kubecm merge -f all_kubeconfig
执行命令后会在当前路径下产生一个新的 config.yaml 文件
将config.yaml文件拷贝到C:\Users\用户名\.kube
目录下,并将config.yaml文件重新命名为config(无任何后缀)
3.3. 查看配置文件生效
可以使用kubectl config view
来查看kubeconfig,与config文件中的内容一致
四、使用
打开终端,使用kubecm选择当前集群或切换集群
kubecm switch
在cmd中可以使用j k l h四个字母按键来选择,git bash中这四个按键不好用
选择集群后可以查看config文件的current-context被填充了选择的集群,之后可以使用kubectl来正常操作集群
如果不使用kubecm切换集群,即config中的current-context为空,使用kubectl时会报错
Unable to connect to the server: dial tcp [::1]:8080: connectex: No connection could be made because the target machine actively refused it.