Centos7.2部署saltstack
原文发表于cu:2016-06-23
参考文档:
- Saltstack安装文档:https://repo.saltstack.com/#rhel
saltstack的安装与简单配置,应用。
一.环境
Server:CentOS Linux release 7.2.1511 (Core)
Salt-master:172.18.12.201
Salt-minion:172.18.12.204
二.Saltstack安装与配置
1. yum安装
# Salt-master安装:
[root@localhost ~]# yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el7.noarch.rpm
[root@localhost ~]# yum clean expire-cache
[root@localhost ~]# yum install salt-master # Salt-minion安装,最后一步安装组件有区别:
[root@localhost ~]# yum install salt-minion
2. 防火墙配置(salt-master)
# CentOS7.2默认自带firewall,无iptable;
# 移除系统自带firewall的开机启动,安装iptable,设置iptable开机启动
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl disable firewalld.service
[root@localhost ~]# yum install iptables-services –y
[root@localhost ~]# systemctl enable iptables.service
[root@localhost ~]# systemctl restart iptables.service # tcp4505是salt-master消息发布系统端口,salt-master通过ZeroMQ发布消息,minion连接到tcp4505端口,即Publish/Subscribe模式(发布与订阅);
# tcp4506是salt-minion返回信息的端口,salt-minion采取ZeroMQ的Request-Reply模式(请求与响应);
# Salt-minion可不做防火墙处理,默认iptable规则即可,流程上是salt-minion主动订阅并返回salt-master
[root@localhost ~]# vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 4505 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 4506 -j ACCEPT
3. salt-master配置
#interface参数绑定master的通信ip,默认可不变更,表示所有主机ip;
[root@localhost ~]# sed -i 's/#interface: 0.0.0.0/interface: 172.18.12.201/g' /etc/salt/master # hash_type参数默认可不变更,salt-master也可启动,但启动后有告警如下:
# [WARNING ] IMPORTANT: Do not use md5 hashing algorithm! Please set "hash_type" to sha256 in Salt Master config!
[root@localhost ~]# sed -i 's/#hash_type: md5/hash_type: sha256/g' /etc/salt/master # auto_accept参数是自动认证开关,默认关闭,使用salt-key确认证书信任
[root@localhost ~]# sed -i 's/#auto_accept: False/auto_accept: True/g' /etc/salt/master
4. salt-minion配置
# master参数指定master 的ip (或者主机名),必配参数,如果minion启动时不能解析到master 主机,启动会失败;
[root@localhost ~]# sed -i 's/#master: salt/master: 172.18.12.201/g' /etc/salt/minion # hash_type参数同master;
[root@localhost ~]# sed -i 's/#hash_type: sha256/hash_type: sha256/g' /etc/salt/minion # id参数设置salt-minion名,默认未设置,minio名取主机hostname中设定的主机名
[root@localhost ~]# sed -i 's/#id:/id: 172.18.12.204/g' /etc/salt/minion
5. 启动服务
启动salt-master
# 设置开机启动,启动后查看状态;
# 启动中有问题可通过"systemctl status salt-master.service"与"salt-mater -l debug"等命令定位故障,下面salt-minion相同
[root@localhost ~]# systemctl enable salt-master.service
[root@localhost ~]# systemctl start salt-master.service
[root@localhost ~]# systemctl status salt-master.service

启动salt-minion
#设置开机启动,启动后查看状态
[root@localhost ~]# systemctl enable salt-minion.service
[root@localhost ~]# systemctl start salt-minion.service
[root@localhost ~]# systemctl status salt-mionion.service

6. 验证(salt-master)
查看minion表
[root@localhost ~]# salt-key -L

Salt-master已经设置"auto_accept"参数为"True",minion主机"172.18.12.204"已在"Acceptd Keys"中(主机名为salt-minion设置的id或hostname)。
手动认证key("auto_accept"参数为"False"时)
# -A指确认"Unacceptd Keys"中的全部minion(unacceptd中的minion列表为红色,确认到accepted列表中后变为绿色)
[root@localhost ~]# salt-key -A # -a指"Unacceptd Keys"中特定的minion
# 或[root@localhost ~]# salt-key -a 172.18.12.204
简单的命令测试
# "*"表示所有"Acceptd Keys"中的minion,也可以对特定的minion执行命令;
# 返回值为"True"表示master与minion连接成功
[root@localhost ~]# salt "*" test.ping

#使用"cmd.run"可以执行具体的命令
[root@localhost ~]# salt "*" cmd.run "iptables -nL"

