(转)Saltstack系列

Saltstack系列1:安装配置

Saltstack系列2:Saltstack远程执行命令

Saltstack系列3:Saltstack常用模块及API

Saltstack系列4:Saltstack之Grains组件

Saltstack系列5:Saltstack之pillar组件

Saltstack系列6:Saltstack之state

原文:http://www.cnblogs.com/MacoLee/category/847853.html

https://www.centos.bz/tag/saltstack/----------Linux运维日志之saltStack

https://blog.csdn.net/wjacketcn/article/details/50853604------salt常用命令、模块、执行

http://www.opstool.com/article/293------Salt使用笔记

安装EPEL作为安装Ansible的yum源(CentOS6.4)

rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm

安装Saltstack:

主控端:

yum install salt-mastster -y
chkconfig salt-master on
service salt-master start

被控端:

yum install salt-minion -y
chkconfig salt-minion on
service salt-minion start

防火墙:
主控端添加TCP 4505、4506端口规则,被控端无需配置,原理是被控端直接与主控端的zeromq建立长链接,接收广播到的任务信息并执行

iptables -I INPUT -m state --state new -m tcp -p tcp --dport 4505 -j ACCEPT
iptables -I INPUT -m state --state new -m tcp -p tcp --dport 4506 -j ACCEPT

配置

主控端:(配置完成后重启:service salt-master restart)

【/etc/salt/master】

# 绑定Master通信IP:
interface: 192.168.1.22
# 自动认证,避免手动运行salt-key来确认证书信任
auto_accept: True
# 指定Saltstack文件目录位置
file_roots:
  base:
    - /srv/salt

提示:
主控端没有配置自动认证时需要通过salt-key命令来进行证书认证操作:

salt-key -L #显示已经或未被认证的被控端id
salt-key -D #删除所有认证主机id证书
salt-key -d id #删除单个id证书(id为被控端id名)
salt-key -A #接受所有id证书请求
salt-key -a id #接受单个id证书请求(id为被控端id名)

被控端:(配置完成后重启:service salt-minion restart)
【/etc/salt/minion】

# 指定Master主机IP地址:
master: 192.168.1.22
# 修改被控端主机识别id,建议使用操作系统主机名来配置
id: wx

测试:(主控端输入命令)
通过test模块的ping方法,可以确认被控端是否与主控端建立信任关系及连通性是否正常。

salt ‘wx‘ test.ping #‘wx‘是被控端配置的主机识别id,要探测所有的被控端则使用‘*‘

#结果:
wx:
  True


参考资料:

根据刘天斯《Python自动化运维技术与最佳实践》整理

原文地址:https://www.cnblogs.com/liujiacai/p/8783400.html

时间: 2024-10-28 15:52:08

(转)Saltstack系列的相关文章

自动化运维Saltstack系列(一)之基础功能篇

Saltstack简介  Saltstack是基于Python开发的一套C/S架构,具备Puppet.Ansible功能于一身的配置管理工具,功能十分强大,各模块融合度及复用性极高:使用号称世界上最快的消息队列ZeroMQ使得Saltstack能够秒级在数万台服务器上进行各种操作,而且使用RAS Key方式确认身份,传输采用AES加密,安全性能更高: Saltstack不仅仅是一款配置管理工具,还是一款做云计算和数据中心架构编排利器.目前Salt-cloud项目也已经合并到Saltstack主项

Saltstack系列之一——安装篇

最近,和暴雪中国区带技术的一个人聊了不少,他们在测试salt,不过目前用的是puppet,服务器数量也快要1000多台.那为什么他们会去考虑测试salt.另谋他法呢,肯定是有salt一定优势的. 其实我对puppet的名声早已经耳濡目染了1年多了,虽然还没去研究过....也知道有同类开源产品saltstack的存在.不过,puppet是由ruby写的,saltstack则是由python编写的,综合下来就选择了研究salt. 国内的博客真是各种抄袭.各种搬啊...真找不到几篇有用的文档和资料.还

Saltstack系列之二——Targeting

昨天原本打算是写salt的WebUi-halite的,不过想了想,还是先写一些"看得见.摸得着的"的一些显而易见,最基本的用处吧.(尝到一些甜头后,才会继续去钻研吧...哈哈~) 那,什么是Targeting呢? 官方给到的解释是: Specifying which minions should run a command or execute a state by matching against hostnames, or system information, or define

saltstack 系列(三)centos7使用saltstack小试牛刀

今天为salt-minion端创建2个用户:www和mysql: 使用saltstack的user和group模块 ##cat www.sls www-user-group: group.present: - name: www - gid: 1000 user.present: - name: www - fullname: www - shell: /sbin/nologin - uid: 1000 ##cat mysql.sls mysql-user-group: group.presen

saltstack 系列(四)centos7使用saltstack源码安装nginx

使用saltstack源码安装nginx,首先先看一下我nginx的目录  tree一下,我们只需要关系nginx-install.sls 和nignx-service.sls.clu-vhost是我用python写的自动添加集群和自动更新踢出集群,后面会讲到. nginx ├── files │   ├── clu-vhost │   │   ├── 11.py │   │   ├── content.txt │   │   ├── epel-release-latest-7.noarch.r

自动化运维Saltstack系列(三)之YAML和自定义Grains、Pillar

先来看看Saltstack的配置文件 Master [[email protected] ~]# vim /etc/salt/master Minion [[email protected] ~]# vim /etc/salt/minion 两者里面的配置项大同小异,其中master是我们需要重点配置的对象 大部分配置都可以保持默认无需改动,在部署大规模Saltstack环境需要自定义一些参数的时候才需要根据实际需求修改:其中一些比较重要的配置项: publish_port: 4505 # Sa

自动化运维Saltstack系列(四)之States配置管理和jinja模板的使用

States配置管理 States是Saltstack中的配置语言,在日常进行配置管理时需要编写大量的States SLS文件,而编写这些SLS文件的一般步骤也就是我们平时手动配置一台服务器的步骤:首先安装源码包,然后管理一个配置文件,最后再保证这个服务的开机启动及正常运行.其中使用到的states模块功能需要我们一边学习一边实践加强理解. 接下来,我们通过一个简单的例子来理解Saltstack配置管理的基本原理--安装keepalived 1)修改master配置文件的file_roots根目

自动化运维Saltstack系列(六)之配置管理系统模块

架构图 Saltstack配置管理大型web架构网站其实并不是很难,最主要是合理管理各功能模块之间依赖关系,尽量独立各功能模块,让每一个系统功能都可以被业务引用. Saltstack环境目录 file_roots:   base:     - /srv/salt/base   prod:     - /srv/salt/prod pillar_roots:   base:     - /srv/pillar/base   prod:     - /srv/pillar/prod Saltstac

自动化运维Saltstack系列(七)之配置管理业务模块

业务模块 业务模块要尽量和系统模块区分开,系统模块要做到随时能被业务模块所调用:特别是在多种业务模式共存的环境中,我们要使每个业务模块独立一个prod环境,方便统一管理而不影响其他业务. PHP模块 [[email protected] php]# vim install.sls include:   - modules.pkg.make-pkg   - modules.user.www pkg-php:   pkg.installed:     - names:       - swig