Saltstack_实战指南02_各主机Pillar信息指定

1. 实战项目GitHub地址

该项目已经放在了GitHub上,地址如下:

https://github.com/zhanglianghhh/salt-example-lnmp

2. 主机规划

3. pillar的整体目录结构

 1 [[email protected] pillar]# pwd
 2 /srv/pillar
 3 [[email protected]master pillar]# ll
 4 total 4
 5 drwxr-xr-x 2 root root  62 Mar 10 17:27 base
 6 drwxr-xr-x 2 root root  83 Mar 10 17:39 prod
 7 -rw-r--r-- 1 root root 183 Mar 10 17:42 top.sls
 8 [[email protected]master pillar]# tree
 9 .
10 ├── base
11 │   ├── database.sls
12 │   ├── monitor.sls
13 │   └── nosql.sls
14 ├── prod
15 │   ├── high_available.sls
16 │   ├── program.sls
17 │   ├── proxy.sls
18 │   └── web.sls
19 └── top.sls
20
21 2 directories, 8 files

4. Pillar的top.sls 文件信息

 1 [[email protected] pillar]# cat top.sls
 2 base:
 3   ‘*‘:
 4     # base 目录
 5     - base.database
 6     - base.nosql
 7     - base.monitor
 8     # prod 目录
 9     - prod.web
10     - prod.program
11     - prod.proxy
12     - prod.high_available

5. base基础信息

 1 [[email protected] base]# pwd
 2 /srv/pillar/base
 3 [[email protected]master base]# ll
 4 total 12
 5 -rw-r--r-- 1 root root 258 Mar 10 17:27 database.sls
 6 -rw-r--r-- 1 root root 272 Mar 10 17:20 monitor.sls
 7 -rw-r--r-- 1 root root  99 Mar 10 17:25 nosql.sls
 8 [[email protected] base]# cat database.sls
 9 # 数据库信息
10 # 包含配置文件信息
11 # 注意和 zabbix pillar 不同 的写法
12 {% if grains[‘host‘] == ‘salt03-web‘ %}
13 database_info:
14   database: mysql
15   role: master
16   server-id: 1
17   read_only: "OFF"
18 {% elif grains[‘host‘] == ‘salt04-web‘ %}
19 database_info:
20   database: mysql
21   role: slave
22   server-id: 2
23   read_only: "ON"
24 {% elif grains[‘host‘] == ‘salt05-web‘ %}
25 database_info:
26   database: mysql
27   role: slave
28   server-id: 3
29   read_only: "ON"
30 {% elif grains[‘host‘] == ‘salt150-master‘ %}
31 database_info:
32   database: mariadb
33   read_only: "OFF"
34 {% endif %}
35
36 [[email protected] base]# cat nosql.sls
37 # nosql 信息
38 {% if grains[‘host‘] == ‘salt05-web‘ %}
39 nosql_info:
40   nosql: memcached
41 {% endif %}
42
43 [[email protected] base]# cat monitor.sls
44 # 其中 salt150-maste 172.16.1.150 机器,不仅是 zabbix 客户端,还是服务端
45 # 只包含 zabbix 的属性 【服务端 客户端】
46 monitor_info:
47   monitor:
48     {% if grains[‘host‘] == ‘salt150-master‘ %}
49     zabbix_server: True
50     {% endif %}
51     zabbix_agent: True
52     zabbix_server_hostname: ‘salt150-master‘

6. prod业务组件信息

 1 [[email protected] prod]# pwd
 2 /srv/pillar/prod
 3 [[email protected]master prod]# ll
 4 total 16
 5 -rw-r--r-- 1 root root 326 Mar 10 17:39 high_available.sls
 6 -rw-r--r-- 1 root root 174 Mar 10 17:34 program.sls
 7 -rw-r--r-- 1 root root 148 Mar 10 17:38 proxy.sls
 8 -rw-r--r-- 1 root root 160 Mar 10 17:33 web.sls
 9 [[email protected] prod]# cat web.sls
10 # web 服务器
11 {% if grains[‘host‘] == ‘salt03-web‘ or grains[‘host‘] == ‘salt04-web‘ or grains[‘host‘] == ‘salt05-web‘ %}
12 web_info:
13   web: nginx
14 {% endif %}
15
16 [[email protected] prod]# cat program.sls
17 # 使用的编程语言
18 {% if grains[‘host‘] == ‘salt03-web‘ or grains[‘host‘] == ‘salt04-web‘ or grains[‘host‘] == ‘salt05-web‘ %}
19 program_info:
20   program: php
21 {% endif %}
22
23 [[email protected] prod]# cat proxy.sls
24 # 负载均衡服务器
25 {% if grains[‘host‘] == ‘salt01-haproxy‘ or grains[‘host‘] == ‘salt02-haproxy‘ %}
26 proxy_info:
27   proxy: haproxy
28 {% endif %}
29
30 [[email protected] prod]# cat high_available.sls
31 # 高可用keepalived 的 pillar 信息
32 {% if grains[‘host‘] == ‘salt01-haproxy‘ %}
33 high_available_info:
34   high_available: keepalived
35   high_state: MASTER
36   high_priority: 100
37 {% elif grains[‘host‘] == ‘salt02-haproxy‘ %}
38 high_available_info:
39   high_available: keepalived
40   high_state: BACKUP
41   high_priority: 50
42 {% endif %}

