原文发表于cu:2016-06-23

参考文档:

  1. 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的更多相关文章

  1. Centos7快速部署saltstack

    saltstack是一个和ansible差不多的自动化运维工具,可以用来批量管理大量主机 OS:centos7.3 server:172.16.13.159 client: 172.16.13.156 ...

  2. 在 CentOS7 上部署 MySQL 主从

    在 CentOS7 上部署 MySQL 主从 通过 SecureCRT 连接至 MySQL 主服务器: 找到 my.cnf 文件所在的目录: mysql --help | grep my.cnf 一般 ...

  3. 在 CentOS7 上部署 zookeeper 服务

    在 CentOS7 上部署 zookeeper 服务 1 用 SecureCRT 或 XShell 等 Linux 客户端工具连接至 CentOS7 服务器: 2 进入到 /usr/local/too ...

  4. CentOS 7.2 部署Saltstack

    CentOS 7.2部署Saltstack 一.环境介绍: 服务器名称 IP地址 Salt-Master 192.168.30.141 Slave1 192.168.30.131 Slave2 192 ...

  5. GIT-Linux(CentOS7)系统部署git服务器

    GIT-Linux(CentOS7)系统部署git服务器 root账号登录 一. 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget ...

  6. 在阿里云ECS CentOS7上部署基于MongoDB+Node.js的博客

    前言:这是一篇教你如何在阿里云的ECS CentOS 7服务器上搭建一个个人博客的教程,教程比较基础,笔者尽可能比较详细的把每一步都罗列下来,包括所需软件的下载安装和域名的绑定,笔者在此之前对Linu ...

  7. CentOS7.4部署Python3+Django+uWSGI+Nginx

    CentOS7.4部署Python3+Django+uWSGI+Nginx http://www.showerlee.com/archives/2590

  8. CentOS7安装部署zabbix3.4操作记录

    CentOS7安装部署zabbix3.4操作记录 1.安装前准备 1.1 查看centos的系统版本 [root@zabbix ~]# cat /etc/redhat-release CentOS L ...

  9. centos7.2 部署zabbix 3.2.7

    centos7.2 部署zabbix 3.2.7[zabbix@zabbixServer ~]$ cat /etc/redhat-release CentOS Linux release 7.2.15 ...

随机推荐

  1. log4j 日志配置和jar包下载

    1.日志log4j文件配置 ${webapp.root}才是项目根目录log4j.appender.logfile.File= ${catalina.home}/log/filter.log 指生成日 ...

  2. 404 Note Found 队-Alpha10

    目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...

  3. 大话Linux内核中锁机制之内存屏障、读写自旋锁及顺序锁

    大话Linux内核中锁机制之内存屏障.读写自旋锁及顺序锁 在上一篇博文中笔者讨论了关于原子操作和自旋锁的相关内容,本篇博文将继续锁机制的讨论,包括内存屏障.读写自旋锁以及顺序锁的相关内容.下面首先讨论 ...

  4. C#多个if与if+多个else if有何不同?

    int a=1; if(a==1){System.out.println("1");} if(a==2){System.out.println("2");} i ...

  5. flashback query闪回数据

    误删除了部分重要数据,已提交,需要恢复.首先尝试flashback query闪回数据. 数据库运行在归档模式,首先确认数据库的SCN的变化: SQL> col fscn for 9999999 ...

  6. 『ACM C++』 PTA 天梯赛练习集L1 | 029-033

    哈哈,今天开始我也是学车人了~ 开始一千多道疯狂刷题~ ------------------------------------------------L1-029------------------ ...

  7. XML中需要转义的字符

    有的数据库表的字段名,对于某些数据库来讲,是属于关键字或者保留字来处理识别的,那么这个时候,需要对这样的字段名进行转义处理,一般在执行sql 语句脚本的情况,处理办法是在这个字段名外加上双引号就可以识 ...

  8. ionic ios 打包发布流程

    1.ionic cordova resources ios    在windows下 生成ios资源包 2.拷贝ionic 项目到mac电脑 不用拷贝platforms 并解压 3.正常情况下wido ...

  9. 偏前端--之小白学习本地存储与cookie

    百度了很多都是讲的理论,什么小于4kb啊之类的,小白看了一脸懵逼复制到html中为什么没效果!!哈哈.我来写一个方便小白学习. 贴图带文字描述,让小白也运行起来,然后自己再去理解... 1. cook ...

  10. js之冒泡排序与快速排序

    //冒泡排序 let arr = [1, 6, 3, 7, 5, 9, 2, 8]; function sort(arr) { //升序 console.time("冒泡排序耗时" ...