yzwj2004 发表于 2018-8-1 09:04:31

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源:
  
  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状态
# 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。
  配置完成,重启服务
# 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#>  以下是在master节点的操作
  Master向minion发送命令
  1、发送一个ping命令,看对方网络是否畅通
  # salt '*' test.ping
  test1-minion:
  True
  2、查看minion节点的磁盘使用情况
① # 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命令行下执行的大多命令!
  如
:# salt '*' cmd.run "date"  

  
test1-minion:
  saltstack的功能还是异常的强大,以后笔者会慢慢更新丰富内容!
页: [1]
查看完整版本: saltstack的搭建和基本使用