zoukankan      html  css  js  c++  java
  • 使用Salt-ssh部署Salt-minion之yum安装(一)

    一、RPM安装篇

    使用salt-ssh功能要求客户端系统python版本2.6+

    1.salt-minion端环境:

      系统:CentOS 6.5 64bit

      python版本:2.6.6    

    2.配置/etc/salt/roster

    例:

    10.10.10.30:
      host: 10.10.10.30
      user: syspub    #普通用户,有无密码sudo权限
      passwd: 123456aa
      sudo: True
      timeout: 15

    当客户端数量较多时,手工配置/etc/salt/roster比较繁琐,这里写一个简单脚本供参考

    vim ip.sh
    #!/bin/bash
    for i in `cat /root/gg`
    do
            echo "$i:" >> /etc/salt/roster
            echo "  host: $i" >> /etc/salt/roster
            echo "  user: syspub" >> /etc/salt/roster
            echo "  passwd: 123456aa" >> /etc/salt/roster
            echo "  sudo: True" >> /etc/salt/roster
            echo "  timeout: 15" >> /etc/salt/roster
    done

    其中/root/gg为客户端IP表,例:

    10.10.10.30
    10.10.10.31
    10.10.10.32

    3.编写state.sls文件

    路径:/srv/salt/minions/

    目录树结构如下:

    |conf
    |---minion
    |install.sls
    |yum.repos.d          #yum源可自制本地源
    |---CentOS-Base.repo      
    |---epel.repo

    a.编写/srv/salt/minions/install.sls

    #salt_minion_install
    minion_yum:
      file.recurse:
        - name: /etc/yum.repos.d
        - source: salt://minions/yum.repos.d
        - user: root
        - group: root
        - file_mode: 644
        - dir_mode: 755
        - include_empty: True
    minion_install:
      pkg.installed:
        - pkgs:
          - salt-minion
        - require:
          - file: minion_yum
        - unless: rpm -qa | grep salt-minion
    minion_conf:
      file.managed:
        - name: /etc/salt/minion
        - source: salt://minions/conf/minion
        - user: root
        - group: root
        - mode: 640
        - template: jinja
        - defaults:
          minion_id: {{ grains['fqdn_ip4'][0] }}        #要求客户端/etc/hosts中绑定其IP及主机名,不绑定主机名在127.0.0.1
        - require:
          - pkg: minion_install
    minion_service:
      service.running:
        - name: salt-minion
        - enable: True
        - require:
          - file: minion_conf

    b.minion文件为salt-minion版本自带默认minion文件

    4.部署salt-minion

    salt-ssh端执行如下命令:

    salt-ssh -i '*' state.sls minions.install

    验证:

    salt-ssh -ir '*' 'ps aux | grep salt' | grep salt | grep -v grep | wc -l

    对比与/root/gg中IP数目是否相等

  • 相关阅读:
    补充缺失日期及对应数据
    通过拆分字段优化SQL
    left join 改写标量子查询
    对数据按组排序
    注册通用验证用户filter
    asp.net mvc FormsAuthentication一些问题
    il code swtich
    C# Equals
    Linq源代码阅读
    dotnet il editor 调试 iis 程序
  • 原文地址:https://www.cnblogs.com/jim-hwg/p/4940480.html
Copyright © 2011-2022 走看看