salt-stack

salt-stack功能:三大功能:远程执行、配置管理(状态)、云管理web

1、salt安装、配置、启动方法apache

[root@salt-stack_master ~]# systemctl stop firewalld

[root@salt-stack_master ~]# systemctl disable firewalld         //先须要关闭防火墙,不然master和minion有可能没法通讯

[root@salt-stack_master ~]# vim /etc/hosts      //在配置文件末尾添加下面两行内容,由于在配置minion的时候能靠主机名识别,全部机器都须要加

192.168.100.133 salt-master
192.168.100.134 salt-minion

[root@salt-minion salt]# ping salt-master         //ping检测一下,确保没有问题
PING salt-master (192.168.100.133) 56(84) bytes of data.
64 bytes from salt-master (192.168.100.133): icmp_seq=1 ttl=64 time=0.443 ms
64 bytes from salt-master (192.168.100.133): icmp_seq=2 ttl=64 time=1.23 ms
^C
--- salt-master ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.443/0.838/1.234/0.396 ms

一、环境准备和安装
[root@salt-stack_master ~]# sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest.el7.noarch.rpm 

[root@salt-stack_master ~]# sudo yum install salt-master

[root@salt-stack_master ~]# sudo yum install salt-minion

参考地址:http://repo.saltstack.com/#rhel

二、在主节点上安装salt-master、salt-minion,在须要管理的节点上安装slat-minion

[root@salt-stack_master ~]# systemctl start salt-master      //先启动master,minion须要配置才能启动

[root@salt-stack_master ~]# vim /etc/salt/minion     //这里能够填IP,也能够写主机名,前提是有主机名解析才能识别master     

master: salt-master

[root@salt-stack_master ~]# systemctl start salt-minion    //修改后启动minion

[root@salt-stack_master salt]# pwd                              //在启动minion后,会生成一个minion_id的文件,咱们不能随便更改主机名,不然会致使master和minion没法通讯,修改的话先删除minion_id文件
/etc/salt
[root@salt-stack_master salt]# cat minion_id 
salt-stack_master

三、master上须要接受minion的key后才能进行通讯

[root@salt-stack_master salt]# salt-key -L            //在主节点上列出全部的key
Accepted Keys:
salt-minion
salt-stack_master
Denied Keys:
Unaccepted Keys:
Rejected Keys:

[root@salt-stack_master salt]# salt-key -A       //赞成全部的key,若是想赞成一个key,使用 -a

[root@salt-stack_master ~]# salt-key -d [key名称]         //删除一个key

  2、经常使用命令vim

一、经常使用的命令介绍
[root@salt-stack_master ~]# salt '*' test.ping         //测试minion是否存活
salt-minion:
    True
salt-master:
    True

[root@salt-stack_master ~]# salt 'salt-min*' cmd.run 'w'
salt-minion:
     04:03:02 up  6:18,  2 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0    192.168.100.1    02:12    1:49m  0.04s  0.04s -bash
    root     pts/1    192.168.100.1    02:56   16:14   0.27s  0.27s -bash

[root@salt-stack_master ~]# salt '*' cmd.run 'mkdir /tmp/test'      //在全部机器建立目录
salt-master:
salt-minion:
[root@salt-stack_master ~]# ls /tmp
test

  3、YAMLy格式centos

YAML:
    
     1. 缩进   2个空格,不能用tab

     2. 冒号	 key: value

     3. 短横线   - list1
                    - list2

  4、salt状态管理配置bash

 [root@salt-stack_master ~]# vim /etc/salt/master        //环境的定义

# Example:
# file_roots:
#   base:
#     - /srv/salt/
#   dev:
#     - /srv/salt/dev/services
#     - /srv/salt/dev/states
#   prod:
#     - /srv/salt/prod/services
#     - /srv/salt/prod/states
#
file_roots:
  base:
    - /srv/salt

[root@salt-stack_master ~]# systemctl restart salt-master      //改完配置文件后重启master

例1:写一个安装、运行apache的sls文件

[root@salt-stack_master srv]# tree
.
└── salt
    └── web
        └── apache.sls

2 directories, 1 file

[root@salt-stack_master web]# cat apache.sls     
apache-install:
  pkg.installed:
    - names:
      - httpd
      - httpd-devel

apache-service:
  service.running:
    - name: httpd
    - enable: True

[root@salt-stack_master web]# salt '*' state.sls web.apache      //在master执行安装命令。只截取了minion的输出信息

