zoukankan      html  css  js  c++  java
  • salt-stack

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

    一、salt安装、配置、启动方法

    [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
    
    1、环境准备和安装
    [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
    
    2、在主节点上安装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
    
    3、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
    

      二、常用命令

    1、常用的命令介绍
    [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
    

      三、YAMLy格式

    YAML:
        
         1. 缩进   2个空格,不能用tab
    
         2. 冒号	 key: value
    
         3. 短横线   - list1
                        - list2
    

      四、salt状态管理配置

     [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
    

      五、高级状态管理

    [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
    

      

      

      

      

    本文为博主原创文章,转载请标注来源。
  • 相关阅读:
    论面向服务架构(SOA)设计及其应用
    论MVC架构设计模式分析
    软件架构理论与实践读后感(一)
    视频全量分析规划书
    架构实战—软件架构设计的过程读后感(三)
    架构实战—软件架构设计的过程读后感(二)
    第8周周总结
    Refined Architecture阶段阅读笔记
    visual studio2010编译过程中出现COFF文件损坏的原因和方法总结
    解决visual studio 2013编译过程中存在的无法打开kernel.lib问题
  • 原文地址:https://www.cnblogs.com/liangyuntao-ts/p/11048283.html
Copyright © 2011-2022 走看看