1.saltstack使用指南:saltstack的介绍和安装

saltstack的介绍和安装


saltstack介绍

salt,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。

saltstack 和puppet的都是进行自动化运维的工具,通过对两者的对比可以发现,puppet强调一切的配置都是资源与资源之间的关系,而且具有严格的配置规范,对于新手来说有一定的学习阻力,salt除了可以进行服务等基础资源的配置,因为其基于python开发,所以可以在开发相应的模板,支持各种json和xml格式的放回,而且具有良好的触发特性。


saltstack安装

1.rpm安装方式(极力推荐!!!)

在本系列的讲解中,对于saltstack的安装部署都是采用官方文档进行的,这需要指定相关的yum仓库。关于仓库的地址如下所示.

(1)获取并且添加仓库钥匙(repository key):

系统版本redhat7

//执行如下shell命令:
[root@server saltstack]# wget https://repo.saltstack.com/yum/rhel7/SALTSTACK-GPG-KEY.pub
[root@server saltstack]# rpm --import SALTSTACK-GPG-KEY.pub
[root@server saltstack]# rm -f SALTSTACK-GPG-KEY.pub

系统版本redhat6

//执行如下shell命令:
[root@server saltstack]# wget https://repo.saltstack.com/yum/rhel6/SALTSTACK-GPG-KEY.pub
[root@server saltstack]# rpm --import SALTSTACK-GPG-KEY.pub
[root@server saltstack]# rm -f SALTSTACK-GPG-KEY.pub

系统版本redhat5

//执行如下shell命令:
[root@server saltstack]# wget https://repo.saltstack.com/yum/rhel5/SALTSTACK-EL5-GPG-KEY.pub
[root@server saltstack]# rpm --import SALTSTACK-GPG-KEY.pub
[root@server saltstack]# rm -f SALTSTACK-EL5-GPG-KEY.pub

(2)yum仓库地址:

因为saltstack有两种模式:ZeroMQRAET,我们这里建议大家采用ZeroMQ(轻量级消息队列),关于yum仓库地址需要修改yum的repo文件,该文件位于/etc/yum.repos.d/目录.

[root@server saltstack]# vim /etc/yum.repos.d/yum.repo

根据不同的系统在该文件添加如下信息:

redhat 7系统:

####################
# Enable SaltStack's package repository
[saltstack-repo]
name=SaltStack repo for RHEL/CentOS 7
baseurl=https://repo.saltstack.com/yum/rhel7
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/rhel7/SALTSTACK-GPG-KEY.pub

redhat 6系统:

####################
# Enable SaltStack's package repository
[saltstack-repo]
name=SaltStack repo for RHEL/CentOS 6
baseurl=https://repo.saltstack.com/yum/rhel6
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/rhel6/SALTSTACK-GPG-KEY.pub

redhat 5系统:

####################
# Enable SaltStack's package repository
[saltstack-repo]
name=SaltStack repo for RHEL/CentOS 5
baseurl=https://repo.saltstack.com/yum/rhel5
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/rhel5/SALTSTACK-EL5-GPG-KEY.pub

如果你的网络环境很差,请配置本地的yum仓库!!!
如果你的网络环境很差,请配置本地的yum仓库!!!
如果你的网络环境很差,请配置本地的yum仓库!!!
重要的事情说三遍!!!

(3)saltstack本地yum仓库:

(1)找到安装源(在baseurl指定位置):
这里写图片描述
可以看到有三个对应的版本,使用mirror把指定的目录下载下来,因为我实验的主机是采用redhat6系统。所以下载该目录:
lftp repo.saltstack.com:/yum> mirror rhel6


为了方便大家安装,我已经把所有的安装包(rhel6)上传到了csdn上,地址如下:

http://download.csdn.net/download/linux_player_c/9424028


(2)使用createrepo生成rpm的依赖关系,这需要使用createrepo命令,如果没有该命令则需要安装,安装命令如下:
这里写图片描述

进入到安装所需rpm的目录:
这里写图片描述

生成rpm依赖关系:
这里写图片描述

(3)将该路径写入yum的repo文件中(/etc/yum.repos.d/yum.repo):
这里写图片描述

(4)完成上述配置后执行如下命令:
[root@minion4 ~]# yum clean all
[root@minion4 ~]# yum update

安装服务端(master)

[root@minion4 ~]# yum install salt-master salt-cloud salt-ssh salt-syndic -y

安装客户端(minion)

[root@minion4 ~]# yum install salt-minion salt-cloud salt-ssh salt-syndic -y

2.源码安装(不推荐使用,太过复杂)

如果想要通过源码安装的可以采用如下方式

公共组件

