zoukankan      html  css  js  c++  java
  • SaltStack说明文档

    SaltStack说明文档

    master安装

    # 安装
    yum -y install salt-master salt-minion salt-ssh
    # 启动
    systemctl start salt-master salt-minion
    

    master管理端配置

    vim /etc/salt/master
    #保存以下配置文件即可
    interface: 0.0.0.0
    file_recv: True
    file_roots:
      base:
        - /srv/salt/
    pillar_roots:
      base:
        - /srv/pillar
    nodegroups:
      kaifa: 'E@kaifa_*'
      test: 'L@test_0001,test_0002'
    

    认证成功的minion文件路径:/etc/salt/pki/master/minions

    minion被管理端配置

    # 安装
    yum -y install salt-minion
    # 将master ip添加到hosts
    sed -i 's/#master:.*/master: MASTER_IP/' /etc/salt/minion
    # 设置minion标识,设置为ip地址
    sed -i 's/#id:.*/id: MINION_HostName/' /etc/salt/minion
    # 启动
    systemctl restart salt-minion
    

    master主机上执行认证

    salt-key -L
    salt-key -A -y  
    # 删除单个主机
    salt-key -d minion_name
    # 删除所有认证主机
    salt-key -D
    # 被删除minion主机重新认证
    rm -f /etc/salt/pki/minion/minion.*
    systemctl restart salt-minion
    # 检查master主机是否能正常在minion上执行命令
    salt '*' test.ping
    

    salt常用命令说明

    salt '' [arguments]
    target: 执行salt命令的目标,可以使用正则表达式
    function: 方法,由module提供
    arguments: function的参数

    target常用表达式

    # 1. 正则表达式
    salt -E 'Minion*' test.ping
    salt -E 'aaa*|.*bbb*|ccc-*' cmd.run test.ping
    # 2. 列表匹配
    salt -L Minion,Minion1 test.ping
    # 3. Grians匹配
    salt -G 'os:CentOS' test.ping
    # 4. 组匹配
    salt -N groups test.ping
    # 5. CIDR匹配
    salt -S '127.0.0.1' test.ping
    salt -S '10.252.0.0/16' test.ping
    salt -S '10.252.137.0/24' test.ping
    # 6. 复合匹配
    salt -C 'G@os:CentOS or L@Minion' test.ping
    

    function常用表达式

    salt '*' cmd.run "hostname'"
    salt '*' cmd.script salt://scripts/runme.sh
    salt '*' cmd.script salt://scripts/runme.sh 'arg1 arg2 arg3'
    

    salt 传送文件

    salt传输文件、文件夹的固定目录为: /srv/salt/

    # 传送文件 (mkdirs可选参数,目录不存在,自动创建)
    salt "*" cp.get_file salt://iplist /home/iplist makedirs=True
    # 传送目录
    salt "*" cp.get_dir salt://abc/ home/
    

    salt 远程执行脚本

    • 可将脚本分发到远程服务器,再通过cmd.run命令执行
    • master服务器执行
    salt "*" cmd.script salt://test.sh
    

    cp.push 模块使用

    允许minion上传文件到master端
    注意事项:
    cp.push功能默认不开启,需要修改配置文件中的file_recv环境
    vim /etc/salt/master
    file_recv参数默认为False,修改为True

    # 上传的文件存放在master端的/var/cache/salt/master/minions/<minion_id>/files/目录下
    salt "*" cp.push /data/backup/DB_$(date +"%Y%m%d").sql
    

    salt-ssh 使用

    # 不允许安装minion或不用长期管理某台minion
    # 安装
    yum -y install salt-ssh
    # 配置文件
    vim /etc/salt/roster
    cat /etc/salt/roster
    linux-node1.example.com:
      host: 192.168.56.11
      port: 22
      user: root
      passwd: 
    
    linux-node2.example.com:
      host: 192.168.56.12
      port: 22
      user: root
      passwd: 98Vs
    
    salt-ssh '*' test.ping
    salt-ssh -i --roster-file=roster 'Minion' test.ping
    # -r 参数执行shell命令
    salt-ssh -i --roster-file=roster 'Minion' -r "hostname"
    
  • 相关阅读:
    lombok的介绍及使用
    java后端导入excel将数据写入数据库
    java后端导出excel表格
    eclipse maven打war包
    java后端树形菜单使用递归方法
    mybatis一对多查询
    @transactional作用和事务
    zookeeper安装
    Solr单机版安装
    jstat 简介(2)
  • 原文地址:https://www.cnblogs.com/Mrhuangrui/p/8659286.html
Copyright © 2011-2022 走看看