Saltstack自动化运维工具使用
一、Saltsatck简介:
Saltstack是基于python语言开发的一套C/S架构配置管理工具。它底层使用zeromq消息队列pub/sub方式通信,使用ssl证书签发的方式进行认证管理。由于zeromq消息队列,使得saltstack可以快速在成千台服务器上进行操作,而且采用RSAkey方式确认身份,传输采用AES加密传输,使得安全得到保障。
Saltstack支持docker相关模块,配合saltstack的Mine实时发现功能。
1. 配置管理工具:
1 ) puppet(1. 采用C/S星状结构 2. 没有远程执行的工具)、
Puppet原理:puppet的目的是让你只集中于你要管理的目标,而忽略实现的细节,例如命令名,参数或者文件格式. puppet把系统里面的用户,软件包,服务 看作是"资源", puppet的作用就是管理这些资源以及资源之间的相互联系.
Puppet工作方式与流程:
puppet既可以在单机上使用,也可以以c/s结构使用.在大规模使用puppet的情况下,通常使用c/s结构.在这种结构中puppet客户端只是指运行puppet的服务器,puppet服务器端是只运行puppetmaster的服务器.
puppet客户端首先会连接到puppet服务器端,并且通过facter工具把客户端的基本配置信息发送给服务器端. 服务器端通过分析客户端的主机名,通过node 定义,找到该主机的配置代码,然后编译配置代码,把编译好的配置代码发回客户端,客户端执行代码完成配置.并且把代码执行情况反馈给puppet服务器端。
2)ansible(1. python开发 2. 轻量级,不需要安装agent 3. 被红帽所收购,4. Ansible是串行的)
简介: ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
基本内容:
ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
(1)、连接插件connection plugins:负责和被监控端实现通信;
(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
(3)、各种模块核心模块、command模块、自定义模块;
(4)、借助于插件完成记录日志邮件等功能;
(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
3) saltstack
2. Saltstack 四大功能:远程执行、配置管理、事件驱动基础设施、salt cloud(云管理)。
3. Saltstack网址:https://docs.saltstack.com/en/latest/
阿里云repo网址:http://repo.aliyun.com/
4. Saltstack基本配置:
5. Salt组件:Salt Master、Salt Minions、Execution Modules(执行模块)、Formulas (States)执行状态、Grains、Pillar、Top File、Runners、Returners、Reactor、Salt Cloud / Salt Virt、Salt SSH
6. salts tack服务端成为master,客户端成为minion 、
7. Saltstack配置需要关注的事情
通用配置项、网络监听、配置文件配置、安全相关、性能相关
二、安装部署saltstack
环境介绍:
ip地址:192.168.56.11
作为master(同时安装salt-master、salt-minion)
192.168.56.12 (安装salt-minion)
两台CentOs 7.2
CentOS Linux release 7.2.1511 (Core)’
网址:http://repo.saltstack.com/#rhel
1. 安装repo源。
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el7.noarch.rpm
或使用阿里云的repo源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
1. 在salt master安装:
yum install salt-master
在salt minion安装
yum install salt-minion
注意:一台master服务器需要安装master、minion
另一台服务器安装minion服务
1. 启动salt-master
systemctl start salt-master
注意:salt-master启动会生成pki
4. 修改salt配置文件,配置minion并启动
(两个minion配置一样或者说是所有的minion都是一样的配置)
修改/etc/salt/minion文件,修改16行将#master salt改为master 192.168.56.11 (master ip或者fqnd注意master后面的空格)
注意格式:配置文件中,多一个或者少一个空格都是会报错的,对于格式很严格
vim /etc/salt/minion
为master ip地址
78行:minion id (为定义minion的ID,如果ID不设置会默认设置fqdn名,详细请看自己的配置文件中,可以自行翻译。)
不用修改id
5. 启动minion(启动master上的minion)
systemctl start salt-minion.service
6. 在另一台上修改同样位置:(修改minion上的配置文件,修改完毕后,并启动minion上的服务。)
yum install -y salt-minion
安装到这里就结束了,下面我们介绍一下master,minion的认证过程,认证方式应该和ssh认证方式差不多都有公钥和私钥。
以上是saltstack的简单理论,下次会给大家更新saltstack如何通信的!希望可以帮助到大家!谢谢
本文出自 “卢春宁” 博客,谢绝转载!
原文地址:http://luchunning.blog.51cto.com/12092606/1913163