Centos7.2部署saltstack的更多相关文章
- Centos7快速部署saltstack
saltstack是一个和ansible差不多的自动化运维工具,可以用来批量管理大量主机 OS:centos7.3 server:172.16.13.159 client: 172.16.13.156 ...
- 在 CentOS7 上部署 MySQL 主从
在 CentOS7 上部署 MySQL 主从 通过 SecureCRT 连接至 MySQL 主服务器: 找到 my.cnf 文件所在的目录: mysql --help | grep my.cnf 一般 ...
- 在 CentOS7 上部署 zookeeper 服务
在 CentOS7 上部署 zookeeper 服务 1 用 SecureCRT 或 XShell 等 Linux 客户端工具连接至 CentOS7 服务器: 2 进入到 /usr/local/too ...
- CentOS 7.2 部署Saltstack
CentOS 7.2部署Saltstack 一.环境介绍: 服务器名称 IP地址 Salt-Master 192.168.30.141 Slave1 192.168.30.131 Slave2 192 ...
- GIT-Linux(CentOS7)系统部署git服务器
GIT-Linux(CentOS7)系统部署git服务器 root账号登录 一. 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget ...
- 在阿里云ECS CentOS7上部署基于MongoDB+Node.js的博客
前言:这是一篇教你如何在阿里云的ECS CentOS 7服务器上搭建一个个人博客的教程,教程比较基础,笔者尽可能比较详细的把每一步都罗列下来,包括所需软件的下载安装和域名的绑定,笔者在此之前对Linu ...
- CentOS7.4部署Python3+Django+uWSGI+Nginx
CentOS7.4部署Python3+Django+uWSGI+Nginx http://www.showerlee.com/archives/2590
- CentOS7安装部署zabbix3.4操作记录
CentOS7安装部署zabbix3.4操作记录 1.安装前准备 1.1 查看centos的系统版本 [root@zabbix ~]# cat /etc/redhat-release CentOS L ...
- centos7.2 部署zabbix 3.2.7
centos7.2 部署zabbix 3.2.7[zabbix@zabbixServer ~]$ cat /etc/redhat-release CentOS Linux release 7.2.15 ...
随机推荐
- HDU 1301Jungle Roads(最小生成树 prim,输入比较特殊)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1301 Jungle Roads Time Limit: 2000/1000 MS (Java/Oth ...
- 理解numpy exp函数
exp,高等数学里以自然常数e为底的指数函数 Exp:返回e的n次方,e是一个常数为2.71828 Exp 函数 返回 e(自然对数的底)的幂次方. a = 1 print np.exp(a) a ...
- Reading Software Defined Traffic Measurement with OpenSketch
NSDI '13 概要 OpenSketch是一个通用的.抽象的测量框架, 与SDN 网络架构类似, OpenSketch 提出将测量控制层和数据层解耦. 数据层运行设为可动态配置的3阶段流水线, 首 ...
- gdb调试时的问题Missing separate debuginfos, use: debuginfo-install glibc-XXX
在CentOS6.4下使用gdb进行调试的时候, 使用bt(breaktrace)命令时,会弹出如下的提示: 头一天提示: Missing separate debuginfos, use: debu ...
- 一点一点看JDK源码(〇)
一点一点看JDK源码(〇) liuyuhang原创,未经允许进制转载 写在前面: 几乎所有的大神都会强调看源码,也强调源码的重要性: 但是如何看源码,源码看什么?看了什么用?看了怎么用? 困扰很多人, ...
- SQL Server系统表sysobjects
sysobjects 表 在数据库内创建的每个对象(约束.默认值.日志.规则.存储过程等)在表中占一行.只有在 tempdb 内,每个临时对象才在该表中占一行. sysobjects 表结构: 列名 ...
- 【学时总结】 ◆学时·III◆ 二分图
[学时·III] 二分图 ■基本策略■ 其实本质是图论中的网络流 二分图是两个由多个点组成的集合(上部和下部,且没有重叠),两个集合中的点不与该集合内其他的点连通,但和另一个集合内的点连通.我们称这两 ...
- 谈谈对html5的了解
1.良好的移动性,以移动端设备为主. 2.响应式设计,以适应自动变化的屏幕尺寸. 3.支持离线缓存技术,webStorage本地缓存. 4.新增canvas,video,audio等新.标签元素.新增 ...
- shell的奇淫巧技--自动化脚本(sed命令)
使用场景:前段时间交易所项目需要在服务器上用到 根据websocket推送价格数据,在交易所内进行下单撤单处理,但是由于有多个交易对,在服务器上部署时候,略显繁琐.(撮合引擎同样有此问题,可以一并解决 ...
- 对类Vue的MVVM前端库的实现
关于实现MVVM,网上实在是太多了,本文为个人总结,结合源码以及一些别人的实现 关于双向绑定 vue 数据劫持 + 订阅 - 发布 ng 脏值检查 backbone.js 订阅-发布(这个没有使用过, ...