欢迎访问 SJsir 圣杰博客

A Linux operation and maintenance engineer's Blogs

Saltstack部署架构与安装

  Saltstack架构中最重要的角色是 Salt master 和 Salt minion,master是中央控制系统,minion是被管理的客户端。

1.Saltstack架构部署:

  Salt的两个主要设计理念是远程执行和配置管理。在远程执行系统中,Salt用Python通过函数调用来完成任务。Salt中的配置管理系统可以称作state,通过master的定义可以让对应的minion达到想要的系统状态。
  (1)部署架构:master –> minion

    master --> minion
    架构中的master和所有的minion都是直接连接
    minion结构来自master的指令,完成命令执行或配置管理

《Saltstack部署架构与安装》
  (2)部署架构:master –> syndic –> minion

    master --> syndic --> minion
    master通过syndic对minion进行管理,同时该架构可以进行多级扩展。

《Saltstack部署架构与安装》
  (3)部署架构:minion

    无 master 的 minion
    minion不受任何master控制,通过本地运行即可完成相关功能。

2.Saltstack安装:

  部署环境:
    Linux: CentOS 7.5.1804
    Salt:2018.3.2 (Oxygen)
    Python:2.7.5
  系统信息:
    master:192.168.1.143
    minion:192.168.1.181 / 182 / 118
  (1)master主控端安装与配置:

    A.配置Hosts文件:
        [root@master ~]# vim /etc/hosts
        127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
        ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
        192.168.1.143    master.sjsir.wang
        192.168.1.181    minion1.sjsir.wang
        192.168.1.182    minion2.sjsir.wang
        192.168.1.118    minion3.sjsir.wang
    B.安装Saltstack rpm镜像包:
        [root@master ~]# yum install -y https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
    C.安装Saltstack 安装Master:
        [root@master ~]# yum install -y salt-master
    D.修改master的配置文件:
        [root@master ~]# vim /etc/salt/master
        # 绑定Master通信IP:
        interface: 192.168.1.143
        #自动认证,避免手动运行salt-key来确认证书信任;
        auto_accept: True
        #制定Saltstack文件根目录位置;
        file_roots:
            base:
                - /srv/salt
    E.master启动与设置自启:
        [root@master ~]# systemctl start salt-master
        [root@master ~]# systemctl enable salt-master
        Created symlink from /etc/systemd/system/multi-user.target.wants/salt-master.service to /usr/lib/systemd/system/salt-master.service.
        [root@master ~]# ss -tnl
        State     Recv-Q Send-Q  Local Address:Port         Peer Address:Port
        LISTEN    0      128                 *:22                      *:*
        LISTEN    0      128     192.168.1.143:4505                    *:*
        LISTEN    0      100         127.0.0.1:25                      *:*
        LISTEN    0      128     192.168.1.143:4506                    *:*
        LISTEN    0      128                :::22                     :::*
        LISTEN    0      100               ::1:25                     :::*

  (2)minion被控端安装与配置:(分别对三台主机进行配置,以minion1为例)

    A.配置Hosts文件:
        [root@mminion1 ~]# vim /etc/hosts
        127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
        ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
        192.168.1.143    master.sjsir.wang
        192.168.1.181    minion1.sjsir.wang
        192.168.1.182    minion2.sjsir.wang
        192.168.1.118    minion3.sjsir.wang
    B.安装Saltstack rpm镜像包:
        [root@minion1 ~]# yum install -y https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
    C.安装Saltstack 安装Master:
        [root@minion1 ~]# yum install -y salt-minion
    D.修改minion的配置文件:
        [root@minion1 ~]# vim /etc/salt/minion
        #指定Master通信IP地址:
        master: 192.168.1.143
        #修改被控端主机识别id,建议使用操作系统主机名来配置,2 3 两台主机使用不同的名称。
        id: minion1
    E.minion启动与设置自启:
        [root@minion1 ~]# systemctl start salt-minion
        [root@minion1 ~]# systemctl status salt-minion
        ● salt-minion.service - The Salt Minion
           Loaded: loaded (/usr/lib/systemd/system/salt-minion.service; disabled; vendor preset: disabled)
           Active: active (running) since Thu 2018-07-05 14:27:45 CST; 11s ago
             Docs: man:salt-minion(1)
                   file:///usr/share/doc/salt/html/contents.html
                   https://docs.saltstack.com/en/latest/contents.html
         Main PID: 1136 (salt-minion)
           CGroup: /system.slice/salt-minion.service
                   ├─1136 /usr/bin/python /usr/bin/salt-minion
                   ├─1139 /usr/bin/python /usr/bin/salt-minion
                   └─1143 /usr/bin/python /usr/bin/salt-minion

        Jul 05 14:27:45 minion1.sjsir.wang systemd[1]: Starting The Salt Minion...
        Jul 05 14:27:45 minion1.sjsir.wang systemd[1]: Started The Salt Minion.
        [root@minion1 ~]# systemctl enable salt-minion
        Created symlink from /etc/systemd/system/multi-user.target.wants/salt-minion.service to /usr/lib/systemd/system/salt-minion.service.

  (3)master主控端,探测被控端是否在线:

        [root@master ~]# salt '*' test.ping
        minion1:
            True
        minion2:
            True
        minion3:
            True
点赞