引言
最近买了台新电脑,之前的电脑下面k8s多集群拜访配置形式当初忘了过后是怎么配置了,于是本人再次摸索配置胜利,记录下来分享给大家。
留神:自己电脑是Mac,接下来的操作默认是在Mac下面的zshell下面执行。
操作
1、首页装置docker和kubectl
docker装置点击这里,下载即可装置。
➜ ~ docker -vDocker version 20.10.23, build 7155243
kubectl装置点击这里
➜ ~ kubectl versionWARNING: This version information is deprecated and will be replaced with the output from kubectl version --short. Use --output=yaml|json to get the full version.Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.2", GitCommit:"fc04e732bb3e7198d2fa44efa5457c7c6f8c0f5b", GitTreeState:"clean", BuildDate:"2023-02-22T13:32:21Z", GoVersion:"go1.20.1", Compiler:"gc", Platform:"darwin/arm64"}Kustomize Version: v4.5.7Server Version: version.Info{Major:"1", Minor:"24+", GitVersion:"v1.24.6-aliyun.1", GitCommit:"e0e067a81f9fa91d46792937d79ec41ec79762eb", GitTreeState:"clean", BuildDate:"2023-02-28T12:15:08Z", GoVersion:"go1.18.6", Compiler:"gc", Platform:"linux/amd64"}WARNING: version difference between client (1.26) and server (1.24) exceeds the supported minor version skew of +/-1
2、启用k8s
装置好docker和kubectl之后,咱们关上docker GUI,如下所示:
设置k8s为启用状态,这时候你会发现用户目录下会多出.kube
目录,咱们到.kube目录下能够看到外面有config
文件
➜ .kube lltotal 72drwxr-x---@ 4 justinzhang staff 128B 3 22 15:37 cache-rw-r--r--@ 1 justinzhang wheel 13K 4 1 17:03 config
咱们能够关上config
文件看看外面的内容
apiVersion: v1clusters:- cluster: certificate-authority-data: xxx server: https://kubernetes.docker.internal:6443 name: docker-desktopcontexts:- context: cluster: docker-desktop user: docker-desktop name: docker-desktopcurrent-context: docker-desktopkind: Configpreferences: {}users:- name: docker-desktop user: client-certificate-data: xxx client-key-data: xxx
咱们会发现外面默认曾经有了一个叫docker-desktop
的集群。
2、配置k8s多集群
咱们当初曾经有了一个叫docker-desktop
,那么咱们如何配置第2个集群的config
文件呢?
咱们能够这样做:
2.1、备份config文件
cp ~/.kube/config ~/.kube/config.bak
2.2、将2份k8s config 文件合并成一份
KUBECONFIG=~/.kube/conifg:~/your-second-k8s-config-path/config kubectl config view -- flattern > /tmp/config
阐明:下面的your-second-k8s-config-path
是你的第2个k8s集群config
文件所在目录。
2.3、将合并好的/tmp/config
文件替换成默认的config
文件
mv /tmp/config ~/.kube/config
2.4、配置config
文件的current-context
属性
默认状况下,current-context
值是docker-desktop
,所以这里只有改成你第2个k8s集群名称即可。
current-context:your-k8s-cluster-name
这样就实现了所有配置,当初你能够通过kubectl命令查看第2个集群外面的内容了,如下所示:
➜ kubectl get po -nseaurlNAME READY STATUS RESTARTS AGEtest-seaurl-webapp-79996476f9-8q2sc 1/1 Running 0 6h42mtestapi-seaurl-account-service-748887ddc4-82rtw 1/1 Running 0 123dtestapi-seaurl-auth-service-754c5b4449-mw9jj 1/1 Running 0 123dtestapi-seaurl-gatewayserver-64488b6f58-hngbk 1/1 Running 0 123dtestapi-seaurl-message-service-6fb5c4f5cb-2jj59 1/1 Running 0 123dtestapi-seaurl-notify-service-5776846f6d-sqdjb 1/1 Running 0 90dtestapi-seaurl-space-service-5d6b5dc4ff-lhqv4 1/1 Running 0 12dtestapi-seaurl-users-service-7b7b6575d7-tnf4g 1/1 Running 0 3d23h
总结
1、合并k8s
的集群config
文件网上有好多办法,感觉这种是最简略了吧
援用
解决docker kubernetes始终处于starting状态问题
疾速合并2个kubectl config 文件
配置对多集群的拜访
主动合并Kubeconfig,实现多k8s集群切换