saltstack

saltstack的jinja模块应用

匿名 (未验证) 提交于 2019-12-02 23:42:01
jinja模块 有多种方式,以apache的ip和端口为例 第一种:直接在apache下的install.sls中修改,加入port:80即可 第二种 将端口定义成变量的形式: port:{{ port}} 在httpd.conf中也要写入相应的变量 推送 第三种 将变量定义到当前目录下的lib.sls中: {% set host='172.25.58.2' %} 在install.sls中删除host指令,在httpd.conf中同样要定义变量,并写入 {% from 'apache/lib.sls' import test with context%} 推送 第四种 用静态变量的形式:在install.sls中定义变量: host:grains['ipv4'][1] 同样,在httpd.conf中也要写入相应的变量{{grains[‘ipv4’]}} 以pillar的形式 编辑文件: vim /srv/pillar/web/vars.sls {% if grains['fqdn'] == 'server3' %} webserver: httpd state: master ip: 172.25.60.3 port: 8080 {% elif grains['fqdn'] == 'server4' %} webserver: nginx state: backup ip:

CentOS6/7 使用saltstack源安装saltstack

匿名 (未验证) 提交于 2019-12-02 23:32:01
1、CentOS6 配置SaltStack存储库和密钥 sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el6.noarch.rpm 2、清楚yum过期缓存 sudo yum clean expire-cache 依次执行下面命令安装salt所用模块 sudo yum install salt-master sudo yum install salt-minion sudo yum install salt-ssh sudo yum install salt-syndic sudo yum install salt-cloud sudo yum install salt-api 以安装salt-minion为例。安装完成启动minion sudo service salt-minion start 3、CentOS7 配置SaltStack存储库和密钥 sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm 4、清楚yum过期缓存 sudo yum clean expire-cache 依次执行下面命令安装salt所用模块 sudo yum install

Saltstack_实战指南01_系统规划

匿名 (未验证) 提交于 2019-12-02 21:56:30
1. 实战项目GitHub地址 之前《 Saltstack_使用指南 》详细讲解了saltstack的使用。那么从这节开始实战讲解,当然不会再像之前那样详细说明了。只是讲一些系统规划之类的信息。 具体的项目代码请参见GitHub。 该项目已经放在了 GitHub 上,地址如下: https://github.com/zhanglianghhh/salt-example-lnmp 2. 主机规划 说明: 上述的salt03-web、salt04-web、salt05-web、salt150-master没有内网地址。但如果为了方便省事儿,你也可以给这些机器添加外网地址,这样就不需要网关服务器,直接就可以访问公网了。 2.1. 内网机器通过网关服务器访问公网 实现salt03-web、salt04-web、salt05-web、salt150-master通过网关服务器GateWay00,达到访问公网的目的。 前提保证上述所有机器内网都是同一网段,相互之间可以正常通信。 参见博文:《 VMware 实现 iptables NAT及端口映射 》 网关机器开启linux的转发功能 1 [root@gateway01 ~]# tail /etc/sysctl.conf # 添加如下内容 2 ………… 3 net.ipv4.ip_forward = 1 4 [root@gateway01 ~]

Saltstack_使用指南15_多master

匿名 (未验证) 提交于 2019-12-02 21:56:30
1. 主机规划 实现2个master,当这两个master运行时都可以向minion发送命令。 salt 版本 1 [root@salt100 ~]# salt --version 2 salt 2018.3.3 (Oxygen) 3 [root@salt100 ~]# salt-minion --version 4 salt-minion 2018.3.3 (Oxygen) salt 多master文档 https://docs.saltstack.com/en/latest/topics/tutorials/multimaster.html 2. 多master架构 说明: 根据规划在 salt01 创建冗余的master。 3. 多master实现步骤 3.1. 创建冗余的master yum install -y salt-master 3.2. 拷贝主master的key和配置到冗余的master 1 # 拷贝的秘钥 2 /etc/salt/pki/master/master.pem 3 /etc/salt/pki/master/master.pub 4 # 拷贝主master的配置 5 /etc/salt/master 6 # 拷贝主master的目录 7 /srv 3.3. 启动冗余master 1 systemctl enable salt-master

SaltStack--接口salt-api

匿名 (未验证) 提交于 2019-12-02 21:56:30
SaltStack接口salt-api 参考官档 参考官档 SaltStack 官方提供有 REST API 格式的 salt-api 项目,将使 salt 与第三方系统集成变得更加简单。 1)在 salt-master 上进行安装 [root@salt-master ~]# yum -y install salt-api 2)自签名证书,生产环境可以购买(说明:如果没有 salt-call 命令,装上 salt-minion 即可,依赖于该包) [root@salt-master ~]# salt-call --local tls.create_self_signed_cert local: Created Private Key: "/etc/pki/tls/certs/localhost.key." Created Certificate: "/etc/pki/tls/certs/localhost.crt." 3)打开 include 加载子配置文件,方便管理 [root@salt-master ~]# vim /etc/salt/master default_include: master.d/*.conf 4)配置 api 配置文件,将上面生成的证书写到配置文件 [root@salt-master ~]# vim /etc/salt/master.d/api.conf

SaltStack netapi模块REST API——rest_tornado

