在Windows上使用Kubectl连接集群
平时都在Linux上搭建并操作Kubernetes集群,但是有时候会使用Windows来进行开发或者日常工作,这个时候如果在登录某台Linux主机,通过kubectl
命令行操作集群就显得不是很方便,Kubernetes本身也是提供了Windows的命令行,因此在Windows上安装并配置kubectl,用于操作远端的Kubernetes集群。下面就是相关步骤。
下载Windows版本kubectl
可以按照官方文档Install kubectl on Windows来下载Windows版本的kubectl命令行。
因集群为v1.17.2
版本,因此这里直接下载指定版本的kubectl.exe。
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.17.2/bin/windows/amd64/kubectl.exe
下载好后,配置Windows的PATH
,在该环境变量值后增加F:\k8s\bin
(该路径为kubectl.exe的目录)。
配置好后,打开Git Bash
或其他的工具,输入kubectl.exe version --client
,可以看到对应的kubectl版本。到这里kubectl就安装好了。下面需要配置kubectl来连接远端Kubernetes集群。
$ kubectl.exe version --client
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.2", GitCommit:"59603c6e503c87169aea6106f57b9f242f64df89", GitTreeState:"clean", BuildDate:"2020-01-18T23:30:10Z", GoVersion:"go1.13.5", Compiler:"gc", Platform:"windows/amd64"}
配置kubectl
kubectl需要使用kubeconfig来连接远端集群,通常有三种方式来指定kubeconfig。
~/.kube/config
,默认kubectl会使用该目录。KUBECONFIG
,使用该环境变量的文件。--kubeconfig
,每次执行命令指定kubeconfig文件。
这里采用第2种方式。因此在Windows上配置一个环境变量KUBECONFIG
。设置KUBECONFIG=F:\k8s\bin\kubeconfig
。
重新打开Git Bash
,执行kubectl.exe get nodes
,可以看到连接到了远端的Kubernetes集群。
$ kubectl.exe get nodes
NAME STATUS ROLES AGE VERSION
meta-k8s-234 Ready master 29m v1.17.2
meta-k8s-235 Ready <none> 28m v1.17.2
meta-k8s-236 Ready <none> 28m v1.17.2
meta-k8s-237 Ready <none> 28m v1.17.2
至此就可以在Windows上操作远端Kubernetes集群,不用在Windows和Linux之间进行切换。