7. pillar信息生效

 1 [[email protected] pillar]# salt ‘*‘ saltutil.refresh_pillar
 2 salt02-haproxy:
 3     True
 4 salt01-haproxy:
 5     True
 6 salt05-web:
 7     True
 8 salt03-web:
 9     True
10 salt150-master:
11     True
12 salt04-web:
13     True

8. pillar信息查看

  1 [[email protected] pillar]# salt ‘*‘ pillar.items
  2 salt05-web:
  3     ----------
  4     database_info:
  5         ----------
  6         database:
  7             mysql
  8         read_only:
  9             ON
 10         role:
 11             slave
 12         server-id:
 13             3
 14     monitor_info:
 15         ----------
 16         monitor:
 17             ----------
 18             zabbix_agent:
 19                 True
 20             zabbix_server_hostname:
 21                 salt150-master
 22     nosql_info:
 23         ----------
 24         nosql:
 25             memcached
 26     program_info:
 27         ----------
 28         program:
 29             php
 30     web_info:
 31         ----------
 32         web:
 33             nginx
 34 salt02-haproxy:
 35     ----------
 36     high_available_info:
 37         ----------
 38         high_available:
 39             keepalived
 40         high_priority:
 41             50
 42         high_state:
 43             BACKUP
 44     monitor_info:
 45         ----------
 46         monitor:
 47             ----------
 48             zabbix_agent:
 49                 True
 50             zabbix_server_hostname:
 51                 salt150-master
 52     proxy_info:
 53         ----------
 54         proxy:
 55             haproxy
 56 salt03-web:
 57     ----------
 58     database_info:
 59         ----------
 60         database:
 61             mysql
 62         read_only:
 63             OFF
 64         role:
 65             master
 66         server-id:
 67             1
 68     monitor_info:
 69         ----------
 70         monitor:
 71             ----------
 72             zabbix_agent:
 73                 True
 74             zabbix_server_hostname:
 75                 salt150-master
 76     program_info:
 77         ----------
 78         program:
 79             php
 80     web_info:
 81         ----------
 82         web:
 83             nginx
 84 salt04-web:
 85     ----------
 86     database_info:
 87         ----------
 88         database:
 89             mysql
 90         read_only:
 91             ON
 92         role:
 93             slave
 94         server-id:
 95             2
 96     monitor_info:
 97         ----------
 98         monitor:
 99             ----------
100             zabbix_agent:
101                 True
102             zabbix_server_hostname:
103                 salt150-master
104     program_info:
105         ----------
106         program:
107             php
108     web_info:
109         ----------
110         web:
111             nginx
112 salt01-haproxy:
113     ----------
114     high_available_info:
115         ----------
116         high_available:
117             keepalived
118         high_priority:
119             100
120         high_state:
121             MASTER
122     monitor_info:
123         ----------
124         monitor:
125             ----------
126             zabbix_agent:
127                 True
128             zabbix_server_hostname:
129                 salt150-master
130     proxy_info:
131         ----------
132         proxy:
133             haproxy
134 salt150-master:
135     ----------
136     database_info:
137         ----------
138         database:
139             mariadb
140         read_only:
141             OFF
142     monitor_info:
143         ----------
144         monitor:
145             ----------
146             zabbix_agent:
147                 True
148             zabbix_server:
149                 True
150             zabbix_server_hostname:
151                 salt150-master

9. 说明

1 其他的就不单独写文章了,都是之前讲解过的。
2 该实战项目中有些细节补充,结合之前所学,即可达到整体实战目的。项目实战代码请参见开头的GitHub地址。
3 如果阅读后有些地方不清楚,可以结合之前的《Saltstack_使用指南_系列》进行参考。

原文地址:https://www.cnblogs.com/zhanglianghhh/p/10952198.html

时间: 2024-08-05 12:15:03

Saltstack_实战指南02_各主机Pillar信息指定的相关文章

Saltstack_实战指南01_系统规划

1. 实战项目GitHub地址 之前<Saltstack_使用指南>详细讲解了saltstack的使用.那么从这节开始实战讲解,当然不会再像之前那样详细说明了.只是讲一些系统规划之类的信息. 具体的项目代码请参见GitHub. 该项目已经放在了GitHub上,地址如下: https://github.com/zhanglianghhh/salt-example-lnmp 2. 主机规划 说明: 上述的salt03-web.salt04-web.salt05-web.salt150-master

