• 自动化运维工具SaltStack安装配置



    SaltStack是一种全新的基础设置管理方式,部署轻松,在几分钟内可运作起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。

    特性:
    (1)、部署简单、方便;
    (2)、支持大部分UNIX/Linux及Windows环境;
    (3)、主从集中化管理;
    (4)、配置简单、功能强大、扩展性强;
    (5)、主控端(master)和被控端(minion)基于证书认证,安全可靠;
    (6)、支持API及自定义模块,可通过Python轻松扩展。

    一、安装:
    Salt-master: 192.168.12.22   soft:salt-master
    Salt-minion01:192.168.12.25  soft:salt-minion

    12.22操作

    1、此次安装SaltStack采用yum安装方式,所以需要借助第三方yum源(epel和rpmforge)
    rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    sed -i 's@^#@@' /etc/yum.repos.d/epel.repo
    sed -i 's@mirrorlist@#mirrorlist@' /etc/yum.repos.d/epel.reporpm -Uvh
    http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

    2、安装依赖包
    yum -y install python-jinja2

    3、将以上操作在12.25上操作一遍

    4、12.22安装SaltStack包
    yum -y install salt-master

    5、12.25安装yum -y install salt-minion

    二、配置SaltStack
    1、vim /etc/salt/master
    interface: 192.168.12.22    绑定Master通信IP
    auto_accept: True            自动认证,避免手动运行salt-key来确认证书信任
    file_roots:                    指定saltstack文件根目录位置
       base:
         - /srv/salt/

    2、更新被控端配置(12.25)
    vim /etc/salt/minion
    master: 192.168.12.22
    id: lvs-web1

    三、启动SaltStack服务

    1、服务端启动salt-master服务(12.22)
    chkconfig salt-master on
    /etc/init.d/salt-master start

    2、被控端启动salt-minion服务(12.25)
    chkconfig salt-minion on
    /etc/init.d/salt-minion start

    四、在master端查看公钥列表
    1、12.22操作
    salt-key -L

    Accepted Keys:
    lvs-web1
    Denied Keys:
    Unaccepted Keys:
    Rejected Keys:

    2、测试被控主机的连通性、硬盘的使用率、网络接口地址
    测试被控主机(12.25)的连通性、硬盘的使用率、网络接口地址
    salt '*' test.ping
    lvs-web1:
        True

        salt '*' disk.usage
    lvs-web1:
        ----------
        /:
            ----------
            1K-blocks:
                10190136
            available:
                7409352
            capacity:
                24%
            filesystem:
                /dev/sda2
            used:
                2256496
        /boot:
            ----------
            1K-blocks:
                514760
            available:
                456932
            capacity:
                7%
            filesystem:
                /dev/sda1
            used:
                30848
        /cacti:
            ----------
            1K-blocks:
                20026236
            available:
                17443668
            capacity:
                9%
            filesystem:
                /dev/sda5
            used:
                1558620
        /dev/shm:
            ----------
            1K-blocks:
                1962184
            available:
                1962172
            capacity:
                1%
            filesystem:
                tmpfs
            used:
                12

    salt '*' network.interfaces
    lvs-web1:
        ----------
        eth1:
            ----------
            hwaddr:
                a6:95:ca:8a:6b:42
            inet:
                |_
                  ----------
                  address:
                      192.168.12.25
                  broadcast:
                      192.168.12.255
                  label:
                      eth1
                  netmask:
                      255.255.255.0
            inet6:
                |_
                  ----------
                  address:
                      fe80::a495:caff:fe8a:6b42
                  prefixlen:
                      64
                  scope:
                      link
            up:
                True
        lo:
            ----------
            hwaddr:
                00:00:00:00:00:00
            inet:
                |_
                  ----------
                  address:
                      127.0.0.1
                  broadcast:
                      None
                  label:
                      lo
                  netmask:
                      255.0.0.0
            inet6:
                |_
                  ----------
                  address:
                      ::1
                  prefixlen:
                      128
                  scope:
                      host
            up:
                True

    3、远程执行命令测试
    (1)cmd模块包含的shell的输出在被控端,比如cmd.run and cmd.run_all

    salt '*' cmd.run date
    lvs-web1:
        Mon Dec  7 10:39:23 CST 2015

    salt '*' cmd.run uptime
    lvs-web1:
         10:39:56 up 18 days, 20:02,  4 users,  load average: 0.00, 0.00, 0.00

    alt '*' cmd.run 'df -h'
    lvs-web1:
        Filesystem      Size  Used Avail Use% Mounted on
        /dev/sda2       9.8G  2.2G  7.1G  24% /
        tmpfs           1.9G   12K  1.9G   1% /dev/shm
        /dev/sda1       503M   31M  447M   7% /boot
        /dev/sda5        20G  1.5G   17G   9% /cacti

    cmd.run 'ls -l /etc'
    lvs-web1:
        total 1552
        drwxr-xr-x.  5 root  root    4096 May 20  2015 ConsoleKit
        -rw-r--r--.  1 root  root    4439 Jul 16  2014 DIR_COLORS
        。。。。。。。    
        
    (2)pkg函数自动映射本地系统的包管理到salt函数
    salt '*' pkg.install vim
    lvs-web1:
        ----------
        vim-common:
            ----------
            new:
                7.4.629-5.el6
            old:
                7.2.411-1.8.el6
        vim-enhanced:
            ----------
            new:
                7.4.629-5.el6
            old:
                7.2.411-1.8.el6
        vim-filesystem:
            ----------
            new:
                7.4.629-5.el6
            old:

    五、salt-key参数

    1、salt-key常用选项

        -L, --list-all

          
    #显示已经或未认证的被控端id,Accepted Keys为已认证清单;Unaccepted Keys为未认证清单

        -a ACCEPT, --accept=ACCEPT

          
    #接受单个id证书请求

        -A, --accept-all

          
    #接受所有id证书请求

        -r REJECT, --reject=REJECT

    #拒绝指定的公钥

        -R, --reject-all

          
    #拒绝所有正在请求的公钥

        -d DELETE, --delete=DELETE

          
    #删除指定的公钥

        -D, --delete-all

          
    #删除所有的公钥

    2、salt-key返回信息

        Accepted Keys:接受的公钥列表或者是被控主机

        Unaccepted Keys:未被接受的公钥列表

        Rejected Keys:被拒绝的公钥列表

  • 相关阅读:
    [SHOI2015]脑洞治疗仪
    [SDOI2016]数字配对
    [SDOI2019]快速查询
    [HNOI2019]JOJO
    [TJOI2019]甲苯先生和大中锋的字符串
    [CQOI2017]老C的方块
    [CQOI2017] 小Q的表格
    [SHOI2012] 火柴游戏
    板子
    自我介绍
  • 原文地址:https://www.cnblogs.com/zclzhao/p/5025453.html
Copyright © 2020-2023  润新知