二、源码安装篇

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

1.salt-minion端环境:

  系统:SUSE SP3 64bit

  python版本:2.6.6

  RPM包:pcre-devel        #不安装,编译swig报错

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
|---after.local
|install2.sls

其中minion文件为salt-minion版本自带默认minion文件,after.local为配置salt-minion开机自起文件,内容如下:

#cat after.local

salt-minion -d

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

sources_download:
cmd.run:
- cwd: /usr/src
- names:
- wget http://yum.deepay.3g/SOFT/salt/setuptools-18.3.2.tar.gz http://yum.deepay.3g/SOFT/salt/python-dateutil-1.5.tar.gz http://yum.deepay.3g/SOFT/salt/PyYAML-3.11.tar.gz http://yum.deepay.3g/SOFT/salt/MarkupSafe-0.23.tar.gz http://yum.deepay.3g/SOFT/salt/Jinja2-2.8.tar.gz http://yum.deepay.3g/SOFT/salt/pycrypto-2.6.tar.gz http://yum.deepay.3g/SOFT/salt/libsodium-1.0.2.tar.gz http://yum.deepay.3g/SOFT/salt/zeromq-4.1.3.tar.gz http://yum.deepay.3g/SOFT/salt/pyzmq-14.1.1.tar.gz http://yum.deepay.3g/SOFT/salt/msgpack-python-0.4.6.tar.gz http://yum.deepay.3g/SOFT/salt/yaml-0.1.6.tar.gz http://yum.deepay.3g/SOFT/salt/msgpack-pure-0.1.3.tar.gz http://yum.deepay.3g/SOFT/salt/swig-2.0.11.tar.gz http://yum.deepay.3g/SOFT/salt/M2Crypto-0.22.3.tar.gz http://yum.deepay.3g/SOFT/salt/salt-2015.5.5.tar.gz
#上为自制地址源
- unless: test -e setuptools-18.3.2.tar.gz
setuptools_install:
cmd.run:
- cwd: /usr/src
- names:
- sudo tar zxf /usr/src/setuptools-18.3.2.tar.gz ;cd setuptools-18.3.2 ;sudo python setup.py build ;sudo python setup.py install
- unless: test -d setuptools-18.3.2
pythondateutil_install:
cmd.run:
- cwd: /usr/src
- names:
- sudo tar zxf python-dateutil-1.5.tar.gz ;cd python-dateutil-1.5 ;sudo python setup.py install
- unless: test -d python-dateutil-1.5
- require:
- cmd: setuptools_install
PyYAML_install:
cmd.run:
- cwd: /usr/src
- names:
- sudo tar zxf PyYAML-3.11.tar.gz ;cd PyYAML-3.11 ;sudo python setup.py install
- unless: test -d PyYAML-3.11
- require:
- cmd: pythondateutil_install
MarkupSafe_install:
cmd.run:
- cwd: /usr/src
- names:
- sudo tar zxf MarkupSafe-0.23.tar.gz ;cd MarkupSafe-0.23 ;sudo python setup.py install
- unless: test -d MarkupSafe-0.23
- require:
- cmd: PyYAML_install
Jinja2_install:
cmd.run:
- cwd: /usr/src
- names:
- sudo tar zxf Jinja2-2.8.tar.gz ;cd Jinja2-2.8 ;sudo python setup.py install
- unless: test -d Jinja2-2.8
- require:
- cmd: MarkupSafe_install
pycrypto_install:
cmd.run:
- cwd: /usr/src
- names:
- sudo tar zxf pycrypto-2.6.tar.gz ;cd pycrypto-2.6 ;sudo python setup.py install
- unless: test -d pycrypto-2.6
- require:
- cmd: Jinja2_install
libsodium_install:
cmd.run:
- cwd: /usr/src
- names:
- sudo tar zxf libsodium-1.0.2.tar.gz ;cd libsodium-1.0.2 ;sudo ./configure CC="gcc -m64" --prefix=/usr --libdir=/usr/lib64 && sudo make && sudo make install
- unless: test -d libsodium-1.0.2
- require:
- cmd: pycrypto_install
zeromq_install:
cmd.run:
- cwd: /usr/src
- names:
- sudo tar zxf zeromq-4.1.3.tar.gz ;cd zeromq-4.1.3 ;sudo ./configure --prefix=/usr CC="gcc -m64" PKG_CONFIG_PATH="/usr/lib64/pkgconfig" --libdir=/usr/lib64 && sudo make && sudo make install
- unless: test -d zeromq-4.1.3
- require:
- cmd: libsodium_install
pyzmq_install:
cmd.run:
- cwd: /usr/src
- names:
- sudo tar zxf pyzmq-14.1.1.tar.gz ;cd pyzmq-14.1.1 ;sudo python setup.py install
- unless: test -d pyzmq-14.1.1
- require:
- cmd: zeromq_install
msgpackpython_install:
cmd.run:
- cwd: /usr/src
- names:
- sudo tar zxf msgpack-python-0.4.6.tar.gz ;cd msgpack-python-0.4.6 ;sudo python setup.py install
- unless: test -d msgpack-python-0.4.6
- require:
- cmd: pyzmq_install
yaml_install:
cmd.run:
- cwd: /usr/src
- names:
- sudo tar zxf yaml-0.1.6.tar.gz ;cd yaml-0.1.6/ ;sudo ./configure && sudo make && make install
- unless: test -d yaml-0.1.6
- require:
- cmd: msgpackpython_install
msgpackpure_install:
cmd.run:
- cwd: /usr/src
- names:
- sudo tar zxf msgpack-pure-0.1.3.tar.gz ;cd msgpack-pure-0.1.3 ;sudo python setup.py install
- unless: test -d msgpack-pure-0.1.3
- require:
- cmd: yaml_install
swig_install:
cmd.run:
- cwd: /usr/src
- names:
- sudo tar zxf swig-2.0.11.tar.gz ;cd swig-2.0.11/ ;sudo ./configure ;sudo make ;sudo make install ;sudo rm -rf /usr/bin/swig; sudo ln -s /usr/local/bin/swig /usr/bin/swig
- unless: test -d swig-2.0.11
- require:
- cmd: msgpackpure_install
M2Crypto_install:
cmd.run:
- cwd: /usr/src
- names:
- sudo tar zxf M2Crypto-0.22.3.tar.gz ;cd M2Crypto-0.22.3/ ;sudo python setup.py build build_ext ;sudo python setup.py install
- unless: test -d M2Crypto-0.22.3
- require:
- cmd: swig_install
salt_install:
cmd.run:
- cwd: /usr/src
- names:
- sudo tar zxf salt-2015.5.5.tar.gz ;cd salt-2015.5.5 ;sudo python setup.py install ;sudo ln -s /usr/local/python2.6.6/bin/salt-minion /usr/bin/salt-minion
- unless: test -d salt-2015.5.5
- require:
- cmd: M2Crypto_install
minion_conf:
cmd.run:
- names:
- sudo mkdir -p /etc/salt;
- unless: test -d /etc/salt
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] }}
- unless: test -e /etc/salt/minion
- require:
- cmd: salt_install
minion_service:
  cmd.run:
    - name: sudo salt-minion -d &
    - unless: ps aux | grep salt-minion | grep -v grep
    - require:
      - file: minion_conf
