zoukankan      html  css  js  c++  java
  • 原创-实用salt部署文档(持续更新)

    检测存活性:

    salt 主机名 test.ping 

    批量检测存活性:

    salt -L '主机名1 主机名2..' test.ping

    执行单句命令

    salt 主机名 cmd.run '执行命令'

    执行某个sls文件

    salt 主机名 state.sls salt下相对路径/目标文件名(不带sls后缀)

     ---传输文件及文件权限

    abcd:(注释)
    file.managed:(使用文件管理功能)
    - source: salt://A/B/C.sh(存放在/srv/salt下的目录)
    - name: /usr/local/A/B.sh(需要传输的目标目录)
    - mode: 0755(文件权限)

    ---执行命令

    cmd.run:
    - name: sh /usr/local/A/B.sh 

    ---crontab设置

    abcd:(注释)
    cron.present:(使用cron功能)
    - name: /usr/local/A/B/C/D.sh monitor > /tmp/monitorA.log 2>&1(crontab语句)
    - identifier: go-node-proxy monitor(注释)
    - user: xladm(crontab用户)

    (默认一分钟一次)

    abcd:(注释)
    cron.present:(使用cron功能)
    - name: /usr/local/A/B/C/D.sh monitor > /tmp/monitorA.log 2>&1(crontab语句)
    - identifier: go-node-proxy monitor(注释)
    - user: xladm(crontab用户) 

    - minute: '*/10'(每10分钟执行一次)

    - minute: '1'
    - hour: '1'
    - daymonth: '1'

    ---循环执行多个rpm包

    {% for pkg in ["kernel-ml-5.6.5-1.el7.elrepo.x86_64.rpm","kernel-ml-devel-5.6.5-1.el7.elrepo.x86_64.rpm"]%}
    {{ pkg }}:
    file.managed:
    - name: /usr/local/src/{{ pkg }}
    - source: salt://A/files/kernel/{{ pkg }}
    cmd.run:
    - cwd: /usr/local/src/
    - name: rpm -ivh {{ pkg }}
    {% endfor %}

    ---文件夹传输及保持各项属性

    /usr/local/A/B:(在配置中如果没有name的情况下,注释这里作为目标路径)
    file.recurse:
    - source: salt://A/files/B
    - user: C
    - group: C
    - file_mode: 0755
    - makedirs: Ture
    - include_empty: True
    - keep_symlinks: True

    传输过去以C用户为属性,0755,允许空文件夹并创建文件夹,保持软连接。

    ---创建文件夹

    /data1/logs/A:
    file.directory:
    - user: C
    - group: C
    - mode: 755
    - makedirs: Ture (目录不存在则创建)
    - recurse:
    - user
    - group
    - mode

    ---创建软连接

    /usr/local/A/B/C:(创建这个软连接文件指向target路径)
    file.symlink:
    - mode: 0755
    - target: /data1/logs/A
    - force: true
    - user: xladm
    - group: xladm
    - onlyif: test -d /data1/logs/A (首先测试文件是否存在,当判断为真执行。)

    ---以某身份执行命令

    start:(注释)
    cmd.run:
    - name: /usr/local/A.sh start
    - runas: xladm

    ---修改内核参数

    net.ipv4.tcp_sack:
    sysctl.present:
    - value: 1

    net.ipv4.tcp_dsack:
    sysctl.present:
    - value: 1

    net.core.default_qdisc:
    sysctl.present:
    - value: fq

    net.ipv4.tcp_congestion_control:
    sysctl.present:
    - value: bbr

    net.ipv4.tcp_fack:
    sysctl.present:
    - value: 1

    net.ipv4.tcp_fastopen:
    sysctl.present:
    - value: 1

    ---设置变量传参

    {% set sql_file = 'ABCD'%}

    copy_sql:
    file.managed:
    - name: /tmp/{{ sql_file }}
    - source: salt://A/mysql/files/{{ sql_file }}
    - mode: 0755

    ---用判断语句使变量传入不同的值

    {% set hostname = grains.id %}
    {% if 'a05' in hostname %}
    {% set host = 'A'%}
    {% elif 'a03' in hostname %}
    {% set host = 'B'%}
    {% elif 'al02' in hostname %}
    {% set host = 'C'%}

    ---修改iptables

    allow_ABCD:(注释)
    iptables.insert:
    - position: 1
    - table: filter
    - chain: RH-Firewall-1-INPUT
    - jump: ACCEPT
    - match:
    - state
    - connstate: NEW
    - source: '114.114.114.114,114.114.115.115'
    - dport: 9004:9005
    - protocol: tcp
    - sport: 1025:65535
    - save: True

    ---删除计划任务

    chown -R A:A /data1/:
    cron.absent:
    - user: xladm
    - name: chown -R A:A /data1/

    ---判断文件存在再执行

    test-onlyif:

    cmd.run:

      - name: mkdir /tmp/onlyif

      - onlyif: test -f /tmp/onlyif.txt

  • 相关阅读:
    JavaScript访问ab页面定时跳转代码
    http协议相关-待续
    curl发送get和post请求
    Java入门——动态网页jsp(jdk下载和配置环境变量)
    LeetCode:Best Time to Buy and Sell Stock
    LeetCode:Reverse Integer
    LeetCode:Same Tree
    LeetCode:Single Number II
    LeetCode:Single Number
    LeetCode:Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/normanlin/p/14208402.html
Copyright © 2011-2022 走看看