老板们,点个关注吧。图片

图片

k8s集群是一成不变的吗?显然不是,随着我们系统业务的变动,相关节点肯定是要有增加和缩减的,那么我们如何给集群添加或者删除一些指定的节点呢?下面咱们来看看。

图片

集群节点类型

图片

PS:需要注意的是,不管新增还是修改,都别忘记修改hosts,下面每一步都需要修改该配置,就不单独写了,如下哈。

[root@node1 kubespray-2.18.0]# vim inventory/mycluster/hosts.yaml
all:
  hosts:
    node1:
      ansible_host: 192.168.112.130
      ip: 192.168.112.130
      access_ip: 192.168.112.130
    node2:
      ansible_host: 192.168.112.131
      ip: 192.168.112.131
      access_ip: 192.168.112.131
    node3:
      ansible_host: 192.168.112.132
      ip: 192.168.112.132
      access_ip: 192.168.112.132

Master节点

1、增加一个master节点:

# 编辑host文件,需要在最开始安装的目录下尽心修改
[root@node1 kubespray-2.18.0]# pwd
/root/jier/kubespray-2.18.0
[root@node1 kubespray-2.18.0]# vim inventory/mycluster/hosts.yaml 
# 新增节点写到下面即可,例如新增node4,就在node2下面写node4即可
    kube_control_plane:
      hosts:
        node1:
        node2:
# 执行
[root@node1 kubespray-2.18.0]# ansible-playbook -i inventory/mycluster/hosts.yaml cluster.yml -b -v
# 重启
[root@node1 kubespray-2.18.0]# crictl ps | grep -E "nginx|proxy"| awk '{print $1}' | xargs crictl restart

2、删除master节点

2.1 如果你删除的master节点是配置文件中的第一个节点,需要将配置下移,再重新运行一下cluster.yml,保持和2.2的状态一致,再操作,举例如下:

[root@node1 kubespray-2.18.0]# vim inventory/mycluster/hosts.yaml 
# 原状态
  children:
    kube_control_plane:
      hosts:
        node1:
        node2:
        node3:
# 需要改成下面的样子
  children:
    kube_control_plane:
      hosts:
        node2:
        node3:
        node1:
# 生效
[root@node1 kubespray-2.18.0]# ansible-playbook -i inventory/mycluster/hosts.yaml -b cluster.yml

2.2 删除的master不是配置文件中的第一个节点,这种情况下不要直接修改配置文件,应该先使用命令删除节点之后,再修改配置文件:

# 比如移除master节点之node1
[root@node1 kubespray-2.18.0]# ansible-playbook -i inventory/mycluster/hosts.yaml remove-node.yml -b -v -e "node=node1"
# 修改配置文件,和现有集群保持一致
[root@node1 kubespray-2.18.0]# vim inventory/mycluster/hosts.yaml 
# 原配置文件
  children:
    kube_control_plane:
      hosts:
        node2:
        node3:
        node1:
# 需要改成
  children:
    kube_control_plane:
      hosts:
        node2:
        node3:
[root@node1 kubespray-2.18.0]#

Worker节点

1、增加worker节点

# 刷新缓存
[root@node1 kubespray-2.18.0]# ansible-playbook -i inventory/mycluster/hosts.yaml facts.yml -b -v
# 编辑配置文件
[root@node1 kubespray-2.18.0]# vim inventory/mycluster/hosts.yaml 
# 原配置
    kube_node:
      hosts:
        node1:
        node2:
        node3:
# 需要改成
    kube_node:
      hosts:
        node1:
        node2:
        node3:
        node4:
# 生效
[root@node1 kubespray-2.18.0]# ansible-playbook -i inventory/mycluster/hosts.yaml scale.yml --limit=node4 -b -v

2、删除worker节点

剩余内容请转至VX公众号 “运维家” ,回复 “119” 查看。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