SaltStack常用组件使用 SaltStack配置文件说明 轻量级DNS、DHCP服务软件DNSMASQ 千万级PV(日)的移动应用架构如何实现 高效运维最佳实践-运维自动化之殇 Ubuntu 14.04 Linux如何配置静态IP地址和DNS服务器 ELK 常见错误与解决办法 Elasticsearch 集群配置管理常用操作 常用数字证书格式相互转换-OpenSSL/Keytool/Jks2pfx ELK 综合日志归档分析系统(2)-Logstash安装配置 Elasticsearch之Shield认证与权限管理 ELK 综合日志归档分析系统(1)-Elasticsearch-Redis安装配置 Redmine 3.2 安装配置指南 CentOS6 大型web系统数据缓存设计 Redis 集群方案 Linux 内核TCP优化详解 SaltStack初始化安装配置 OpenLDAP常用操作 OpenLDAP统一身份认证 [CentOS6/7] 构建Linux Skype Message消息推送API服务(Zabbix集成告警) Tomcat 生产服务器性能优化 Zabbix结合iptables监控网络流量 Linux操作系统环境配置与优先级问题 深入 NGINX: 我们如何设计性能和扩展 Windows SQL Server 性能计数器详细说明 Windows性能计数器说明 Ubuntu安装openntpd报错:Starting openntpd: /etc/openntpd/ntpd.conf: Permission denied locale: Cannot set LC_ALL to default locale: No such file or directory OpenSSL拆解p12证书公约和私钥 Linux sar 统计系统性能(网卡、内存和交换空间、CPU资源等) Linux Shell /dev/null 2>&1 含义 Windows 2003操作系统网络不通 构建私有yum安装源镜像站点(openstack) CentOS6/RedHat6新增网卡识别问题 Ubuntu 14.04 Server优化与使用问题解决 Redhat/CentOS6系统使用ntfs-3g挂载NTFS分区 Linux GPT挂载超过2TB磁盘 Linux系统性能优化、测试和监控工具梳理 修复WIN2003远程桌面服务无法访问 解决CentOS“Zabbix discoverer processes 75% busy”的问题 REHL/CentOS安装phpMyadmin

SaltStack初始化安装配置

2016年06月02日

一、SaltStack简介

SaltStack是一个服务器基础架构集中化管理平台,salt底层采用动态的连接总线,具备配置管理、远程执行、监控等功能,她是一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,速度够快,服务器之间秒级通讯。

一般可以将SaltStack理解为简化版的puppet和加强版的func。SaltStack基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。

通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。

saltstack

二、saltstack安装

bootstrap-salt.sh是自动安装脚本,能够根据操作系统平台识别并安装相应的SaltStack版本。

https://raw.githubusercontent.com/saltstack/salt-bootstrap/stable/bootstrap-salt.sh

2.1 Ubuntu 14.04

最新版的SaltStack通过Ubuntu PPA进行发布,通过下面命令添加PPA

sudo add-apt-repository ppa:saltstack/salt

安装salt-master、salt-minion或salt-syndic。

sudo apt-get update
sudo apt-get -y install salt-master
sudo apt-get -y install salt-minion
#salt-syndic 类似于代理接口
#sudo apt-get install salt-syndic

2.2 RHEL/CENTOS 6 AND 7, SCIENTIFIC LINUX

SaltStack RPM安装包已包含在EPEL的库中,根据下面的版本下载并安装EPEL

http://download.fedoraproject.org/pub/epel/6/i386/repoview/epel-release.html
http://download.fedoraproject.org/pub/epel/6/x86_64/repoview/epel-release.html
http://download.fedoraproject.org/pub/epel/7/x86_64/repoview/epel-release.html
#CENTOS6 x86_64
rpm -ivh  http://mirrors.opencas.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm
#CENTOS6 x86_32
rpm -ivh http://mirrors.opencas.cn/epel/6/i386/epel-release-6-8.noarch.rpm
#CENTOS7 x86_64
rpm -ivh http://mirrors.opencas.cn/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
#安装SaltStack
yum install salt-master salt-minion

