最新文章:

首页 Ops

SaltStack基础使用教程

发布时间:2016年05月29日 评论数:抢沙发 阅读数:1410

    介绍
    这个教程是我中秋休息的时候所做,为大家学习了解saltstack。
    SaltStack名字是由它的故乡美国盐城。
    SaltStack是为我们批量管理千万台机器的基础工具,拓展起来也十分方便。SaltStack可以进行动态的编辑,配置管理,远程执行命令等等。
    Saltstack包括master和minion,master是控制端,minion是被管理节点。
    这里先不废话,简单介绍安装(下面说到的salt就是咱们所说的SaltStack).

    这里有两个节点
    salt-master:10.0.0.11
    salt-minion:10.0.0.21

    这里先给两个节点安装个epel源,方便salt网络安装。
    [root@salt-master ~] rpm -ivh http://mirrors.ustc.edu.cn/centos/6/extras/x86_64/Packages/epel-release-6-8.noarch.rpm

    10.0.0.11(master)节点操作
    安装salt-master,暂时不需要配置。
    [root@salt-master ~]# hostname
    salt-master
    [root@salt-master ~]# yum -y install salt salt-master salt-minion
    安装配置salt-minion
    [root@salt-master ~]# egrep -v '^#|^$' /etc/salt/minion
    master: 10.0.0.11
    [root@salt-master ~]# /etc/init.d/salt-minion start
    Starting salt-minion daemon: [确定]

    10.0.0.21节点操作
    安装配置salt-minion
    [root@salt-minion1 ~]# hostname
    salt-minion1
    [root@salt-master ~]# yum -y install salt salt-minion
    [root@salt-master ~]# egrep -v '^#|^$' /etc/salt/minion
    master: 10.0.0.11
    [root@salt-minion1 ~]# /etc/init.d/salt-minion start
    Starting salt-minion daemon: [确定]

    10.0.0.11(master)节点操作
    查看salt-master接收到的密钥,分别是“10.0.0.11”和“10.0.021”,master通过这些密钥
    salt-key -L 查看当前密钥
    -A 接受所有来自客户端密钥
    --accept=example.com 接受指定的密钥

    [root@salt-master ~]# salt-key -L
    Accepted Keys:
    Denied Keys:
    Unaccepted Keys:
    salt-master
    salt-minion1
    Rejected Keys:

    [root@salt-master ~]# salt-key -A
    The following keys are going to be accepted:
    Unaccepted Keys:
    salt-master
    salt-minion1
    Proceed? [n/Y] y
    Key for minion salt-master accepted.
    Key for minion salt-minion1 accepted.

    验证salt-master是否可以控制各个minion节点(查看本机的IP)
    [root@salt-master ~]# salt '*' network.ip_addrs
    salt-master:


    • 10.0.0.11
    • 172.17.42.1
      salt-minion1:
    • 10.0.0.21

    添加salt-master配置
    刚刚只是把salt-minion加入到了salt-master管理,就像老板招聘了一群员工现在老板可以向员工发号命令了,如果老板有一部分多步骤且重复的指令,老板一般就会用到邮件和文档来让员工操作了,
    salt-master是通过写sls配置管理minion上重复指令的,服务状态等等。这里需要先配置一下:

    创建配置文件目录
    [root@salt-master srv]# mkdir -p /srv/salt/base
    在master配置里面指定配置文件目录
    [root@salt-master ~]# vim /etc/salt/master
    file_roots:
    base:


    • /srv/salt/base
      [root@salt-master ~]# /etc/init.d/salt-master restart
      Stopping salt-master daemon: [确定]
      Starting salt-master daemon: [确定]

    salt-master默认会读取上面指定配置目录下的top.sls。(这个是在master配置文件下的state_top: top.sls决定的)
    现在写一个

    [root@salt-master base]# tree
    .
    ├── system
    │   ├── files
    │   │   └── hosts
    │   └── hosts.sls
    └── top.sls

    2 directories, 3 files
    [root@salt-master base]# cat top.sls
    base: #这里指定的环境是base,所以这个top.sls在/srv/salt/base目录下
    "": # “”是所有主机的意思,指定单个主机直接写“salt-minion1”


    • system.hosts # 这里指调用了那些sls配置文件,“点”在这里是目录分级

      也就是system没有可以下的hosts.sls配置文件

    [root@salt-master base]# cat system/hosts.sls
    /etc/hosts: #这个是配置ID和文件存放位置,是不可重复的
    file.managed: #这里调用了“file.managed”salt的文件管理模块


    • source: salt://system/files/hosts #source是指定文件源,“salt://”是指salt项目下文件
    • mode: 644 #文件权限644
    • user: root #文件用户属主
    • group: root #文件的用户组

    下面执行一下上面的配置文件状态
    [root@salt-master system]# salt 'salt-minion1' state.highstate #salt “执行节点” 执行模块
    下面是执行结果
    salt-minion1: #执行节点

     ID: /etc/hosts                                             #配置ID
    Function: file.managed                                   #模块
      Result: True                                                    #执行结果True为成功
     Comment: File /etc/hosts updated            #文件执行操作【更新】
     Started: 14:15:55.120499                            #执行命令开始时间
    Duration: 24.284 ms                                      #执行的时长
     Changes:                                                         #是否产生更改
              ----------
              diff:
                  ---  
                  <a name="more"></a>  
                  @@ -1,2 +1,4 @@
                   127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
                   ::1         localhost localhost.localdomain localhost6 localhost6.localdomain
                  +salt-master 10.0.0.11                      #在这个带有“+”号的行是增加的,"-"号为减少行
                  +salt-minion1 10.0.0.21

    Summary

    Succeeded: 1 (changed=1) #执行成功1个,有一个文件状态发生更改
    Failed: 0 #执行失败0个

    Total states run: 1 #执行状态个数

二维码加载中...
本文作者:Mr.linus      文章标题: SaltStack基础使用教程
本文地址:http://www.90qj.com/360  本文已经被百度收录,点击查看详情
版权声明:若无注明,本文皆为“挨踢 Blog”原创,转载请保留文章出处。
挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论