minion_file:
  file.managed:
    - name: /etc/init.d/after.local
    - source: salt://minions/conf/after.local
    - user: root
    - group: root
    - mode: 755
    - unless: test -e /etc/init.d/after.local
    - require:
      - cmd: minion_service

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

4.部署salt-minion

salt-ssh端执行如下命令:

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

验证:

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

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

三、问题解决

参见:  1.【问题】SUSE已经安装了libsodium,安装zeromq时出现下面的错误?

     2.【问题】报错[CRITICAL] Rendering SLS 'base:minions.install' failed: Jinja variable 'list' object has no element 0

使用Salt-ssh部署Salt-minion之源码安装(二)的更多相关文章

  1. salt源码安装软件和yum安装软件

    上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...

  2. [svc]salt源码安装软件和yum安装软件

    上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...

  3. 在ConoHa上Centos7环境下源码安装部署LNMP

    本文记录了从源码,在Centos 7上手动部署LNMP环境的过程,为了方便以后对nginx和mariadb进行升级,这里采用yum的方式进行安装. 1.建立运行网站和数据库的用户和组 groupadd ...

  4. 部署zabbix监控平台(源码安装)

    案例:部署Zabbix监控平台 1 问题 本案例要求部署一台Zabbix监控服务器,一台被监控主机,为进一步执行具体的监控任务做准备: 安装LNMP环境 源码安装Zabbix 安装监控端主机,修改基本 ...

  5. 部署 LNMP(源码安装版本)shell脚本

    #!/bin/bash # 一键部署 LNMP(源码安装版本) menu() { clear echo " ##############‐‐‐‐Menu‐‐‐‐##############& ...

  6. 源码安装python +NGINX 的坎坷路 +uwsgi安装 部署django 的CRM项目

    一.Nginx安装(基于ubuntu17.10 版本) 首先我们是基于源码安装,主要有如下步骤 1.安装依赖包 1.安装gcc g++的依赖库 sudo apt-get install build-e ...

  7. Linux下rabitMq的部署(源码安装)

    简版yum安装:https://www.jianshu.com/p/46c22834aad5 一.环境安装 1,安装预环境 通过yum安装以下组件,运行命令: [root@rabbitmqserver ...

  8. saltstack源码安装

    环境 centos6.3,python2.7.5. 1.install libzmq-master $ git clone git://github.com/zeromq/libzmq.git $ c ...

  9. 源码安装Ansible

    一.Ansible介绍 ansible是一款的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批 ...

