windows使用kubectl在本地连接多集群

一、下载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.

你可能感兴趣的:(windows使用kubectl在本地连接多集群)