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 ~]# sysctl -p   # 生效

网关机器iptables操作

 1 # 将FORWARD链的策略设置为DROP,这样做的目的是做到对内网ip的控制,你允许哪一个访问internet就可以增加一个规则,不在规则中的ip将无法访问internet。
 2 iptables -P FORWARD DROP
 3 # 这条规则规定允许任何地址到任何地址的确认包和关联包通过。一定要加这一条,否则你只允许lan IP访问没有用。
 4 iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
 5 # 这条规则做了一个SNAT,也就是源地址转换,将来自172.16.1.0/24的地址转换为10.0.0.15。
 6 iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j SNAT --to 10.0.0.15
 7 # 允许该网段访问
 8 iptables -A FORWARD -s 172.16.1.0/24 -j ACCEPT
 9 # 保存iptables规则
10 iptables-save > /etc/sysconfig/iptables

最终iptables信息

 1 [root@GateWay00 ~]# iptables -nL
 2 Chain INPUT (policy ACCEPT)
 3 target     prot opt source               destination
 4
 5 Chain FORWARD (policy DROP)
 6 target     prot opt source               destination
 7 ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
 8 ACCEPT     all  --  172.16.1.0/24        0.0.0.0/0
 9
10 Chain OUTPUT (policy ACCEPT)
11 target     prot opt source               destination
12 [root@GateWay00 ~]#
13 [root@GateWay00 ~]# iptables -t nat -nL
14 Chain PREROUTING (policy ACCEPT)
15 target     prot opt source               destination
16
17 Chain INPUT (policy ACCEPT)
18 target     prot opt source               destination
19
20 Chain OUTPUT (policy ACCEPT)
21 target     prot opt source               destination
22
23 Chain POSTROUTING (policy ACCEPT)
24 target     prot opt source               destination
25 SNAT       all  --  172.16.1.0/24        0.0.0.0/0            to:10.0.0.15

3. 系统架构

3.1. 重要说明

生产实践环境中:数据库监控单独一套,做到告警去重。

原因:其他告警可能是因为数据库有问题造成的。

多数情况数据库是单独部署,可以不用 salt 进行部署 【如果量大,那么可以在第一次进行初始化部署】

本次实战为了完整性,对数据库采取了 salt 方式部署。

3.2. 涉及机器hosts文件修改

salt150-master、salt01-haproxy、salt02-haproxy、salt03-web、salt04-web、salt05-web 机器的hosts文件都追加如下信息。

这样主机名相互之间可以解析。

 1 [root@salt100 ~]# cat /etc/hosts
 2 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
 3 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
 4
 5 172.16.1.111    salt01-haproxy
 6 172.16.1.112    salt02-haproxy
 7 172.16.1.113    salt03-web
 8 172.16.1.114    salt04-web
 9 172.16.1.115    salt05-web
10 172.16.1.150    salt150-master

说明:生产优先采用hostname通信,这样后期维护、迁移方便。

4. 所有主机创建yun用户

后期所有的软件都安装在 /app/ 目录下。

1 # 使用一个专门的用户,避免直接使用root用户
2 # 添加用户、指定家目录、用户id并指定用户密码
3 # sudo提权
4 # 让其它普通用户可以进入该目录查看信息
5 useradd -u 1050 -d /app yun && echo '123456' | /usr/bin/passwd --stdin yun
6 echo "yun  ALL=(ALL)       NOPASSWD: ALL" >>  /etc/sudoers
7 chmod 755 /app/

5. 在本地Windows 机器的hosts 文件追加信息

作用:模拟通过 DNS 解析访问网站。

 1 # 文件路径:C:\Windows\System32\drivers\etc\hosts
 2 # 追加信息如下
 3 # SaltStack 实战  其中salt00-keepalived为VIP
 4 10.0.0.110      salt00-keepalived
 5 172.16.1.111    salt01-haproxy
 6 172.16.1.112    salt02-haproxy
 7 172.16.1.113    salt03-web
 8 172.16.1.114    salt04-web
 9 172.16.1.115    salt05-web
10 172.16.1.150    salt150-master

6. salt 部署注意事项

具体部署步骤请参见:《Saltstack_使用指南01_部署》

6.1. master 端配置文件修改并重启

 1 [root@salt150-master ~]# vim /etc/salt/master
 2 ………………
 3 # Allow minions to push files to the master. This is disabled by default, for
 4 # security purposes.
 5 #file_recv: False
 6 # 允许minion向master推送文件,默认不允许
 7 file_recv: True
 8 ………………
 9 #file_roots:
10 #  base:
11 #    - /srv/salt
12 # 添加如下配置
13 file_roots:
14   base:
15     - /srv/salt/base
16   prod:
17     - /srv/salt/prod
18   busi:
19     - /srv/salt/busi
20 [root@salt150-master ~]# systemctl restart salt-master.service  # 重启 master 服务

6.2. minion端配置文件修改并重启

所有机器都操作

 1 [root@salt150-master salt]# pwd
 2 /etc/salt
 3 [root@salt150-master salt]# vim /etc/salt/minion
 4 ………………
 5 # 可以是IP或者hostname
 6 # 如果是hostname那么必须能够解析【最佳实践配置为 主机名】
 7 master: salt150-master
 8 ………………
 9 # Explicitly declare the id for this minion to use, if left commented the id
