saltstack简单介绍和安装

简介:

saltstack是一个新的基础平台管理工具; C/S架构

https://docs.saltstack.com/en/latest/topics/installation/index.html

优点:

1.安装、部署简单,可快速启动服务

2.可支撑管理上万台服务器的规模

3.传输数据基于ZeroMQ(轻量级消息队列),传输数据并发、快速

4.支持API及自定义模块,可以通过Python轻松扩展

依赖:

DEPENDENCIES

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

Tornado - Web framework and asynchronous networking library

futures - Backport of the concurrent.futures package from Python 3.2


端口:

4505:为salt的消息发布专用端口    //在monion端ss -e会发现一直和master的4505端口保持链接,用于和客户端的长连接,保证master端和minion端的消息通信正常

4506:用于文件服务的传输端口,进行认证等


环境:
[root@salt-master salt]# salt '*' grains.item  os osrelease 
salt-master:
    ----------
    os:
        CentOS
    osrelease:
        7.2.1511
hddcluster3:
    ----------
    os:
        RedHat
    osrelease:
        7.3
hddcluster2:
    ----------
    os:
        RedHat
    osrelease:
        7.2
hddcluster4:
    ----------
    os:
        RedHat
    osrelease:
        7.2
salt-minion01:
    ----------
    os:
        CentOS
    osrelease:
        6.7
hddcluster1:
    ----------
    os:
        RedHat
    osrelease:
        7.2
[root@salt-master salt]#
salt-master服务端主机:
详细安装请参考官网,正常情况yum是可以安装saltstack的、
服务器端安装master和minion:
yum install salt-master
yum install salt-minion
查看服务端安装了什么:
[root@salt-master ~]# rpm -ql salt-master
/etc/salt/master
/etc/salt/master.d
/etc/salt/pki/master
/usr/bin/salt
/usr/bin/salt-cp
/usr/bin/salt-key
/usr/bin/salt-master
/usr/bin/salt-run
/usr/bin/salt-unity
/usr/lib/systemd/system/salt-master.service
/usr/share/man/man1/salt-cp.1.gz
/usr/share/man/man1/salt-key.1.gz
/usr/share/man/man1/salt-master.1.gz
/usr/share/man/man1/salt-run.1.gz
/usr/share/man/man1/salt-unity.1.gz
/usr/share/man/man7/salt.7.gz
/var/log/salt/master
[root@salt-master ~]# rpm -ql salt-minion
/etc/salt/minion
/etc/salt/minion.d
/etc/salt/pki/minion
/etc/salt/proxy
/usr/bin/salt-call
/usr/bin/salt-minion
/usr/bin/salt-proxy
/usr/lib/systemd/system/salt-minion.service
/usr/share/man/man1/salt-call.1.gz
/usr/share/man/man1/salt-minion.1.gz
/usr/share/man/man1/salt-proxy.1.gz
/var/log/salt/minion
修改简单的配置:
vi /etc/salt/master
#interface: 0.0.0.0
改为
interface: 10.0.0.177    //10.0.0.177为服务器的本机地址
到此入门的安装配置就已经完毕,下面说minion端的安装配置了
客户端只安装minion包括hddcluster1、hddcluster2、hddcluster3、hddcluster4、salt-minion01:
yum install salt-minion
[root@salt-minion01 ~]# rpm -ql salt-minion
/etc/rc.d/init.d/salt-minion
/etc/salt/minion
/etc/salt/minion.d
/etc/salt/pki/minion
/etc/salt/proxy
/usr/bin/salt-call
/usr/bin/salt-minion
/usr/bin/salt-proxy
/usr/share/man/man1/salt-call.1.gz
/usr/share/man/man1/salt-minion.1.gz
/usr/share/man/man1/salt-proxy.1.gz
/var/log/salt/minion
root@salt-minion01 ~]#
vim /etc/salt/minion
#master: salt
改为:
master: 10.0.0.177

------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------

启动服务:
   服务端:
	systemctl enable salt-master.service
	systemctl start salt-master.service
	systemctl enbale salt-minion.service
	systemctl start salt-minion.service
   客户端:
		centos7,redhat7:
				systemctl enbale salt-minion.service
				systemctl start salt-minion.service
		centos6:
				/etc/init.d/salt-minion   start  
				chkconfig salt-minion on
查看端口:
	服务端:
		[root@salt-master ~]# ss -l |grep 450
tcp    LISTEN     0      100    10.0.0.177:4505                  *:*                    
tcp    LISTEN     0      100    10.0.0.177:4506                  *:*                    
	客户端:	
		telnet 10.0.0.177 4505 
		telnet 10.0.0.177 4506

-----------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------

测试阶段:

查看未接受的key
[root@salt-master ~]# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
hddcluster1
hddcluster2
hddcluster4
salt-master
salt-minion01
Rejected Keys:

一键接受所有key:
[root@salt-master ~]# salt-key -A -y
The following keys are going to be accepted:
Unaccepted Keys:
hddcluster1
hddcluster2
hddcluster3
hddcluster4
salt-master
salt-minion01
Key for minion hddcluster1 accepted.
Key for minion hddcluster2 accepted.
Key for minion hddcluster3 accepted.
Key for minion hddcluster4 accepted.
Key for minion salt-master accepted.
Key for minion salt-minion01 accepted.
[root@salt-master ~]# salt-key -L
Accepted Keys:
hddcluster1
hddcluster2
hddcluster3
hddcluster4
salt-master
salt-minion01
Denied Keys:
Unaccepted Keys:
Rejected Keys:
测试一下:
[root@salt-master ~]# salt  '*' grains.item fqdn_ip4
salt-master:
    ----------
    fqdn_ip4:
        - 10.0.0.177
hddcluster4:
    ----------
    fqdn_ip4:
        - 10.0.0.181
hddcluster3:
    ----------
    fqdn_ip4:
        - 10.0.0.202
hddcluster1:
    ----------
    fqdn_ip4:
        - 10.0.0.197
hddcluster2:
    ----------
    fqdn_ip4:
        - 10.0.0.102
salt-minion01:
    ----------
    fqdn_ip4:
	    - 10.0.0.199
[root@salt-master ~]# salt-master --version    
salt-master 2016.3.4 (Boron)


本文转自 yanconggod 51CTO博客,原文链接:http://blog.51cto.com/yanconggod/1876057

相关文章
|
消息中间件 监控 网络协议
SaltStack安装Apache/Mysql/PHP部署Wordpress
SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。 SaltStack 采用 C/S模式,server端就是salt的master,client端就是minion,minion与master之间通过ZeroMQ消息队列通信。 master监听4505和4506端口,4505对应的是ZMQ的PUB system,用来发送消息,4506对应的是REP system是来接受
152 0
|
关系型数据库 应用服务中间件 测试技术
|
Python 消息中间件 运维