当前位置 : 主页 > 网络安全 > 测试自动化 >

SaltStact自动化运维工具01

来源:互联网 收集:自由互联 发布时间:2021-06-19
什么是saltstack Saltstack是基于python开发的一套C/S架构配置管理工具 使用SSL证书签方的方式进行认证管理 底层使用ZeroMQ消息队列pub/sub方式通信 – 号称世界上最快的消息队列ZeroMQ能快速在

 什么是saltstack
Saltstack是基于python开发的一套C/S架构配置管理工具
使用SSL证书签方的方式进行认证管理
底层使用ZeroMQ消息队列pub/sub方式通信
    – 号称世界上最快的消息队列ZeroMQ能快速在成千上万台主机上进行各种操作
    – 采用RSA Key方式确认身


主要功能
Saltstack最主要的两个功能是:配置管理与远程执行
Saltstack不只是一个配置管理工具,还是一个云计算与数据中心架构编排的利器
Saltstack已经支持Docker相关模块
在友好地支持各大云平台之后,配合Saltstack的Mine实时发现功能可以实现各种云平台业务的自动扩展


Saltstack架构
• Saltstack基于C/S架构
    – 服务器端称作Master
    – 客户端称作Minion
• 可以实现传统处理方式,即:客户端发送请求给服务器,服务器收到请求后处理请求,再将结果返回
• 也可以使用消息队列中的发布与订阅(pub/sub)服务模式

 

 Saltstack工作机制
• Master和Minion都以守护进程的方式运行
• Master监听配置文件里定义的ret_port(接收minion请求),和publish_port(发布消息)的端口
• 当Minion运行时,它会自动连接到配置文件里定义的Master地址ret_port端口进行连接认证
• 当Master和Minion可以正常通信后,就可以进行各种各样的配置管理工作了

 

SaltStack安装 ---CentOS7  官网安装方法:http://repo.saltstack.com/#rhel
    1. python2.6 ~ python3.0
    2. ZeroMQ or RAET
    3. mako(可选):一个可选的Salt States解析器
    4. gcc(可选)

node01: 192.168.0.2
#停止firewall服务 systemctl stop firewalld.service
#禁止firewall开机启动 systemctl disable firewalld.service
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest.el7.noarch.rpm 
yum -y install salt-master
yum -y install salt-minion #可以自己也是minion
systemctl start salt-master
systemctl enable salt-master


cd
/etc/salt/ vim /etc/salt/minion 16 #master: salt 改成master的IP maser: 192.168.0.2 systemctl start salt-minion [[email protected]-node1 salt]# cat /etc/salt/minion_id linux-node1.localdomain salt * test.ping #ping 所以得minion vim /etc/salt/master file_roots: base: - /srv/salt/base dev: - /srv/salt/dev test: - /srv/salt/test prod: - /srv/salt/prod 144 mkdir -p /srv/salt/{base,test,prod,dev} 145 systemctl restart salt-master [[email protected]-node1 ~]# cd /srv/salt/base/ [[email protected] base]# mkdir web [[email protected] base]# cd web/ [[email protected] web]# vim apache.sls apache-install: pkg.installed: - name: httpd apache-service: service.running: - name: httpd - enable: True salt linux-node2.localdomain state.sls web.apache cd /srv/salt/base/ vim top.sls base: *: - web.apache salt * state.highstate 另外一种匹配方法(grain): base: os:CentOS: - match: grain - web.apache salt * state.highstate 数据系统---grains 1.收集信息 2.远程执行 进行匹配目标 3.top.sls 进行匹配目标 4.配合模板来 node02: 192.168.0.3 #停止firewall服务 systemctl stop firewalld.service #禁止firewall开机启动 systemctl disable firewalld.service yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest.el7.noarch.rpm yum -y install salt-minion vim /etc/salt/minion 16 #master: salt 改成master的IP maser: 192.168.0.2 systemctl start salt-minion
网友评论