zoukankan      html  css  js  c++  java
  • 自动化运维工具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:被拒绝的公钥列表

  • 相关阅读:
    Leetcode NO.110 Balanced Binary Tree 平衡二叉树
    Leetcode NO.226 Invert Binary Tree 翻转二叉树
    Leetcode NO.215 Kth Largest Element In An Array 数组中的第K个最大元素
    根据特征的浏览器判断
    Cygwin在打开在当前目录
    【转帖】科学对待 健康养猫 打造快乐孕妇
    解决chrome浏览器安装扩展、应用程序一直处在“检查中”的问题
    对【SQL SERVER 分布式事务解决方案】的心得补充
    关于“点击这里继续访问您选择的百度XXX”
    VBA一例:如何保持文本框焦点
  • 原文地址:https://www.cnblogs.com/zclzhao/p/5025453.html
Copyright © 2011-2022 走看看