安装完成后,默认SaltStack配置未见位于/etc/salt目录下,如下:

/etc/salt/
├── master
├── master.d
├── minion
├── minion.d
├── minion_id
└── pki
    ├── master
    │   ├── master.pem
    │   ├── master.pub
    │   ├── minions
    │   │   ├── VM-OptDevRHEL-49-35
    │   │   └── VM-Ubuntu1404-49-70
    │   ├── minions_pre
    │   └── minions_rejected
    └── minion

2.3 配置防火墙

默认SaltStack master需要开放TCP 4505,4506端口外网通讯,salt-minion不需要开放端口,它能够主动与salt-master 4505/tcp连接通讯。

#CENTOS6
iptables -A INPUT -m state --state new -m tcp -p tcp --dport 4505 -j ACCEPT
iptables -A INPUT -m state --state new -m tcp -p tcp --dport 4506 -j ACCEPT
service iptables save
#CENTOS 7
firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp
firewall-cmd --reload
#Ubuntu/Debain
ufw allow 4505/tcp
ufw allow 4506/tcp

三、配置SaltStack Master、Minion

3.1 初始化salt-minion配置文件

Salt-master初始化配置基本上不需要修改什么参数。初步测试,只需要保持默认配置即可,详细配置在使用的时候在修改。

修改minion配置,使其能够连接到salt-master。

vim /etc/salt/minion
master: salt.example.com
id: 172-22-16-10-BJ-CN

注意:

1.配置文件中冒号后面需要有“空格”。

2.如果不配置minion id,将使用主机hostname。

启动SaltStack服务

sudo service salt-master start
sudo service salt-minion start

3.2 客户端密钥配置

salt-minion安装成功启动后,会在/etc/salt/pki/minions下创建RSA的公私钥,用于与Salt-Master进行通讯。我们需要在salt-master中配置并接受该机器和密钥的连接才能正常的进行管理。

salt-key 常用的命令选项 
-a [option] 确认指定的证书
-A          确认所有的证书
-d [option] 删除指定的证书
-D          删除所有的证书
-L          列出所有证书

查看所有连接到master的minion密钥。该命令显示的是minion的id或主机名

root@ubuntu:~/salt# salt-key
Accepted Keys:
Unaccepted Keys:
VM-OptDevRHEL-49-35
VM-Ubuntu1404-49-70
Rejected Keys:

查看密钥的公钥指纹

root@ubuntu:~/salt# salt-key -f VM-Ubuntu1404-49-70
Accepted Keys:
VM-Ubuntu1404-49-70:  fc:73:4d:0a:71:8a:a5:3b:b3:cd:7c:1c:d3:f3:75:ac

在Salt-minion上查看KEY公钥指纹信息

root@ubuntu:~# salt-call --local key.finger
local:
    fc:73:4d:0a:71:8a:a5:3b:b3:cd:7c:1c:d3:f3:75:ac

如果KEY公钥指纹信息匹配,可以通过下面命令接受该公钥

root@ubuntu:~# salt-call --local key.finger
local:
    fc:73:4d:0a:71:8a:a5:3b:b3:cd:7c:1c:d3:f3:75:ac

如果接受所有KEY,可以使用salt-key -A

root@ubuntu:~/salt# salt-key -a VM-Ubuntu1404-49-70
The following keys are going to be accepted:
Unaccepted Keys:
VM-Ubuntu1404-49-70
Proceed? [n/Y] Y
Key for minion myminion accepted.

注意:如果salt-minion连接的salt-master服务端密钥发生变更,这需要在/etc/salt/pki/minion/minion_master.pub处进行修改。

3.3 测试salt-minion 客户端

[root@ubuntu~]# salt '*' test.ping
localhost:
    True
Company-WIN08R2-SERV1:
    True
Company-Linux-Ubuntu-10-12-49-70:
    True
Personal-WIN2003R2-10-1-1-11:
    True
Company-Linux-Centos-10-12-49-35:
    Minion did not return. [No response]

注意:

saltstack-master在跨越防火墙部署时,有时候有因为zeroMQ问题导致通讯失败。

转载请注明:自动化运维 » SaltStack初始化安装配置