开始学saltstack的时候是在现在一家做CDN加速的,同步下发的用到这个工具,下面我简单介绍和操作给大家看下。
Salt 和 Puppet Chef 一样可以让你同时在多台服务器上执行命令也包括安装和配置软件。Salt 有两个主要的功能:配置管理和远程执行。
Saltstack是一个大型分布式的配置管理系统(安装升级卸载软件,检测环境),也是一个远程命令执行系统。通过c/s的模型实现。服务器端对远程客户机的操作:
一、Saltstack架构概述
Saltstack基于C/S架构,服务端master和客户端minions ,其主要由以下部分组成:
Saltstack的安装配置
(1)两组服务器进行,操作系统版本为Centos release 6.4 ,RHEL 也可以。
(2)安装这个先安装下epel由于现在网络RHEL官网yum源还没有 saltstack的安装包支持。因此先安装epel作为部署saltstack的默认yum源。
CenOs 5 版本: rpm -Uvh 下载地址:http://ftp.linux.ncsu.edu/pud/epel/6/i386/epel-release-5-4.noarch.rpm
CenOs 6 版本: rpm -Uvh 下载地址:http://ftp.linux.ncsu.edu/pud/epel/6/i386/epel-release-6-8.noarch.rpm
百度云也可以去下载,我的是centos 64位的 http://pan.baidu.com/s/1eQGWboI
默认配置文件位于/etc/salt/master ,默认不需要更改该配置文件。master端有两个端口需要在iptables上放行
(3)修改/etc/hosts (2.设置域名hosts文件#(当然可以直接使用IP))
主机要添加被控机器的IP 和主机名
192.168.2.81 test81.salt.cn
192.168.2.83 test82.salt.cn
cat /etc/hosts
192.168.2.81 test81.salt.cn
192.168.2.82 test82.salt.cn
192.168.2.83 test83.salt.cn
(1) 主服务器 (主控端) ip:192.168.2.11
#yum install -y salt-master (安装salt-master)
#chkconfig salt-master on 设置开机启动
#service salt-master start 启动salt服务
(2)从服务器安装 (被控端)ip : 192. 168 . 2 .81
#yum install salt-minion -y (安装salt-minion)
#chkconfig salt-master on 设置开机启动
#service salt-master start 启动salt服务
到这里已经安装完成。
Saltstack 防火墙配置
(1) 在主控端添加TCP 4505,TCP 4506 的规则,而在被控端无须配置防火墙,原理是被控端直接与主控端的zeromp建立链接。 接收
广播道任务信息并执行,具体操作是添加两条iptables规则:
-A INPUT -m state --state new -m tcp -p tcp --dport 4505 -j ACCEPT
-A INPUT -m state --state new -m tcp -p tcp --dport 4506 -j ACCEPT
部署要求:两台机器网络互通,最好关闭防火墙。关闭selinux.
在启动下服务。
Saltstack 配置及安装效验.
Saltsatack 分两种,一种为master (主控制),另一端为minion (被控端),安装完毕后需要对两种角色的配置文件进行修改。
具体说明如下:
(1) master 主控端配置
master: 服务端主机名
id: 客户端主机名
配置文件注意格式统一
master:test81.salt.cn
id:test82.salt.cn
82.salt.cn
服务端配置
主控端基本设置
编辑配置文件 /etc/salt/master,修改如下所示配置项,去掉前面的注释符
interface: 0.0.0.0
log_file: /var/log/salt/master # 记录主控端运行日志
key_logfile: /var/log/salt/key # 记录认证证书日志
客户端配置
受控端基本设置
编辑配置文件 /etc/salt/minion,修改如下所示配置项,去掉前面的注释符#
master: 192.168.23.21 # 设置主控端
IPid: ubuntu-server-001 # 设定受控端编号
log_file: /var/log/salt/minion # 记录受控端运行日志
key_logfile: /var/log/salt/key # 记录认证证书日志
三、认证
和puppet一样, salt 的 master 和 minions 是通过证书通信的,故存在证书的信任颁发问题。
在master端:salt-key -L 查看当前需要接受的keys(master和minions都需要把服务开启)
salt-key -a test82.salt.cn 接受test82.kktalk.cn的
salt-key -A #接受所有请求的证书
如果对客户端信任,可以让master自动接受请求,在master端/etc/salt/master配置
auto_accept: Tru
检测Master与两个Minion通讯是否正常:
出现 True 说明服务端到客户端通信正常,基础环境搭建成功。
四、简单例子
在minions端安装httpd
配置 /etc/salt/master文件:
#file_roots Saltstack相关配置文件全部都在这个目录下
file_roots:
base:
- /srv/salt
dev:
- /srv/salt/dev
默认没有这个目录,需要创建 创建目录mkdir -p /srv/salt
Saltstack必须要有入口文件: /srv/salt/top.sls
Saltstack使用salt state system,它的核心是写sls(SaLt State file)文件,sls文件默认格式是YAML格式(以后会支持XML),并默认使用jinja模板,YAML与XML类似,是一种简单的适合用来传输数据的格式,而jinja是根据django的模板语言发展而来的语言,简单并强大,支持for if 等循环判断。salt state主要用来描述系统,软性,服务,配置文件应该出于的状态,常常被称为配置管理!
通常state,pillar,top file会用sls文件来编写。state文件默认是放在/srv/salt中,它与你的master配置文件中的file_roots设置有关
注意:sls遵从YAML规范, 它使用到两个空格代替tab,: 或 – 后面要有空格。(这里被坑过)
sls文件
sls文件写好以后,在master执行命令 salt “test82.salt.cn” state.highstate
出现Failed:0,表示执行成功(我上图是已经执行成功过,再次执行)
在minions查看
[root@test82 ~]# rpm -qa|grep httpd
httpd-2.2.15-29.el6.centos.x86_64
httpd-tools-2.2.15-29.el6.centos.x86_64
httpd包已经安装成功
如果要在minions端执行,需要执行命令: salt-call state.highstate
相关推荐
SaltStack自动化部署Kubernetes v1.12.5版本(支持HA、TLS双向认证、RBAC授权、Flannel网络、ETCD集群、Kuber-Proxy使用LVS等)。
SaltStack自动化部署Kubernetes v1.9.3版本(支持TLS 双向认证、RBAC 授权、Flannel网络、ETCD集群等)
在Kubernetes v1.13版本开始,kubeadm正式可以生产使用,但是kubeadm手动操作依然很繁琐,这里使用SaltStack进行自动化部署。
非常详细的saltstack安装与部署,以及一些常用的操作和命令,非常适合刚接触的同学去学习。
自动化运维saltstack,通过部署SaltStack环境,可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等
本文档详细说明了weblogic 11g的静默安装过程,以及问题解答,并结合saltstack进行自动化批量部署weblogic。
saltstack详细的安装和配置调试文档,可以让你实现自动化运维,手把手教会使用saltstack
salt-zabbix, 基于saltstack,结合zabbix完成服务自动化部署及监控
标题描述项目业主贡献者邮寄到标签已建立修改的OpenStack自动化盐堆该项目由HCL Tech系统软件团队拥有,以支持使用SaltStack进行OpenStack的自动化安装。 HCL技术系统软件团队HCL技术系统软件团队hcl_ss_oss@hcl....
saltstack一键部署(安装包,脚本),含所有的依赖包,自动化运维,通过建立master和minion之间的认证,可实现基于C/S架构的远程部署
对saltstack需要入门了解的小伙伴可以看看。。。。。。。
这是最新的saltstack离线rpm安装包,可直接解压后安装
saltstack客户端自动化安装脚本,执行:./salt-minion.sh master-ip即可,改脚本主要用于centos或redhat,版本3002.
。。。
本文详细介绍了ansible puppet saltstack三款自动化运维工具的对比 本资料共包含以下附件: ansible puppet saltstack三款自动化运维工具的对比.docx
。。。
SaltStack 自动化运维技术文档-配置PXE服务器自动安装
目录网盘文件永久链接 1-自动化运维-自动化运维发展历程.avi 2-自动化运维-自动化扩容介绍加etcd部署.avi 3-自动化运维-基于etcd加saltstack的自动化扩容.avi 4-自动化运维-使用Shell脚本简单实现.avi
Saltstack是一种全新的基础设施管理方式,是一个服务器基础架构集中化管理平台,几分钟内便可运行起来,速度够快,服务器之间秒级通讯,扩展性好,很容易批量管理上万台服务器,显著降低人力与运维成本;它具备配置...
saltstack是自动化运维工具,用saltstack安装部署mysql,上传的源代码