首页 > 代码库 > 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的搭建和基本使用