43r21 发表于 2014-12-26 09:04:09

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的安装路径

1
wget ftp://ftp.sunet.se/pub/Linux/distributions/fedora/epel/6/x86_64/PyYAML-3.10-3.el6.x86_64.rpm





这里是笔者从saltstack官网上下载下来的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

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

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状态

1
# chkconfig --list | grep salt





这里跟大家说下,salt-master与salt-minion的通信端口为4505和4506(默认)
4505为salt的消息分布系统的端口
4506为Master与Minion端通信的端口
确认完毕,启动服务即可

1
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。
配置完成,重启服务

1
2
3
4
5
6
7
# salt-key -L

Accepted Keys:

test1-minion   #这里出现了minion中id的信息即为传递成功

Unaccepted Keys:







=========saltstack的minion节点============
安装配置从节点需要执行 yum -y install salt-minion,但是有可能会依赖于m2crypto这个包,笔者这里提供大家一个地址

1
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 即可
安装完成检查端口以及是否开机启动

1
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命令,看对方网络是否畅通
# salt '*' test.ping
test1-minion:
    True
2、查看minion节点的磁盘使用情况

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
① # salt '*' cmd.run "df -h"
   test1-minion:
    Filesystem            SizeUsed Avail Use% Mounted on
    /dev/mapper/vg0-root   20G445M   19G   3% /
    tmpfs               116M   0116M   0% /dev/shm
    /dev/sda1             194M   30M155M16% /boot
    /dev/mapper/vg0-usr   9.9G2.5G7.0G27% /usr
    /dev/mapper/vg0-var    20G578M   19G   4% /var
    ②salt '*' disk.usage
    # salt '*' disk.usage
    test1-minion:
    ----------
    /:
      ----------
      1K-blocks:
            20642428
      available:
            19138256
      capacity:
            3%
      filesystem:





    ....篇幅有限,不做赘述。
3、比较好用的方法 salt '*' cmd.run "COMMAND"
这里salt也是调用命令模块的方法,这里的COMMAND就是你在shell命令行下执行的大多命令!
   如

1
2
3
:# salt '*' cmd.run "date"

test1-minion:







saltstack的功能还是异常的强大,以后笔者会慢慢更新丰富内容!

页: [1]
查看完整版本: saltstack的搭建和基本使用