saltstack试用篇:一、源码安装与简单配置

转自:http://blog.chinaunix.net/uid-20908097-id-3984933.html


本系列文章由初学者写,高手就不要浪费时间了 : )


环境:centos6.2 minimum(最小化安装)
特点:无外网


测试机没有外网,就自己手动源码安装把,的确是要累一些...做个笔记记录一下
官方文档说:安装需求
python >=2.6 <3.0
zeromq >=2.1.9
pyzmp >=2.1.9
pycrypto
msgpack-python
yaml
jinja2




===== 安装流水帐如下了 =====
先安装了salt-0.17,然后一发不可收拾...


启动master报错 - ImportError: No module named yaml
解决
    PyYAML-3.10.tar.gz
    https://pypi.python.org/pypi/PyYAML/3.10#downloads


启动master报错 - ImportError: No module named jinja2
解决
    Jinja2-2.7.1.tar.gz
    https://pypi.python.org/pypi/Jinja2/2.7.1
安装jinja2报错 - error: Could not find suitable distribution for Requirement.parse('markupsafe')
解决
    MarkupSafe-0.18.tar.gz
    https://pypi.python.org/simple/MarkupSafe/


启动master报错 - ImportError: No module named zmq
解决
    pyzmq-13.1.0.tar.gz
    https://pypi.python.org/pypi/pyzmq/13.1.0#downloads
安装pyzmq报错,其中有一段 - Failed with default libzmq, trying again with /usr/local
解决
    libzmq-master.zip
    https://github.com/zeromq/libzmq


启动master报错 - ImportError: No module named M2Crypto
解决
    M2Crypto-0.21.1.tar.gz
    https://pypi.python.org/pypi/M2Crypto/0.21.1
安装m2crypto报错 - /usr/include/openssl/opensslconf.h:31: Error: CPP #error ""This openssl-devel package does not work your architecture?"". Use the -cpperraswarn option to continue swig processing.
error: command 'swig' failed with exit status 1
解决
    msgpack-python-0.3.0.tar.gz
    https://pypi.python.org/pypi/msgpack-python/0.3.0


然后发现master和minion在运行一段时间后会报以下错误 - NameError: global name 'AES' is not defined
只好在源码中搜索了
[root@DFS-1 salt]# grep -R AES /usr/lib/python2.6/site-packages/salt/
/usr/lib/python2.6/site-packages/salt/crypt.py: from Crypto.Cipher import AES
然后google了一下Crypto.Cipher,解决
    https://pypi.python.org/pypi/pycrypto/2.6
    
基本上就是缺什么包安装什么包就可以
========================




最后,整理一下安装过程,准备好全部的包以后:


unzip libzmq-master.zip
cd libzmq-master
./autogen.sh
cd ..


tar zxf PyYAML-3.10.tar.gz
cd PyYAML-3.10
/usr/bin/python setup.py install > install.log
cd ..


tar zxf MarkupSafe-0.18.tar.gz
cd MarkupSafe-0.18
/usr/bin/python setup.py install > install.log
cd ..


tar zxf Jinja2-2.7.1.tar.gz
cd Jinja2-2.7.1
/usr/bin/python setup.py install > install.log
cd ..


tar zxf pyzmq-13.1.0.tar.gz
cd pyzmq-13.1.0
/usr/bin/python setup.py install > install.log
cd ..


tar zxf M2Crypto-0.21.1.tar.gz
cd M2Crypto-0.21.1
sed -i 's/python/\/usr\/bin\/python/g' fedora_setup.sh
# 注:我的默认python版本为2.5,此举为切换运行环境到centos6.2自带的python2.6上
./fedora_setup.sh install
cd ..


tar zxf msgpack-python-0.3.0.tar.gz
cd msgpack-python-0.3.0
/usr/bin/python setup.py install > install.log
cd ..


tar zxf pycrypto-2.6.tar.gz
cd pycrypto-2.6
/usr/bin/python setup.py install > install.log
cd ..


tar zxf salt-0.17.0.tar.gz
cd salt-0.17.0
/usr/bin/python setup.py install > install.log
cd ..


注:安装完后salt在启动后仍然发现一个缺包的warning
[WARNING ] virtualenv not installed, please install first
virtualenv是啥呢,搜索得
https://pypi.python.org/pypi/virtualenv/
不影响使用,慢慢再深入学习




salt运行
源码安装后,还需要手动拷贝配置文件模板到/etc/salt/内
cp salt-0.17.0/conf/master /etc/salt/
cp salt-0.17.0/conf/minion /etc/salt/
salt的master与minion安装方式相同,启动不同的服务即可。正确安装完毕后可以看到一批salt命令
[root@DFS-1 ~]# salt
salt salt-call salt-cp salt-key salt-master salt-minion salt-run salt-ssh salt-syndic
启动master:会启动4505、4506端口
[root@DFS-1 ~]# salt-master
启动minion:不启动任何端口
[root@DFS-1 ~]# salt-minion




salt配置
基本上按配置文件模板启动就可以使用,测试中进行了一些自定义
[root@DFS-1 salt]# diff master master.bak |grep "<"
< default_include: /data1/salt/master.d/*.conf # 我在这里单独进行file_root、pillar_root、nodegroup的配置
< publish_port: 4505
< user: root
< max_open_files: 100000
< worker_threads: 1
< ret_port: 4506
< pidfile: /tmp/salt-master.pid
< root_dir: /data1/salt
< pki_dir: /data1/salt/pki/master
< cachedir: /data1/salt/cache/master
< auto_accept: True # 自动认证,免除一些手续
minion的配置没有做任何改动(除了minion id)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值