【Kubernetes】k8s多集群切换【含上下文作用详解】【含6443端口不可达处理方法】

  • 如下图,一个集群有一个master和node节点

他们之间本身是没有任何关系的。

如下,我创建了2个集群,并且全部开机。

在这里插入图片描述

  • 每个集群都是独立的提供服务,两者互不关联,一般情况, 我们管理多个集群都是通过ssh登陆到某一集群的master节点上做相关操作

做了多集群以后,就可以在某一master节点上管理另外的master节点,不用ssh登陆了。

  • 我这2个集群配置是完全一样的,除了ip不一样,我下面就以这2个节点做出说明

主机名和ip如下

#集群1

[root@master ~]# kubectl get nodes

NAME STATUS ROLES AGE VERSION

master Ready control-plane,master 5d2h v1.21.0

node1 Ready 5d2h v1.21.0

node2 Ready 5d1h v1.21.0

[root@master ~]#

[root@master ~]# ip a | grep 59

inet 192.168.59.142/24 brd 192.168.59.255 scope global noprefixroute dynamic ens33

[root@master ~]#

[root@master ~]# hostname

master

[root@master ~]#

#集群2

[root@master2 ~]# kubectl get node

NAME STATUS ROLES AGE VERSION

master Ready control-plane,master 5d2h v1.21.0

node1 Ready 5d2h v1.21.0

node2 Ready 5d1h v1.21.0

[root@master2 ~]#

[root@master2 ~]# ip a | grep 59

inet 192.168.59.151/24 brd 192.168.59.255 scope global noprefixroute ens33

[root@master2 ~]#

[root@master2 ~]# hostname

master2

[root@master2 ~]#

kubeconfig文件内容编写【master节点操作】

===========================================================================================

  • 默认的kubeconfig文件是 :~./kube/config

  • 查看现在kubeconfig文件命令:kubectl config view

[root@master .kube]# kubectl config view

apiVersion: v1

clusters:

  • cluster:

certificate-authority-data: DATA+OMITTED

server: https://192.168.59.142:6443

name: kubernetes

contexts:

  • context:

cluster: kubernetes

namespace: default

user: kubernetes-admin

name: kubernetes-admin@kubernetes

current-context: kubernetes-admin@kubernetes

kind: Config

preferences: {}

users:

  • name: kubernetes-admin

user:

client-certificate-data: REDACTED

client-key-data: REDACTED

[root@master .kube]#

单集群配置文件修改


  • 就是想修改当前集群的信息。

  • 配置文件就是~./kube/config,里面的代码解释见下面的方式一,修改方法也和方式一是一摸一样的,只是留一个集群信息而已。

方式一【手动编辑】


文件备份

  • 这个是最原始的方法,直接通过编辑配置文件实现,做这个操作的时候,务必要备份一下这个文件【key在这里面】。

[root@master ~]# cd .kube/

[root@master .kube]# cp config config.bak

[root@master .kube]#

config文件代码解释【上下文详细解释】

  • 备份完以后我们就直接编辑:~./kube/config文件

为了方便编辑,进入以后,建议将3个key都删了,得到下面这样清爽的文件内容【不删的话key内容太多,影响操作】

为了方便理解,我直接在下面代码后面加注释,认真看,每行代码的作用都说清楚了【下面是文件原生代码,未进行任何修改,只做解释】

1 apiVersion: v1

2 clusters: # 这个意思是需要连接到哪个集群【下面3-6行为一组】,需要添加多少新集群,就复制3-6行添加到6行下面并修改相关信息

3 - cluster: # 集群开头【3-6行为一组】

4 certificate-authority-data: #这个是key,后面会说查看方式的

5 server: https://192.168.59.142:6443 #这个集群的master节点ip

6 name: kubernetes #集群名称,可以自定义

7 contexts:#上下文,将上面的集群【clusters】和下面的用户【users】绑定在一起【未绑定前他们是相互独立的】

8 - context: #上下文开头【8-12行为一组】,有多少集群添加多少上下文,放12行下面

9 cluster: kubernetes #这个是上面cluster的name

10 namespace: default #所处命名空间【可以不用修改的】

11 user: kubernetes-admin #这个是下面user的name

12 name: kubernetes-admin@kubernetes # 这个上下文名称可以自定义

13 current-context: kubernetes-admin@kubernetes # 这个是默认上下文名称【cluster的name】【比如有多个集群,使用哪个上下文,就默认在哪个集群下】

14 kind: Config

15 preferences: {}

16 users: # 这指定用户信息【下面17-20为一组】,有多少集群添加多少用户【复制内容放20行下面】

17 - name: kubernetes-admin # 用户名称可以自定义

18 user:

19 client-certificate-data: #这个是key,后面会说查看方式的

20 client-key-data:#这个是key,后面会说查看方式的

config代码编辑

根据上面的解释,做好相关编辑,下面是我配置好的代码

[root@master .kube]# vim config

1 apiVersion: v1

2 clusters:

3 - cluster:

4 certificate-authority-data:

5 server: https://192.168.59.142:6443

6 name: master

7 - cluster:

8 certificate-authority-data:

9 server: https://192.168.59.151:6443

10 name: master1

11 contexts:

12 - context:

13 cluster: master

14 namespace: default

15 user: ccx

16 name: context

17 - context:

18 cluster: master1

19 namespace: default

20 user: ccx1

21 name: context1

22 current-context: context

23 kind: Config

24 preferences: {}

25 u

  • 13
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值