1.Python 2.6 >= 2.6 < 3.0
(在python的官网可以选择合适的版本)
下载地址:https://www.python.org/downloads/release/python-2711/

2.msgpack-python
下载地址:https://pypi.python.org/pypi/msgpack-python/#downloads

3.YAML
(1)pyyaml
下载地址:http://pyyaml.org/download/pyyaml/PyYAML-3.11.tar.gz
(2)yaml
下载地址:http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz

4.Jinja2
下载地址:https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz

5.MarkupSafe
下载地址:https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.3.tar.gz

6.apache-libcloud
下载地址:http://www.apache.org/dyn/closer.cgi/libcloud/apache-libcloud-0.20.1.tar.gz

7.Requests
下载地址:https://pypi.python.org/pypi/requests/#downloads


ZeroMQ专有组件

1.ZeroMQ >= 3.2.0
下载地址:http://download.zeromq.org/zeromq-4.0.5.tar.gz

2.pyzmq >= 2.2.0
下载地址:https://pypi.python.org/pypi/pyzmq/15.1.0#downloads
下载地址:http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz

3.PyCrypto
下载地址:https://pypi.python.org/pypi/pycrypto/2.6.1

4.M2Crypto
下载地址:https://pypi.python.org/pypi/M2Crypto/0.22.5


saltstack源码安装过程

安装前准备

