Skip to content

Latest commit

 

History

History
336 lines (279 loc) · 8.21 KB

02-节点管理.md

File metadata and controls

336 lines (279 loc) · 8.21 KB

添加节点

新节点信息

ip hostname OS kernel version role
192.168.56.15 node5 CentOS 7.4 4.20.13-1 etcd
192.168.56.16 node6 CentOS 7.4 4.20.13-1 master
192.168.56.17 node7 CentOS 7.4 4.20.13-1 worker
192.168.56.18 node8 CentOS 7.4 4.20.13-1 lb
192.168.56.19 node9 CentOS 7.4 4.20.13-1 lb

添加 worker 节点

  • 编辑原有主机清单文件,在 [all] 节点组中添加新节点信息

    [all]
    ...
    + node7 ansible_host=192.168.56.17 ansible_user=vagrant ansible_ssh_pass=vagrant
    ... 
  • [new-worker] 节点组中添加新节点信息

    ...
    [new-worker]
    + node7
    ...
  • 执行 worker 节点添加操作

    • 基本配置执行

      ansible-playbook -i example/hosts.m-master.ip.ini 81-add-worker.yml
      
    • 注意: 如果安装集群时使用高级配置,则使用该命令添加 worker 节点

      ansible-playbook -i example/hosts.m-master.ip.ini -e @example/variables.yaml 81-add-worker.yml
      

      example/hosts.m-master.ip.ini 文件中与 example/variables.yaml 参数冲突时, example/variables.yaml 文件中的变量值优先级最高。

  • 添加完成后,将 [new-worker] 节点组中新节点信息移动至 [kube-worker] 节点组

    ...
    [kube-worker]
    node1
    node2
    node3
    node4
    + node7
    ...
    [new-worker]
    - node7
    ...

删除 worker 角色

  • 此操作仅为移除 worker 角色操作,并不会完全将该节点移出集群;若需移出集群,请看本文 删除节点 操作

  • [del-worker] 节点组中添加需删除角色的节点信息

    ...
    [del-worker]
    + node7
    ...
  • 执行 worker 角色删除操作

    • 基本配置执行

      ansible-playbook -i example/hosts.m-master.ip.ini 84-remove-worker.yml
      
    • 注意: 如果安装集群时使用高级配置,则使用该命令删除 worker 角色

      ansible-playbook -i example/hosts.m-master.ip.ini -e @example/variables.yaml 84-remove-worker.yml
      

      example/hosts.m-master.ip.ini 文件中与 example/variables.yaml 参数冲突时, example/variables.yaml 文件中的变量值优先级最高。

  • 删除完成后,更新 [del-worker] 节点组以及 [kube-worker] 节点组

    ...
    [kube-worker]
    node1
    node2
    node3
    node4
    - node7
    ...
    [del-worker]
    - node7
    ...

添加 master 节点

  • 编辑原有主机清单文件,在 [all] 节点组中添加新节点信息

    [all]
    ...
    + node6 ansible_host=192.168.56.16 ansible_user=vagrant ansible_ssh_pass=vagrant
    ... 
  • [new-master] 节点组中添加新节点信息

    ...
    [new-master]
    + node6
    ...
  • 执行 master 节点添加操作

    • 基本配置执行

      ansible-playbook -i example/hosts.m-master.ip.ini 82-add-master.yml
      
    • 注意: 如果安装集群时使用高级配置,则使用该命令添加 master 节点

      ansible-playbook -i example/hosts.m-master.ip.ini -e @example/variables.yaml 82-add-master.yml
      

      example/hosts.m-master.ip.ini 文件中与 example/variables.yaml 参数冲突时, example/variables.yaml 文件中的变量值优先级最高。

  • 添加完成后,将[new-master] 节点组中新节点信息移动至 [kube-master] 节点组

    ...
    [kube-master]
    node1
    node2
    node3
    + node6
    ...
    [new-master]
    - node6
    ...