10 # will be the hostname as returned by the python call: socket.getfqdn()
11 # Since salt uses detached ids it is possible to run multiple minions on the
12 # same machine but with different ids, this can be useful for salt compute
13 # clusters.
14 # 如果id不配置,那么默认为hostname
15 # 如果下次要更改该配置,那么要把 /etc/salt/minion_id 也给删除掉,并重启客户端【会生成一个新的minion_id】
16 #id:
17 [root@salt150-master ~]# systemctl restart salt-minion.service  # 重启服务

6.3. salt 安装完毕后记得加入开机自启动

1 # 服务端开机自启动
2 systemctl enable salt-master.service
3 # minion端开机自启动
4 systemctl enable salt-minion.service    

转载于:https://www.cnblogs.com/zhanglianghhh/p/10952176.html

Saltstack_实战指南01_系统规划相关推荐

  1. Saltstack_使用指南17_salt-ssh

    1. 主机规划 salt 版本 1 [root@salt100 ~]# salt --version 2 salt 2018.3.3 (Oxygen) 3 [root@salt100 ~]# salt ...

  2. 计算机职业生涯测评,皮纹检测职业版——职业生涯规划指南测评系统

    原标题:皮纹检测职业版--职业生涯规划指南测评系统 皮纹检测职业版--职业生涯规划指南测评系统,全新个体职业生涯发展规划的咨询工具. 职业生涯规划指南--按照个体在青年发展阶段的特点,通过计算机采集系 ...

  3. 嵌入式系统Linux内核开发实战指南(ARM平台) 书评

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! < ...

  4. 《Linux/UNIX OpenLDAP实战指南》——2.6 OpenLDAP目录树规划

    本节书摘来自异步社区<Linux/UNIX OpenLDAP实战指南>一书中的第2章,第2.6节,作者:郭大勇著,更多章节内容可以访问云栖社区"异步社区"公众号查看 2 ...

  5. 互联网消费金融行业从业者的实战指南

    2013年是互联网消费金融元年,互联网理财.消费金融等创新产品开始悉数登场:2018年被称为互联网消费金融的转折之年,国内的互联网消费金融从这一年开始走上互联网消费信贷"正规军"之 ...

  6. 《Linux/UNIX OpenLDAP实战指南》——2.5 OpenLDAP单节点配置案例

    本节书摘来自异步社区<Linux/UNIX OpenLDAP实战指南>一书中的第2章,第2.5节,作者:郭大勇著,更多章节内容可以访问云栖社区"异步社区"公众号查看 2 ...

  7. 中小企业网络管理员实战指南(第2版)PDF完整版全书电子书下载中小企业网络管理员实战指南(第2版)PDF完整版全书电子书下载

    中小企业网络管理员实战指南(第2版)PDF完整版全书电子书下载 中小企业网络管理员实战指南(第2版)PDF完整版全书电子书下载 全书所有的章节 目录                           ...

  8. 系统规划与管理备考整理

    @ 一.信息系统综合知识 1.1 信息的定义和属性 1.信息是客观事物状态和运动特征的一种普遍相识,客观世界中大量存在.产生和传递着以这些方式表示出各种各样的信息 (1)信息的定性描述 控制论的创始人 ...

  9. 《Windows PowerShell实战指南(第2版)》——3.4 使用帮助找命令

    本节书摘来自异步社区<Windows PowerShell实战指南(第2版)>一书中的第3章,第3.4节,作者:[美]Don Jones(道·琼斯) , Jeffery Hicks(杰弗瑞 ...

最新文章

  1. sql注入,预编译和事务
  2. 机器学习与推荐系统实践
  3. scala(3):class和object,trait的区别
  4. AS主题+配置备份+Logcat颜色配置
  5. 金属网材质贴图素材推荐 精品 小众
  6. office 2010
  7. 《虚幻4引擎快速入门》视频教程
  8. 测试用例设计——正交实验法
  9. waiting for headers
  10. PE格式之千里追踪输入表
  11. ssm学习笔记之spring
  12. php程序员如何写简历
  13. Nmap常用命令及扫描原理
  14. linux安装weblogic10.3.6
  15. 在MySQL中note是什么意思_在Jupyter noteb中从MySQL中检索巨大的数据表
  16. win7计算机右边预览,如何在win7计算机上打开任务栏缩略图预览功能
  17. 开发错题集(陆续更新...)
  18. linux菜鸡用服务器常用小技巧
  19. Spring框架之AOP详解(带实战详细步骤)
  20. 设置火狐浏览器firefox模拟微信浏览器客户端,调试网站

热门文章

  1. 1014. Best Sightseeing Pair
  2. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1094:与7无关的数
  3. 【Qt】QModbusTcpConnectionObserver类
  4. 【STM32】FSMC相关函数和类型
  5. 【Linux】一步一步学Linux——dpkg命令(269)
  6. 【Linux系统编程】进程常用调度算法
  7. java 自定义消息_Vc中自定义消息及其触发使用
  8. android 重启app_[Boot]Android系统启动-zygote篇
  9. java富文本编辑器wangEditor-3.1.1的使用流程
  10. 常见排序算法详解 (收藏!)