Saltstack_使用指南17_salt-ssh

1. 主机规划 salt 版本 1 [[email protected] ~]# salt --version 2 salt 2018.3.3 (Oxygen) 3 [[email protected] ~]# salt-minion --version 4 salt-minion 2018.3.3 (Oxygen) salt ssh文档 https://docs.saltstack.com/en/latest/topics/ssh/index.html 2. salt-ssh实现步骤 2.1.

LNMP架构应用实战——Nginx配置虚拟主机

LNMP架构应用实战--Nginx配置虚拟主机        前面介绍了nginx服务的安装与配置文件,今天介绍下它的另一种实用配置--"虚拟主机",每个虚拟主机可以是一个独立的网站,可以具有独立的域名,同一台服务器上的不同的虚拟主机之间是独立的,用户访问不同虚拟主机如同访问不同的服务器一样,因此它不需要为一个单独的WEB站点提供单独一个nginx服务器和一个单独的nginx进程 1.nginx虚拟主机简单介绍 同apache服务一样,它也有三种不同的虚拟主机,基于域名的虚拟主机.基于

购买李宁Cocos2d-x套餐,送最新出的《Cocos2d-x游戏实战指南》签名书一本

活动时间:2016-10-18至2016-11-30 通过本套餐,可完全了解Cocos2d-x 3.x的相关技术,以及掌握C++语言,并具有一定的项目实战经验. Cocos2d-x游戏开发套餐:http://edu.51cto.com/pack/view/id-114.html <Cocos2d-x游戏实战指南>封面 本书月底出版,触控科技副总裁Jane.微软开放体验和合作事业部开发技术顾问梅颖广.51CTO学院运营总监曹亚莉.哈尔滨工业大学  王峥  联袂推荐 目录 第1章     初识CO

SQL Server 2012实施与管理实战指南(笔记)——Ch5启动SQL Server服务和数据库

5.启动SQL Server服务和数据库 在数据库和服务启动过程中,经常会出现的问题: 1.SQL Server实例无法正常启动 2.系统数据库无法正常启动 3.网络配置失败 4.用户数据库无法启动 5.集群环境下SQL Server资源无法保持在线 目录 5.启动SQL Server服务和数据库... 1 5.1 SQL Server服务启动步骤... 1 5.1.1 从注册表中读取SQL Server启动信息... 1 5.1.2 检查硬件,配置内存和CPU.. 2 5.1.3 数据库启动.

SQL Server 2012实施与管理实战指南(笔记)——Ch3Alwayson可用组

3.AlwaysOn可用组 Alwayson支持的,是一个可用性组,每个可用性组是包含了多个用户数据库的容器,可用性组内的数据库可以作为一个整体进行故障转移. AlwaysOn关键特性: 一.类似集群的特性 1.多个数据库可以一起迁移 2.提供一个虚拟服务器名,这个虚拟服务器名始终是当前的primary. 3.可以有自动切换,手动切换和强制切换 4.一个primary,最多4个secondary(sql server 2014增加到了8个) 5.Dashborad可以监视alwayson运行状况

burpsuite实战指南

Burp Target 组件主要包含站点地图.目标域.Target 工具三部分组成,他们帮助渗透测试人员更好地了解目标应用的整体状况.当前的工作涉及哪些目标域.分析可能存在的攻击面等信息,下面我们就分别来看看Burp Target的三个组成部分. 本章的主要内容有: 目标域设置 Target Scope 站点地图 Site Map Target 工具的使用 目标域设置 Target Scope Target Scope中作用域的定义比较宽泛,通常来说,当我们对某个产品进行渗透测试时,可以通过域名

Java多线程编程实战指南(设计模式篇,黄文海)-之管道线模式

不得不说,本人工作上很少有使用多线程编程技术的地方.由于本人工作上经常使用的是类似SSH等框架搭建MVC架构,所以更加习惯于编写一些优秀程序员所唾弃的样板式的代码.最近看了文海的多线程编程实战指南,瞬间眼前一亮.觉得有很多自己可以学习的,事实上,我已经在最近的项目中使用上了那本书介绍的两相终止模式.串行封闭模式.生产者消费者模式以及线程池等技术,确实在许多方面改进了我们服务端的吞吐量.说到这里本人吐槽一下,由于是毕业后转行,目前也才工作一年还不满2个月.所以原谅我的得瑟,但我相信我以后会做的更好

Burp Suite 实战指南

第一部分 Burp Suite 基础 Burp Suite 安装和环境配置 Burp Suite代理和浏览器设置 如何使用Burp Suite 代理 SSL和Proxy高级选项 如何使用Burp Target 如何使用Burp Spider 如何使用Burp Scanner 如何使用Burp Intruder 如何使用Burp Repeater 如何使用Burp Sequencer 如何使用Burp Decoder 如何使用Burp Comparer 第二部分 Burp Suite 高级 数据查