删除 master 角色

  • 移除 master 角色,则该节点将转换为 worker 角色节点

  • [del-master] 节点组中添加需删除节点信息

    ...
    [del-master]
    + node6
    ...
  • 执行 master 节点删除操作

    • 基本配置执行

      ansible-playbook -i example/hosts.m-master.ip.ini 85-remove-master.yml
      
    • 注意: 如果安装集群时使用高级配置,则使用该命令删除 master 节点

      ansible-playbook -i example/hosts.m-master.ip.ini -e @example/variables.yaml 85-remove-master.yml
      

      example/hosts.m-master.ip.ini 文件中与 example/variables.yaml 参数冲突时, example/variables.yaml 文件中的变量值优先级最高。

  • 删除完成后,更新 [del-master][kube-master] 节点组以及 [kube-worker] 节点组

    ...
    [kube-master]
    node1
    node2
    node3
    - node6
    ...
    [kube-worker]
    node1
    node2
    node3
    + node6
    ...
    [del-master]
    - node6
    ...

添加 etcd 节点

注意: 同时只能添加一个 etcd 节点。

  • 编辑原有主机清单文件,在 [all] 节点组中添加新节点信息

    [all]
    ...
    + node5 ansible_host=192.168.56.15 ansible_user=vagrant ansible_ssh_pass=vagrant
    ... 
  • [new-etcd] 节点组中添加新节点信息

    ...
    [new-etcd]
    + node5
    ...
  • 执行 etcd 节点添加操作

    • 基本配置执行

      ansible-playbook -i example/hosts.m-master.ip.ini 83-add-etcd.yml
      
    • 注意: 如果安装集群时使用高级配置,则使用该命令添加 etcd 节点

      ansible-playbook -i example/hosts.m-master.ip.ini -e @example/variables.yaml 83-add-etcd.yml
      

      example/hosts.m-master.ip.ini 文件中与 example/variables.yaml 参数冲突时, example/variables.yaml 文件中的变量值优先级最高。

  • 添加完成后,将[new-etcd] 节点组中新节点信息移动至 [etcd] 节点组

    ...
    [etcd]
    node1
    node2
    node3
    + node5
    ...
    [new-etcd]
    - node5
    ...

删除 etcd 角色

  • [del-etcd] 节点组中添加需删除节点信息

    ...
    [del-etcd]
    + node1
    ...
  • 执行 etcd 节点删除操作

    • 基本配置执行

      ansible-playbook -i example/hosts.m-master.ip.ini 86-remove-etcd.yml
      
    • 注意: 如果安装集群时使用高级配置,则使用该命令删除 etcd 节点

      ansible-playbook -i example/hosts.m-master.ip.ini -e @example/variables.yaml 86-remove-etcd.yml
      

      example/hosts.m-master.ip.ini 文件中与 example/variables.yaml 参数冲突时, example/variables.yaml 文件中的变量值优先级最高。

  • 删除完成后,更新 [del-etcd] 节点组以及 [etcd] 节点组

    ...
    [etcd]
    - node1
    node2
    node3
    node5
    ...
    [del-etcd]
    - node1
    ...

增加/删除 lb 节点

  • 添加或删除 lb 节点都按下面方式进行,维护好节点组信息即可

  • [lb] 节点组中添加或删除节点信息

    ...
    [lb]
    + node8
    + node9
    ...
  • 执行 lb 节点添加或删除操作

    • 基本配置执行

      ansible-playbook -i example/hosts.m-master.ip.ini 04-load-balancer.yml
      
    • 注意: 如果安装集群时使用高级配置,则使用该命令删除 etcd 节点

      ansible-playbook -i example/hosts.m-master.ip.ini -e @example/variables.yaml 04-load-balancer.yml
      

      example/hosts.m-master.ip.ini 文件中与 example/variables.yaml 参数冲突时, example/variables.yaml 文件中的变量值优先级最高。

删除节点

  • 此为完全移除节点操作,操作前请先移除该节点所有角色。

  • [del-node] 节点组中添加需删除节点的信息

    ...
    [del-node]
    + node1
    ...
  • 执行节点删除操作

    • 基本配置执行

      ansible-playbook -i example/hosts.m-master.ip.ini 87-remove-node.yml
      
    • 注意: 如果安装集群时使用高级配置,则使用该命令删除 etcd 节点

      ansible-playbook -i example/hosts.m-master.ip.ini -e @example/variables.yaml 87-remove-node.yml
      

      example/hosts.m-master.ip.ini 文件中与 example/variables.yaml 参数冲突时, example/variables.yaml 文件中的变量值优先级最高。

  • 删除完成后,更新 [kube-worker] 节点组以及 [del-node] 节点组

    ...
    [kube-worker]
    - node1
    node2
    node3
    node5
    ...
    [del-node]
    - node1
    ...