Skip to content

Latest commit

 

History

History
76 lines (60 loc) · 3.84 KB

01-集群安装.md

File metadata and controls

76 lines (60 loc) · 3.84 KB

集群安装

节点信息

ip hostname OS kernel version role
192.168.56.11 node1 CentOS 7.8 4.20.13-1 master etcd worker
192.168.56.12 node2 CentOS 7.8 4.20.13-1 master etcd worker
192.168.56.13 node3 CentOS 7.8 4.20.13-1 master etcd worker
192.168.56.14 node4 CentOS 7.8 4.20.13-1 worker

安装 Ansible 运行环境

  • Linux

    # 任意节点上安装 Ansible 运行环境
    sudo install-ansible.sh
    
  • MacOS

    brew install docs/homebrew-core/ansible.rb
    brew install docs/homebrew-core/sshpass.rb
    

集群规划

参考本项目 example 文件夹下的主机清单文件(ansible inventory),修改各机器的访问地址、用户名、密码,并维护好各节点与角色的关系。文件中配置的用户必须是具有 root 权限的用户。项目预定义了6个例子,请完成集群规划后进行修改,生产环境建议一个节点只是一个角色。

  • 搭建集群后有以下两种“样式”显示,请自行选择:
    • 样式一

      NAME            STATUS   ROLES                              AGE     VERSION
      192.168.56.11   Ready    control-plane,etcd,master,worker   7m25s   v1.20.1
      192.168.56.12   Ready    control-plane,etcd,master,worker   5m18s   v1.20.1
      192.168.56.13   Ready    control-plane,etcd,master,worker   5m18s   v1.20.1
      192.168.56.14   Ready    worker                             4m37s   v1.20.1
      
    • 样式二

      NAME    STATUS   ROLES                              AGE     VERSION
      node1   Ready    control-plane,etcd,master,worker   7m25s   v1.20.1
      node2   Ready    control-plane,etcd,master,worker   5m18s   v1.20.1
      node3   Ready    control-plane,etcd,master,worker   5m18s   v1.20.1
      node4   Ready    worker                             4m37s   v1.20.1
      
    • 对应的 ansible inventory 配置文件示例如下:

      节点分配 样式一 样式二
      单节点 hosts.allinone.ip hosts.allinone.hostname
      单主多节点 hosts.s-master.ip hosts.s-master.hostname
      多主多节点 hosts.m-master.ip hosts.m-master.hostname

部署集群

  • 可选: 升级内核,默认安装集群是不会升级内核的,若需升级内核,请执行(内核升级完成后请手动重启所有节点):

    ansible-playbook -i example/hosts.m-master.ip.ini 00-kernel.yml
    
  • 一句命令拥有一个高可用 kubernetes 集群:

    • 基本配置执行

      ansible-playbook -i example/hosts.m-master.ip.ini 90-init-cluster.yml
      
    • 高级配置执行,注意: 如果安装集群时使用高级配置则以后所有操作都需将 -e @example/variables.yaml 参数添加在 ansible-playbook 命令中

      ansible-playbook -i example/hosts.m-master.ip.ini -e @example/variables.yaml 90-init-cluster.yml
      
      1. 本项目所有可配置项都在 example/variables.yaml 文件中体现,需自定义配置时删除配置项前注释符即可。
      2. example/hosts.m-master.ip.ini 文件中与 example/variables.yaml 变量值冲突时, example/variables.yaml 文件中的变量值优先级最高。