首页 > 代码库 > saltstack的搭建和基本使用
saltstack的搭建和基本使用
saltstack是基于Python语言研发的一款自动化管理工具,总之很好用。具体赞美陈词请见百度。saltstack与puppet、chef等相媲美
今天笔者和大家一起分享使用的安装部署以及基本使用经验。
笔者环境
两台实验机
PC1:CentOS6.5当做saltstack的master节点:192.168.1.111
PC2:CentOS6.5当做saltstack的minion(奴仆)节点:192.168.1.115
由于saltstack基于Python研发,因此会依赖一些Python的包,笔者这里安装费了很多劲,因此跟大家一起分享下。
由于saltstack分支特性,先说
=========saltstack的master节点============
大家可能会需要安装salt-master之前,安装PyYAML。这里笔者给大家提供下PyYAML的安装路径
wget ftp://ftp.sunet.se/pub/Linux/distributions/fedora/epel/6/x86_64/PyYAML-3.10-3.el6.x86_64.rpm
这里是笔者从saltstack官网上下载下来的epel源:
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 6 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch/debug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
[epel-source]
name=Extra Packages for Enterprise Linux 6 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/6/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
如果确实安装如此,应该不会缺什么必要条件,直接yum -y install salt-master即可。
主节点千万记得,安装完后,查看默认服务会在哪些开机启动项下为on状态
[root@localhost tmp]# chkconfig --list | grep salt
这里跟大家说下,salt-master与salt-minion的通信端口为4505和4506(默认)
4505为salt的消息分布系统的端口
4506为Master与Minion端通信的端口
确认完毕,启动服务即可
chkconfig salt-master on && service salt-master start
。
Master节点的配置(简单配置),默认位置/etc/salt/master
interface: 192.168.1.111 # 监听的接口,这里的值可以为FQDN也可以为IP地址
user: root # 定义以哪个用户管理
auto_accept: True # 是否开启自动接收功能,该功能可以让minion节点自动把Publickey同步到master节点,默认为false,这里我手动改成了True。注意,在保证安全的情况下可以设置为True。
配置完成,重启服务
[root@localhost ~]# salt-key -L Accepted Keys: test1-minion #这里出现了minion中id的信息即为传递成功 Unaccepted Keys:
=========saltstack的minion节点============
安装配置从节点需要执行 yum -y install salt-minion,但是有可能会依赖于m2crypto这个包,笔者这里提供大家一个地址
http://pkgs.org/centos-6/centos-x86_64/m2crypto-0.20.2-9.el6.x86_64.rpm.html
可以使用wget去下载,rpm或yum 安装即可。
没有问题,还让minion节点使用master节点的epel源安装salt-minion。
yum -y install salt-minion 即可
安装完成检查端口以及是否开机启动
service salt-minion start
minion节点的配置:(简单配置下) 默认位置/etc/salt/minion
master: salt # master节点为salt,对应master节点
master: 192.168.1.111 # master节点的IP地址。
id: test1-minion # id 为一个全局的id,该minion节点的名字必须唯一,如果不给默认为该服务器的FQDN(百度查下含义)定义以后为定义后的名字,注意在多minion节点情况下必须唯一。
以下是在master节点的操作
Master向minion发送命令
1、发送一个ping命令,看对方网络是否畅通
[root@localhost ~]# salt ‘*‘ test.ping
test1-minion:
True
2、查看minion节点的磁盘使用情况
① [root@localhost ~]# salt ‘*‘ cmd.run "df -h" test1-minion: Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg0-root 20G 445M 19G 3% / tmpfs 116M 0 116M 0% /dev/shm /dev/sda1 194M 30M 155M 16% /boot /dev/mapper/vg0-usr 9.9G 2.5G 7.0G 27% /usr /dev/mapper/vg0-var 20G 578M 19G 4% /var ②salt ‘*‘ disk.usage [root@localhost ~]# salt ‘*‘ disk.usage test1-minion: ---------- /: ---------- 1K-blocks: 20642428 available: 19138256 capacity: 3% filesystem:
....篇幅有限,不做赘述。
3、比较好用的方法 salt ‘*‘ cmd.run "COMMAND"
这里salt也是调用命令模块的方法,这里的COMMAND就是你在shell命令行下执行的大多命令!
如
:[root@localhost ~]# salt ‘*‘ cmd.run "date" test1-minion:
saltstack的功能还是异常的强大,以后笔者会慢慢更新丰富内容!
saltstack的搭建和基本使用