上述的大部分模块都可以在pypi上获得(https://pypi.python.org/pypi),下载后文件的列表如下:
这里写图片描述

实验环境:
系统:redhat-enterprise6.5
master节点: 192.168.3.143 (master.saltstack.com)
minion节点:192.168.3.241 (minion.saltstack.com)

注意:
1.两者的防火墙确保关闭:
[root@server tar_install]# iptables -F
2.互相进行解析/etc/hosts:
这里写图片描述


具体安装过程
1.更新python

1.关于上述列举的安装包我们逐个进行安装,大部分的包都是python的模块,所以我们先来安装python,如果系统已经拥有python则需要查看其版本(必须在python2.6之上),打开pyhton解释器可以查看其版本:
这里写图片描述

虽然版本已经在2.6之上了,如果版本不够我们可以更新python。
更新步骤如下:

(1)解压python安装包:
[root@master tar_install]# tar xvf Python-2.7.11.tar.xz

(2)进入安装目录,配置:
这里写图片描述

可以看到配置时缺少C编译器,安装gcc组件:
这里写图片描述

再次执行配置:
这里写图片描述

(3)安装python:
这里写图片描述

(4)将python2.7的头文件拷贝到标准目录/usr/local/include下:
这里写图片描述

(5)备份旧版本的python,并且新安装的python符号链接到/usr/bin/下:
这里写图片描述

(6)修改yum的脚本信息,指定为之前的python版本:
[root@master python2.7]# vim /usr/bin/yum

这里写图片描述

(7)再次打开python解释器查看版本:
这里写图片描述

已经更新到了最新版本的python。


2.安装yaml和PyYAML

(1)对yaml进行解压:
这里写图片描述

(2)配置安装信息:
这里写图片描述

(3)安装yaml:
这里写图片描述

(4)解压PyYAML:
这里写图片描述

(5)安装PyYAML:
这里写图片描述


3.安装setuptools

(1)解压setuptools:
这里写图片描述

(2)安装setuptools:
这里写图片描述


4.安装MarkupSafe

(1).解压MarkupSafe-0.9.3.tar.gz:
这里写图片描述

(2).安装MarkupSafe-0.9.3:
这里写图片描述

(3).解压MarkupSafe-0.23.tar.gz:
这里写图片描述

(4).安装MarkupSafe-0.23:
这里写图片描述


5.安装Jinja

1.解压Jinja:
这里写图片描述

2.安装Jinja:
这里写图片描述


6.安装apache-libcloud

(1).解压apache-libcloud:
这里写图片描述

(2).安装apache-libcloud:
[root@master apache-libcloud-0.20.1]# cd apache-libcloud-0.20.1
[root@master apache-libcloud-0.20.1]# python setup.py install


7.安装autoconf

1.[root@master tar_install]# tar xvf autoconf-2.69.tar.gz
2.[root@master tar_install]# cd autoconf-2.69
3.[root@master autoconf-2.69]# ./configure –prefix=/usr
4.[root@master autoconf-2.69]# make && make install


8.安装pyzmq

[root@master tar_install]# tar xvf pyzmq-15.1.0.tar.gz
[root@master tar_install]# cd pyzmq-15.1.0
[root@master pyzmq-15.1.0]# python setup.py install


9.安装requests

[root@master tar_install]# tar xvf requests-2.9.1.tar.gz
[root@master tar_install]# cd requests-2.9.1
[root@master requests-2.9.1]# python setup.py install


10.安装zeromq

[root@master tar_install]# tar xvf zeromq-4.0.5.tar.gz
[root@master zeromq-4.0.5]# cd zeromq-4.0.5
这里写图片描述
可以看到它说缺少libtool包,使用yum安装即可:
[root@master zeromq-4.0.5]# yum install libtool -y

再次安装:
[root@master zeromq-4.0.5]# ./autogen.sh
[root@master zeromq-4.0.5]# ./configure –prefix=/usr/local
[root@master zeromq-4.0.5]# make install


11.安装msgpack-python

[root@master tar_install]# tar xvf msgpack-python-0.4.6.tar.gz
这里写图片描述


12.安装pycryto

[root@master tar_install]# tar xvf pycrypto-2.6.1.tar.gz
[root@master tar_install]# cd pycrypto-2.6.1
[root@master pycrypto-2.6.1]# python setup.py install


13.安装M2Crypto

1.安装swig-3.0.7.tar.gz:

(1)[root@master tar_install]# tar xvf swig-3.0.7.tar.gz
(2)[root@master tar_install]# cd swig-3.0.7
(3)[root@master swig-3.0.7]# ./configure –prefix=/usr/local/
(4)[root@master swig-3.0.7]# yum install pcre* -y
(5)[root@master swig-3.0.7]# make
(6)[root@master swig-3.0.7]# make install

2.安装openssl-1.0.1g.tar.gz:

[root@master tar_install]# tar xvf openssl-1.0.1g.tar.gz
[root@master openssl-1.0.1g]# ./config shared –prefix=/usr/local
[root@master openssl-1.0.1g]# make
[root@master openssl-1.0.1g]# make install
[root@master M2Crypto-0.22.5]# \cp -a /usr/local/include/openssl/ /usr/include/

3.安装certifi-2015.11.20.tar.gz
[root@master tar_install]# tar xvf certifi-2015.11.20.tar.gz
[root@master tar_install]# cd certifi-2015.11.20
[root@master certifi-2015.11.20]# python setup.py install

4.安装backports.ssl_match_hostname-3.5.0.1.tar.gz
这里写图片描述
进入目录安装:
这里写图片描述

4.安装tornado-4.2.1.tar.gz

[root@master tar_install]# tar xvf tornado-4.2.1.tar.gz
[root@master tar_install]# cd tornado-4.2.1
[root@master tornado-4.2.1]# python setup.py install

5.安装M2Crypto-0.22.5.tar.gz
[root@master tar_install]# tar xvf M2Crypto-0.22.5.tar.gz
[root@master tar_install]# cd M2Crypto-0.22.5
[root@master M2Crypto-0.22.5]# python setup.py install


安装salt

[root@master tar_install]# tar xvf salt-2015.8.1.tar.gz
[root@master tar_install]# cd salt-2015.8.1
[root@master salt-2015.8.1]# python setup.py install


测试Saltstack

查看saltstack的安装情况:
这里写图片描述
可以看到我们已经安装的软件及其版本,这个程度足够我们使用saltstack的ZeroMQ模式。


如果你的命令执行很慢!!!请看这里!!!
如果你的命令执行很慢!!!请看这里!!!
如果你的命令执行很慢!!!请看这里!!!

此时不需惊慌,你给saltstack分配的资源一定是足够的,只需要把本机及其他的实验节点做好解析即可。


小结:

上述我们介绍了saltstack的两种安装方式:rpm安装以及源码安装,这里极力推荐第一种方案,非常的快捷、简单。在后续的章节中我们将会介绍saltstack的更多应用场景,敬请期待。


附录

saltstack依赖性

Salt should run on any Unix-like platform so long as the dependencies are met.

Python 2.6 >= 2.6 <3.0

msgpack-python
High-performance message interchange format

YAML
Python YAML bindings

Jinja2
parsing Salt States (configurable in the master settings)

MarkupSafe
Implements a XML/HTML/XHTML Markup safe string for Python

apache-libcloud
Python lib for interacting with many of the popular cloud service providers using a unified API

Requests
HTTP library


Depending on the chosen Salt transport, ZeroMQ or RAET, dependencies vary:


ZeroMQ:


ZeroMQ >= 3.2.0

pyzmq >= 2.2.0
ZeroMQ Python bindings

PyCrypto
Python cryptography toolkit

M2Crypto
“Me Too Crypto” - Python OpenSSL wrapper


RAET:


libnacl
Python bindings to libsodium

ioflo
flo programming interface raet and salt-raet is built on

RAET
worlds most awesome UDP protocol


Optional Dependencies

mako
an optional parser for Salt States (configurable in the master settings)
gcc
dynamic Cython module compiling

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值