随机推荐

  1. Go 测试单个方法/性能测试

    Go 测试单个方法 gotest.go package mytest import ( "errors" ) func Division(a, b float64) (float6 ...

  2. cs-Panination

    ylbtech-Unitity: cs-Panination Pager.cs IPagingOption.cs IPagedList.cs PagingOption.cs PagedList.cs ...

  3. iOS:APNS推送主要代码

    首先,在AppDelegate.m 中: 1,注册通知 //[objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片 - (BOOL)application:(UI ...

  4. RDD编程 上(Spark自学三)

    弹性分布式数据集(简称RDD)是Spark对数据的核心抽象.RDD其实就是分布式的元素集合.在Spark中,对数据的操作不外乎创建RDD.转化已有RDD以及调用RDD操作进行求值.而在这一切背后,Sp ...

  5. 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-人机界面HMI自锁按钮和自复位按钮如何理解(Toggle variable Tap variable)

    我分别创建两个按钮,自锁和自复位,绑定到主程序的两个布尔值上去   自锁按钮是指点击一下为TRUE,再点击一下为FALSE,自复位按钮是指按下的时候为TRUE,松开的时候为FALSE(也可以勾选Tap ...

  6. [转]SQL Server 性能调优(cpu)

      研究cpu压力工具 perfom SQL跟踪 性能视图 cpu相关的wait event Signal wait time SOS_SCHEDULER_YIELD等待 CXPACKET等待 CME ...

  7. Python爬取豆瓣《复仇者联盟3》评论并生成乖萌的格鲁特

    代码地址如下:http://www.demodashi.com/demo/13257.html 1. 需求说明 本项目基于Python爬虫,爬取豆瓣电影上关于复仇者联盟3的所有影评,并保存至本地文件. ...

  8. Maven 命令行创建项目时 Could not find goal ‘create’ in plugin org.apache.maven.plugins:...

    使用maven3.3.9 版本,进行命令行创建项目时输入以下命令创建失败 mvn archetype:create -DgroupId=com.zang.maven  -DartifactId=sys ...

  9. Mac OS X中配置Apache后提示You don't have permission to access / on this server

    根据这篇博客http://www.cnblogs.com/snandy/archive/2012/11/13/2765381.html,在mac系统中,配置的apache,配置完成后,提示 You d ...

  10. PullToRefresh使用详解(一)--构建下拉刷新的listView

    前言:前几天写了篇关于PullToRefresh控件的DEMO导入的博客,但由于当时没有用到,所以就没细往下讲,现在开始到了实战阶段,用到了PullToRefresh的listView样式,网上有讲的 ...