saltstack

【搭建Saltstack运维工具】 -- 2019-08-12 12:57:57

夙愿已清 提交于 2019-11-27 02:48:55
目录 所谓Salt 开始搭建 配置接受密钥 salt命令 YAML详解 目标定位字符串 state模块定义主机状态 Salt采集静态信息之GrainsSalt 原文: http://106.13.73.98/__/108/ @(Saltstack) *** 所谓Salt Saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的 远程执行系统 . Salt有多强大!     系统管理元日常会进行大量的重复性操作,例如安装软件,修改配置文件,创建用户,批量执行命令等等,如果主机数量庞大, 单靠人工维护是在让人难以忍受.     早期的运维人员会根据生产环境编写特定的脚本来完成大量的重复性工作,这些脚本复杂且难以维护,系统管理员面临的问题主要是系统配置管理、远程执行命令。因此而诞生了很多开源软件,系统维护方面的有 fabric 、 puppet 、 chef 、 ansible 、 Saltstack 等,这些软件擅长维护系统状态或方便的对大量主机进行批量的命令执行.     Salt灵活性强大,可以进行大规模部署,也能进行小规模的系统部署,Salt的设计构造适用于任意数量的服务器,从少量本地网络系统到跨越整个数据中心,扩扑架构都是C/S模型,配置简单.     不管是几台、几百台、几千台服务器,都可以使用Salt在一个中心节点上进行管控

saltstack小试牛刀

陌路散爱 提交于 2019-11-26 21:06:19
当我们服务器数量只有1台,2台,几台时,我们部署软件工具可以逐台登录服务器操作,但随着企业服务器数量不但增多,显然逐台登录部署已经变得不现实。这时自动化运维管理工具就闪亮登场了,目前比较流行的工具有puppet,ansible,saltstack。我曾经使用过ansible和saltstack,当机器数量较多时,ansible执行比saltstack慢很多,今天主要介绍下saltstack。 1. saltstack介绍 saltstack是由python编写的采用c/s架构的自动化运维工具,由master和minion组成,使用ZeroMQ消息队列pub/sub方式通信,使用SSL证书签发的方式进行认证管理,本身是支持多master的。saltstack除了可以通过在节点安装客户端进行管理还支持直接通过ssh进行管理。运行模式为master端下发指令,客户端接收指令执行。采用yaml格式编写配置文件,支持api及自定义python模块,能轻松实现功能扩展。 saltstack有一个saltstack master,而很多saltstack minon在初始化时会连接到该master上。初始化时,minion会交换一个秘钥建立握手,然后建立一个持久的加密的TCP连接。通常,命令起始于master的命令行中,master将命令分发minion上。saltstack

Saltstack

核能气质少年 提交于 2019-11-26 20:30:44
一、Satlstack的概述   Saltstack是什么?   Salt是一种和以往不同的基础设施管理方法,它是建立在大规模系统高速通讯能力可以大幅提升的想法上。这种方法使得Salt成为一个强大的能够解决基础设施中许多特定问题的多任务系统。远程执行引擎是Salt的核心,它能够为多组系统创建高速、安全的双向通讯网络。基于这个通讯系统,Salt提供了一个非常快速、灵活并且容易使用的配置管理系统,称之为"Salt States"。   The backbone of Salt is the remote execution engine, which creates a high-speed, secure and bi-directional communication net for groups of systems. On top of this communication system, Salt provides an extremely fast, flexible, and easy-to-use configuration management system called Salt States. 二、选择Saltstack的原因   目前市场上主流的开源自动化配置公里工具有puppet、ansible、saltstack。为什么选择saltstack呢?  

Saltstack之multi-master

寵の児 提交于 2019-11-26 20:30:26
一、实验环境: 1、salt版本: [root@master master] # salt --versions-report Salt: 2015.5.10 Python: 2.7.5 (default, Nov 6 2016, 00:28:07 ) Jinja2: 2.7.2 M2Crypto: 0.21.1 msgpack -python: 0.4.8 msgpack - pure: Not Installed pycrypto: 2.6.1 libnacl: Not Installed PyYAML: 3.10 ioflo: Not Installed PyZMQ: 14.3.1 RAET: Not Installed ZMQ: 3.2.5 Mako: Not Installed Tornado: Not Installed timelib: Not Installed dateutil: Not Installed 2、系统版本: [root@master master] # cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 二、Salt搭建主备master 1、安装新的master server 2、copy master keys到新的master对应的目录(master.pem和master

06 saltstack生产实例

て烟熏妆下的殇ゞ 提交于 2019-11-26 14:29:53
https://github.com/unixhot/saltbook-code 1.系统初始化 1.需求梳理 1.Cobbler 1.15 统一网卡名 2.Zabbix 系统已经安装好了! base步骤 1.手动实现 2.需要使用salt的什么状态模块 3.编写sls 2.salt模块识别 系统初始化 1.1 关闭SELinux - file.managed - /etc/selinux/config 1.2 关闭默认iptables - service.disabled firewalld 1.3 时间同步(配置ntp) - pkg.installed cron 1.4 文件描述符(必备 /etc/security/limits.conf) file.managed 1.5 内核优化(必备 tcp 内存) sysctl 1.6 SSH服务优化(关闭DNS解析,修改端口) file.managed service 1.7 精简开机系统服务(只开启SSHD服务) service.disabled 1.8 DNS解析(必备) file.managed /etc/resolv.conf 1.9 历史记录优化histroy(记录时间,用户)file.managed /etc/profile 1.10 设置终端超时时间(安全考虑) file.managed /etc/profile 1

SaltStack RESTful API

青春壹個敷衍的年華 提交于 2019-11-25 20:41:13
SaltStack简介 SaltStack作为开源的自动化批量管理工具,功能很强大,在生产环境中也有很多的企业/公司使用,那么如果每次执行都在SaltStack Master上去通过Salt命令执行sls文件或者Salt的其它命令就显得很麻烦,那么我们可以使用Salt提供的API,那么它的API分为local_client和REST API 两种 两种api的区别 local_client 调用该api必须要在salt master上运行 它是salt的python模块,即salt自带的python api 依赖于python RESTful API 调用该api的机器可以是任意的计算机系统 基于HTTPS的请求,即任何语言,只需要按照该api的标准,get或者post数据就可以执行salt的相应的操作 官方支持三种RESTful API, 分别是rest_cherry; rest_tonado和rest_wsgi rest_cherry和rest_tonado两个模块支持监听所有的IP的指定端口接收请求 rest_wsgi只支持本机访问,只绑定了127.0.0.1 再次声明为何使用RESTful API? local_client必须依赖于python去调用,必须还得把该python脚本放到salt master本地执行,但是RESTful API支持任意语言调用