salt-minion:
----------
          ID: apache-install
    Function: pkg.installed
        Name: httpd
      Result: True
     Comment: The following packages were installed/updated: httpd
     Started: 23:27:09.697648
    Duration: 19217.845 ms
     Changes:   
              ----------
              apr:
                  ----------
                  new:
                      1.4.8-3.el7_4.1
                  old:
              apr-util:
                  ----------
                  new:
                      1.5.2-6.el7
                  old:
              httpd:
                  ----------
                  new:
                      2.4.6-89.el7.centos
                  old:
              httpd-tools:
                  ----------
                  new:
                      2.4.6-89.el7.centos
                  old:
              mailcap:
                  ----------
                  new:
                      2.1.41-2.el7
                  old:
----------
          ID: apache-install
    Function: pkg.installed
        Name: httpd-devel
      Result: True
     Comment: The following packages were installed/updated: httpd-devel
     Started: 23:27:28.958061
    Duration: 6553.724 ms
     Changes:   
              ----------
              apr-devel:
                  ----------
                  new:
                      1.4.8-3.el7_4.1
                  old:
              apr-util-devel:
                  ----------
                  new:
                      1.5.2-6.el7
                  old:
              cyrus-sasl:
                  ----------
                  new:
                      2.1.26-23.el7
                  old:
              cyrus-sasl-devel:
                  ----------
                  new:
                      2.1.26-23.el7
                  old:
              cyrus-sasl-lib:
                  ----------
                  new:
                      2.1.26-23.el7
                  old:
                      2.1.26-21.el7
              expat-devel:
                  ----------
                  new:
                      2.1.0-10.el7_3
                  old:
              httpd-devel:
                  ----------
                  new:
                      2.4.6-89.el7.centos
                  old:
              libdb:
                  ----------
                  new:
                      5.3.21-24.el7
                  old:
                      5.3.21-20.el7
              libdb-devel:
                  ----------
                  new:
                      5.3.21-24.el7
                  old:
              libdb-utils:
                  ----------
                  new:
                      5.3.21-24.el7
                  old:
                      5.3.21-20.el7
              openldap:
                  ----------
                  new:
                      2.4.44-21.el7_6
                  old:
                      2.4.44-5.el7
              openldap-devel:
                  ----------
                  new:
                      2.4.44-21.el7_6
                  old:
----------
          ID: apache-service
    Function: service.running
        Name: httpd
      Result: True
     Comment: Service httpd has been enabled, and is running
     Started: 23:27:36.441424
    Duration: 186.563 ms
     Changes:   
              ----------
              httpd:
                  True

Summary for salt-minion
------------
Succeeded: 3 (changed=3)
Failed:    0
------------
Total states run:     3
Total run time:  25.958 s

  5、高级状态管理测试

[root@salt-master web]# vim /etc/salt/master     //修改master的配置文件

state_top: top.sls

[root@salt-master salt]# pwd                          //建立top文件
/srv/salt
[root@salt-master salt]# cat top.sls 
base:
  'salt-minion':
    - web.apache
  'salt-master':
    - web.apache

[root@salt-master ~]# salt 'salt-master' state.highstate test=True    //不执行,输出执行后的结果,用于先测试,而后进行执行命令

[root@salt-master /srv/salt]# salt '*' state.highstate
salt-minion:
----------
          ID: apache-install
    Function: pkg.installed
        Name: httpd
      Result: True
     Comment: All specified packages are already installed
     Started: 23:50:53.668711
    Duration: 593.209 ms
     Changes:   
----------
          ID: apache-install
    Function: pkg.installed
        Name: httpd-devel
      Result: True
     Comment: All specified packages are already installed
     Started: 23:50:54.262186
    Duration: 17.839 ms
     Changes:   
----------
          ID: apache-service
    Function: service.running
        Name: httpd
      Result: True
     Comment: The service httpd is already running
     Started: 23:50:54.280899
    Duration: 37.414 ms
     Changes:   

Summary for salt-minion
------------
Succeeded: 3
Failed:    0
------------
Total states run:     3
Total run time: 648.462 ms
salt-master:
----------
          ID: apache-install
    Function: pkg.installed
        Name: httpd
      Result: True
     Comment: All specified packages are already installed
     Started: 23:50:42.128371
    Duration: 551.484 ms
     Changes:   
----------
          ID: apache-install
    Function: pkg.installed
        Name: httpd-devel
      Result: True
     Comment: All specified packages are already installed
     Started: 23:50:42.680173
    Duration: 16.562 ms
     Changes:   
----------
          ID: apache-service
    Function: service.running
        Name: httpd
      Result: True
     Comment: The service httpd is already running
     Started: 23:50:42.697628
    Duration: 51.981 ms
     Changes:   

Summary for salt-master
------------
Succeeded: 3
Failed:    0
------------
Total states run:     3
Total run time: 620.027 ms
相关文章
相关标签/搜索