原文发表于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. Reading Meticulous Measurement of Control Packets in SDN

    SOSR 17 概要 网络流量中有一部分是用于网络管理,(根据packet process survey,该部分流量属于包转发的slow path部分)由于sdn的数控分离,交换机需要向控制器发送大量 ...

  2. nRF5 SDK for Mesh(五) Light switch demo 点灯例子

    Light switch demo  灯开demo   Purpose This demo project consists of four sub examples - The light swit ...

  3. IOS 创建简单表视图

    创建简单表视图 此实例主要实现UITableViewDataSource协议中必需要实现的两个方法tableView:numberOfRowsInSection: 和tableView:cellFor ...

  4. Spring 事务传播行为的使用

                                                                                                        ...

  5. 前端css小米导航栏设置及盒子定位居中问题

    1.小米最上部导航栏设置 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  6. SqlParameter 2

    SqlParameter string strSql = "Insert into News(TypeId,NewsCaption,NewsContent) values(@TypeId,@ ...

  7. Java异常体系和异常处理机制

    异常简介 在程序运行过程中出现错误,导致程序出现非预期场景.异常处理可以保证出现错误后,控制接下来的程序流程,是选择定位错误信息,还是抛出异常或捕获异常.还是避免程序非正常退出,都取决于我们. Jav ...

  8. javascript 中x++和++x的不同

    x++和++x都是给x加一,但是前者是完成赋值之后再递增x,后者相反. 例如:如果x是5,y=x++会将y设置为5,x设置为6:而y=++x会将x和y都设置为6.

  9. #leetcode刷题之路30-串联所有单词的子串

    给定一个字符串 s 和一些长度相同的单词 words.找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置.注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要考 ...

  10. centos7 关闭防火墙

    centos7 关闭防火墙 1.firewall相关的操作    查看防火墙状态 firewall-cmd    --state 关闭防火墙 systemctl  stop   firewalld.s ...