使用Salt-ssh部署Salt-minion之源码安装(二)
二、源码安装篇
使用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时出现下面的错误?
使用Salt-ssh部署Salt-minion之源码安装(二)的更多相关文章
- salt源码安装软件和yum安装软件
上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...
- [svc]salt源码安装软件和yum安装软件
上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...
- 在ConoHa上Centos7环境下源码安装部署LNMP
本文记录了从源码,在Centos 7上手动部署LNMP环境的过程,为了方便以后对nginx和mariadb进行升级,这里采用yum的方式进行安装. 1.建立运行网站和数据库的用户和组 groupadd ...
- 部署zabbix监控平台(源码安装)
案例:部署Zabbix监控平台 1 问题 本案例要求部署一台Zabbix监控服务器,一台被监控主机,为进一步执行具体的监控任务做准备: 安装LNMP环境 源码安装Zabbix 安装监控端主机,修改基本 ...
- 部署 LNMP(源码安装版本)shell脚本
#!/bin/bash # 一键部署 LNMP(源码安装版本) menu() { clear echo " ##############‐‐‐‐Menu‐‐‐‐##############& ...
- 源码安装python +NGINX 的坎坷路 +uwsgi安装 部署django 的CRM项目
一.Nginx安装(基于ubuntu17.10 版本) 首先我们是基于源码安装,主要有如下步骤 1.安装依赖包 1.安装gcc g++的依赖库 sudo apt-get install build-e ...
- Linux下rabitMq的部署(源码安装)
简版yum安装:https://www.jianshu.com/p/46c22834aad5 一.环境安装 1,安装预环境 通过yum安装以下组件,运行命令: [root@rabbitmqserver ...
- saltstack源码安装
环境 centos6.3,python2.7.5. 1.install libzmq-master $ git clone git://github.com/zeromq/libzmq.git $ c ...
- 源码安装Ansible
一.Ansible介绍 ansible是一款的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批 ...
随机推荐
- iOS -- 解决iOS11中navigationBar上使用initWithCustomView按钮图片错位 frame无效
在iOS11上当使用如下代码设置时 UIButton *shareButton = [UIButton buttonWithType:(UIButtonTypeCustom)]; shareButto ...
- 关于 modelNameLike 查询无数据
---恢复内容开始--- 1.今天在测试的时候发现 model中的name不能模糊查询. ModelQuery modelQuery = repositoryService.createModelQu ...
- 科研不是比赛,而是一种对未知和完美的自我追求——跟邢波(Eric Xing)面对面聊科研
编者按:6月26日,2014年国际机器学习大会(ICML)在北京国际会议中心完美落幕.作为机器学习领域两大顶尖年会之一,这是 ICML大会30多年来首次来到中国和远东,在国内的机器学习界震动不小.身为 ...
- 怎样使用libcurl获取隐藏了文件后缀的url网络文件类型
CURLINFO_CONTENT_TYPE CURL: Get Returned Content Mime Type 例如 :以下代码可以查询出天地图的tile图像类型为jpg "http: ...
- Oracle Database 11.2.0.4.0 已在 中标麒麟Linux x86-64 NeoKylin Linux Advanced Server 6 上通过认证
啥都不说了,上截图:
- css - font-size
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Tornado框架的初步使用
Tornado的搭建很简单,使用pip,或者下载源码均可. 我们先看一个最简单的程序: import tornado.ioloop import tornado.web class MainHan ...
- CSS/JavaScript hacks,browserhacks使用
1.网址 http://browserhacks.com/ 2.使用 (1)JavaScript Hacks 浏览器js判断 (2)条件注释hack (3)Media Query Hacks 媒体查询 ...
- Visual studio C++ MFC的库函数末尾添加“A”和“W”的意义
背景 在使用Visual studio C++ MFC库函数ModifyMenu(...)函数,在Visual studio自动代码补全里提示没有ModifyMenu(...)这个函数,倒是有Modi ...
- iOS 计步器的几种实现方式
代码地址如下:http://www.demodashi.com/demo/11658.html 这篇文章介绍两种可以获取计步数据的方法,一种是采用CMPedometer获取手机计步器数据,另一种是采用 ...