美文网首页
saltstack安装及详解

saltstack安装及详解

作者: hugoren | 来源:发表于2018-06-12 17:55 被阅读0次
    官方指南

    https://docs.saltstack.com/en/2016.11/topics/installation/rhel.html#installation-rhel-repo

    要求

     版本 20150510 
    

    安装方式

    yum 安装
    • 设置阿里yum源
     wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    
    • 安装epel
    yum install -y epel-release
    
    • 安装指定salt的版本
    yum install -y salt-minion-2015.5.10-2.el7.noarch
    

    关于版本查找,请搜阿里源
    https://opsx.alibaba.com/mirror?lang=zh-cn

    手动安装
     salt 官网下载 20150510的客户端包
    
    修改salt配置
        vi /etc/salt/minion
        master: 192.168.6.23 # master ip
        id: 192.168.6.24 #客户端ip 
        root_dir: /
        pki_dir: /etc/salt/pki/minion
        ipc_mode: ipc
        multiprocessing: False
    
    启动salt-minion
     systemctl start salt-minion
    

    RHEL/CentOS下安装SaltStack

    对于Centos和RedHat用户,使用yum安装时最直接和快捷的。首先需要安装EPEL仓库。

       yum -y install epel-release
    
    Salt Master安装
    [root@master ~]#yum install -y salt-master python-setproctitle
    
    
    Salt Master启动
    [root@master ~]#/etc/init.d/salt-master start
    或
    [root@master ~]#systemctl start salt-master
    
    
    Salt Master加入开机启动
    [root@master ~]# chkconfig salt-master on
    或
    [root@master ~]# systemctl enable salt-master
    
    
    Salt Minion安装
    [root@minion ~]#yum install -y salt-minion
    
    
    Salt Minion 启动
    [root@minion ~]#/etc/init.d/salt-minion start
    或
    [root@minion ~]#systemctl start salt-minion
    
    
    Salt Minion 加入开机启动
    [root@minion ~]#chkconfig salt-minion on
    或
    [root@minion ~]#systemctl enable salt-minion
    
    
    服务端日志
    [root@master ~]# tail -f /var/log/salt/master
    
    
    客户端日志:
    [root@minion ~]# tail -f /var/log/salt/minion
    
    

    Ubuntu下安装SaltStack

    添加salt仓库
    sudo add-apt-repository ppa:saltstack/salt     
    sudo apt-get update    
    
    
    安装master
    sudo apt-get install salt-master    
    
    
    安装minion
    sudo apt-get install salt-minion
    
    

    Salt配置文件

    Salt Master配置

    Master端的配置是修改/etc/salt下master配置文件。以下是Master端常用的配置。

    interface:  指定bind 的地址(默认为0.0.0.0)
    publish_port:  指定发布端⼝(默认为4505)
    ret_port:  指定结果返回端⼝,  与minion配置⽂件中的master_port对应(默认为4506)
    user: 指定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’)
    
    
    Salt Minion配置

    Minion端配置非常简单,一般只需要修改两个配置即可。

    [root@minion ~]# vim /etc/salt/minion
    master: 192.168.56.111 (修改master为master的IP地址)
    id: (客户端的id。默认不设置会取客户端的FQDN主机名)
    
    
    Minion常用配置
    master: 指定master 主机(默认为salt)
    master_port: 指定认证和执⾏结果发送到master 的哪个端⼝,  与master 配置⽂件中的ret_port 对应(默认
    为4506)
    id:  指定本minion的标识. salt内部使⽤id 作为标识(默认为主机名)
    user: 指定运⾏minion的⽤户.  由于安装包,启动服务等操作需要特权⽤户,  推荐使⽤root( 默认为root)
    cache_jobs : minion 是否缓存执⾏结果(默认为False)
    backup_mode:  在⽂件操作(file.managed 或file.recurse) 时,  如果⽂件发⽣变更,指定备份⺫标.  当前有效
    的值为minion, 备份在cachedir/file_backups⺫录下,  以原始⽂件名称加时间戳来命名(默认为Disabled)
    providers :  指定模块对应的providers, 如在RHEL系列中, pkg对应的providers 是yumpkg5
    renderer: 指定配置管理系统中的渲染器(默认值为:yaml_jinja )
    file_client :  指定file clinet 默认去哪⾥(remote 或local) 寻找⽂件(默认值为remote)
    loglevel:  指定⽇志级别(默认为warning)
    tcp_keepalive : minion 是否与master 保持keepalive 检查, zeromq3 以下版本存在keepalive bug,会导致某些情况下连接异常后minion⽆法重连master. 建议有条件的话升级到zeromq 3以上版本(默认为True)
    
    
    SaltStack认证

    Salt的数据传输是通过AES加密的,Master和Minion之间在通信之前,需要进行认证。通过认证的方式保证安全性,完成一次认证后,Master就可以自由的控制Minion来完成各项工作了。了解了认证的详细有助于我们在日常管理中管理Minion,已经及时处理问题。

    1. minion在第一次启动时,会在/etc/salt/pki/minion/(该路径在/etc/salt/minion里面设置)下自动生成minion.pem(private key)和minion.pub(public key),然后将minion.pub发送给master。
    2. master在第一次启动时,会在/etc/salt/pki/master下自动生成master.pemmaster.pub。在接收到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发送指令了。
    Master端Key认证

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

    -a ACCEPT, --accept=ACCEPT Accept the following key
    -A, --accept-all    Accept all pending keys
    -r REJECT, --reject=REJECT Reject the specified public key
    -R, --reject-all    Reject all pending keys
    -d DELETE, --delete=DELETE Delete the named key
    -D, --delete-all    Delete all keys
    
    
    例:查看需要认证的Minion:
    [root@master ~]# salt-key
    Accepted Keys:
    Unaccepted Keys:
    minion.example.com
    Rejected Keys:
    
    
    认证Minion:
    [root@master ~]# salt-key --accept=*
    The following keys are going to be accepted:
    Unaccepted Keys:
    minion.example.com
    Proceed? [n/Y] Y
    Key for minion minion.example.com accepted.
    
    

    相关文章

      网友评论

          本文标题:saltstack安装及详解

          本文链接:https://www.haomeiwen.com/subject/onsreftx.html