saltstack安装部署
Saltstack概念
Saltstack 比 Puppet 出来晚几年,是基于Python 开发的,也是基于 C/S 架构,服务端 master 和客户端
minions ;Saltstack 和 Puppet 很像,可以说 Saltstatck 整合了 Puppet 和 Chef
的功能,更加强大,更适合大规模批量管理服务器,并且它比 Puppet 更容易配置。这里是引用
salt特点:
并行,管理的工具,Python开发的。可二次开发。 salt远程执行 salt配置管理
salt云管理(阿里云升级,salt还没有升级,故salt不能管理阿里云)Local Master,Minion(类似主从,最常用的) Salt SSH
salt支持的操作系统:
CentOS、RedHat、Debian、Ubuntu、FreeBSD、Solaris、Fedora、Gentoo、MAC OS
X、Archlinux、Suse等 Winodows(只能当Minion)三大功能: 远程命令执行,配置管理(服务,文件,cron,用户,组),云管理。 支持系统:大多数都支持,windows 上不支持安装
master
一,安装前配置
1.准备两台机器: 一台服务端 一台客户端
hostnamectl set-hostname saltstack
服务端hostnamectl set-hostname client1
客户端
2.关闭防火墙和selinx
systemctl stop firewalld
setenforce 0
3.修改文件 vim vim /etc/selinux/config
SELINUX=disabled
4.编/etc/hosts文件 两台都设置,若机器太多,可以通过搭建 DNS,则不用在每台机器上设置
vim /etc/hosts
192.168.2.6 saltstack
192.168.2.8 client1
5.分别为两台机器添加epel源 依次执行以下三条命令,注意:这里使用的是阿里云的镜像源
官方源:
sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
阿里云源:
sudo yum install https://mirrors.aliyun.com/saltstack/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
文件中的访问地址需要替换成镜像站的路径,执行命令:
sudo sed -i "s/repo.saltstack.com/mirrors.aliyun.com\/saltstack/g" /etc/yum.repos.d/salt-latest.repo
二,开始安装
服务端安装
yum -y install salt-master salt-minion
客户端安装
yum -y install salt-minion
三.主客服务器都配置
服务器端:vim /etc/salt/minion +16(第16行)
以下两种方式都可以,选择其中一种即可
①master改为服务端的主机名
master: saltstack
id: saltstack②master改为服务端的IP
master: 192.168.2.6
id:saltstack客户端:vim /etc/salt/minion +16(第16行)
以下两种方式都可以,选择其中一种即可
①master改为服务端的主机名
master: saltstack
id: client1②master改为服务端的IP
master: 192.168.2.6
id: client1
四.启动saltstack服务
服务端
(设置开机自启动master、minion)
systemctl enable salt-master
systemctl enable salt-minion
(开启服务)
systemctl start salt-master
systemctl start salt-minion
客户端
(设置开机自启动minion)
systemctl enable salt-minion
(开启服务)
systemctl start salt-minion
(重启服务)
systemctl restart salt-minion
五.配置认证(只在服务器配置)
1.salt-key -L(查看所有minion-key)2.如果没有客户端主机名显示 执行 salt-key -A(接受所有的minion-key) Proceed?[n/y] y(一路回车) 再执行salt-key -L3.检测通讯是否正常salt '*' test.ping
通过salt ‘*’ cmd.run ‘df -h’ //远程执行命令
saltstack的模块
1.cmd 模块
2.cp 模块
3.file 模块
4.hosts
5.cron
6.network
7.sys
8.service
9.pkg
10.status
11.group
12.dnsutil
13.user
14.archive