爷,独闯天下 提交于 2019-12-02 12:30:27
rest_tornado是基于python tornado框架实现的一个Salt REST API技术方案。 您也可以参考在Github上维护的这一份技术资料: rest_tornado 文章目录 A non-blocking REST API for Salt Authentication - 身份认证 CORS - 跨站点请求 Usage - 使用方法 A Websockets add-on to saltnado all_events formatted_events Example responses REST URI Reference / /login /minions /jobs /run /events /hook A non-blocking REST API for Salt 依赖于 tornado Python module 配置方法 所有身份验证均通过Salt的 external auth 外部身份验证系统完成,该系统需要此处未介绍的一些其他配置支持。 为了用salt-master运行rest_tornado,需要将以下内容添加到Salt master配置文件中。 rest_tornado: # can be any port port: 8000 # address to bind to (defaults to 0.0.0.0) address: 0.0

SaltStack netapi模块REST API——rest_cherrypy

懵懂的女人 提交于 2019-12-02 12:29:31
A REST API FOR SALT 截止当前,cherrypy的REST API方案是最为成熟的,也是Salt官方更为推荐使用的一个REST API实现方案。 您也可以参考在Github上维护的这一份技术资料: rest_cherrypy 文章目录 A REST API FOR SALT Install and configuration - 安装与配置 Authentication - 认证 Usage - 用法 Content negotiation - 内容协商 Performance Expectations and Recommended Usage Long-Running HTTP Connections - 需要长时间运行的HTTP连接 Timeouts - 超时 Best Practices - 最佳实践 Performance Tuning - 性能调优 Future Plans - 未来的计划 Deployment 使用CherryPy服务器的salt-api 使用符合WSGI的Web服务器 REST URI Reference / /login /logout /minions /jobs /run /events /hook /keys /ws /stats Install and configuration - 安装与配置 depends -

SaltStack netapi模块REST API——rest_wsgi

戏子无情 提交于 2019-12-02 12:29:01
您也可以参考在Github上维护的这一份技术资料: rest_wsgi 文章目录 A minimalist REST API for Salt - 一个极简的Salt REST API Usage - 用法 Deployment - 部署方式 使用兼容WSGI的Web服务器 使用仅用于开发服务的salt-api Usage examples - 用法示例 POST / A minimalist REST API for Salt - 一个极简的Salt REST API 这个 rest_wsgi 模块提供了一个简洁的REST接口实现,用于将命令发送到Salt master服务器。 不需要依赖于其它工具包。 将该模块部署到生产中时,必须格外小心。 请先完整阅读本文档。 所有身份验证均通过Salt的 external auth 外部身份验证系统完成。 Usage - 用法 所有的访问请求都必须发送到根 URL ( / )。 所有的访问请求都必须使用JSON的数据格式以POST方式发送。 所有的响应结果都是以JSON格式返回的。 See also: rest_cherrypy rest_cherrypy 模块提供了更多的功能、生产环境适配以及内置的安全特性。 Deployment - 部署方式 rest_wsgi netapi模块是标准的Python WSGI应用程序

SaltStack netapi模块——Client interfaces客户端开发接口

自作多情 提交于 2019-12-02 12:25:26
Salt的客户端接口通过制作映射到函数参数的值的字典来对外暴露可执行的功能函数。 这允许仅通过创建数据结构来调用函数。 (而这也正是Salt自己内部的工作方式!) 您也可以参考在Github上维护的这一份技术资料: Client interfaces of netapi modules class salt.netapi.NetapiClient(opts) 提供一种以low-data数据结构形式访问Salt中各种客户端接口的统一方法。 例如: >>> client = NetapiClient(__opts__) >>> lowstate = {'client': 'local', 'tgt': '*', 'fun': 'test.ping', 'arg': ''} >>> client.run(lowstate) local local(*args, **kwargs) 同步方式运行 execution modules 。 有关所有可用参数,请参见 salt.client.LocalClient.cmd() 。 从master主机发送命令到目标minions。 这与Salt自己的CLI使用的接口相同。 请注意, arg 和 kwarg 参数被发送到minions,并且使用这些参数调用指定的函数 fun 。 返回:执行模块输出的结果。 ##local_async local

saltstack实现高可用(apache+nginx+keepalived)

给你一囗甜甜゛ 提交于 2019-12-02 05:53:30
上一篇用server1(salt-master节点)给server2,3分别配置了httpd,nginx服务,现在用server1,继续给2,3配置keepalived 实验过程如下 在salt目录下面建立keepalived目录 将之前apache的推送脚本拷贝一份,然后编辑 写入变量,高可用两个节点的状态,vrid,优先级别均要使用变量 在keepalived目录下面建立files目录 复制一份keepalived的配置文件到这个目录下面,作为模板文件使用 编辑模板文件 编辑文件 [root@server1 keepalived]# vim files/keepalived.conf ! Configuration File for keepalived global_defs { notification_email { root@localhost ##修改主机名 } notification_email_from keepalived@localhost ##修改用户名 smtp_server 127.0.0.1 ##本机IP smtp_connect_timeout 30 router_id LVS_DEVEL vrrp_skip_check_adv_addr #vrrp_strict ##禁用服务 vrrp_garp_interval 0 vrrp_gna