首页 > 代码库 > SaltStack(二) 安装使用

SaltStack(二) 安装使用

SaltStack 安装 

  1、安装环境

 [root@salt-server ~]# uname -a
 Linux salt-server 2.6.32-642.el6.x86_64
 [root@salt-server ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)    

  2、安装指定epel源

rpm -Uvh http://mirrors.yun-idc.com/epel/6Server/x86_64/epel-release-6-8.noarch.rpm   

  3、安装SaltStack       

安装master
    yum -y install salt-master
安装minion
    yum -y install salt-minion

  4、Salt相关配置文件

    master端   

          /etc/salt/master #配置文件
                /var/log/salt/master #日志文件
                /etc/init.d/salt-master #启动文件
                
                以下是Master端常用的配置:/etc/salt/master
                    interface:指定bind的地址,默认为0.0.0.0
                    publish_port:指定发布端口,默认为4505
                    ret_port:指定结果返回端口,与minion配置文件中的master_port对应,默认为4506
                    uesr:指定master进程的运行用户,如果调整,则需要调整部分目录的权限,默认权限为root
                    timeout:指定timeout时间,如果minion规模庞大或?络状况不好,建议增?该值,默认5s
                    keep_jobs:默认情况下,minion会执行结果会返回master,master会缓存到本地的cachedir目录,该参数指定缓存多长时间,以供查看之前的执行结果,会占用磁盘空间,默认为24h
                    job_cache:master是否缓存执行结构,如果规模庞大(超过5000台),建议使用其他方式来存储jobs,关闭本选项,默认为True
                    file_recv:是否允许minion传送文件到master上,默认是Flase
                    file_roots:指定file server目录,默认为:
                        file_roots:    
                           base:    
                            - /srv/salt
                    pillar_roots:指定pillar目录,默认为:
                        pillar_roots:     
                            base:     
                             - /srv/pillar
                    log_level:执行日志级别,支持的日志级别由garbage, trace, debug, info, warning, error, ‘critical ’ ,默认为’warning’

    Minion端   

          /etc/salt/minion #配置文件
                /etc/init.d/salt-minion #启动文件
                Minion常用配置
                    master:指定master主机,默认为salt
                    mastar_port:指定认证和执行结果发送到master的哪个端口,与master配置文件中的ret_port对应,默认为4506
                    id:指定minion的标识,Salt内部使用id作为标识,默认为主机名
                    user:指定运行minion的用户,由于安装包,启动服务等操作需要特殊用户,推荐使用root,默认为root
                    cache_jobs:minion是否缓存执行结果,默认为False
                    backuo_mode:在文件操作(file.managed或file.recurse)时,如果文件发送更改,指定备份目录,当前有效的值为minion,备份在cachedir/file_backups目录下,以原始文件名称加时间戳来命名,默认为Disabled
                    providers:指定模块对应的providers,如果RHRL系列中,pkg对应的providers是yumpkg5
                    renderer:指定配置管理系统中的渲染器,默认值为:yaml_jinja
                    file_client:指定file client默认去哪里(remotr或local)寻找文件,默认值为remote
                    loglevel:指定日志级别,默认为warnning
                    tcp_keepalive:minion是否与master保持keepalive检查,zeromq3一下版本存在keepalive bug,会导致某些情况下链接异常后minion无法重连master,建议有条件的话吧zeromq3以上版本,默认为True
                修改minion配置文件
                    vim /etc/salt/minion
                    master: salt #可以指定主机名或域名(需要在hosts中配置解析),可以直接配置IP,强烈建议配置主机名或IP。
                    id:唯一标识符,默认为主机名。

  5、SaltStack认证

        Salt的数据传输是通过AES加密的,Master和Minion之间在通信之前,需要进行认证,通过认证的方式保证安全性,完成一次认证后,Master就可以自由的控制Minion来完成各项工作了,了解了认证的详细有助于我们在日常管理中管理Minion,已经及时处理问题。
            1、minion在第一次启动时,会在/etc/salt/pki/minion/下自动生成minion.pem(private key)和minion.pub(public key),然后将minion.pub发送给master。
            2、master在第一次启动时,会在/etc/salt/pki/master下自动生成master.pem。在接收到minion的public key后,通过salt-key命令accept minion public key,这样在master的/etc/salt/pki/master/minions下的将会存放以minion id命名的public key,客户端会保存一份master的public key,在/etc/salt/pki/minion_master.pub
            3、通过两个步骤的验证,master就能对minion发送指令了。            

  6、Master端key认证       

        在上面一个小节已经提到了Master与Minion的认证方式,只有Master接受了Minion的Key后,才能进行管理。具体的认证命令为salt-key,常用的有如下命令。
      

 salt-key        
            -a          #添加指定id
            -A          #添加全部
            -r          #拒绝指定id
            -R          #拒绝全部
            -d          #删除指定id
            -D          #删除全部
            -y          #去除每步操作确认的一步。
        例如:
            查看需要认证的minion
                [root@salt-server ~]# salt-key
                Accepted Keys:
                salt-client
                Denied Keys:
                Unaccepted Keys:
                Rejected Keys:
            认证Minion:
                salt-key -a salt-client
        
        提示:无论是accept还是delete都支持Linux的shell通配符。

SaltStack(二) 安装使用