• SaltStack快速入门


    一、SaltStack的介绍

    SaltStack,简称salt,自动化管理工具,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。

    salt使用python语言开发。

    salt的运行方式:

      1.Local

      2.Master/Minion  (传统)

      3.Salt SSH

    salt的三大功能:

      1.远程执行

      2.配置管理

      3.云管理

    二、SaltStack安装及配置

    saltstack没有在默认的安装包里,安装它需要先安装epel第三方源。

    centos6安装

    rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
    rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

    server:

    # yum install -y salt-master
    

    Client1:

    # yum install -y salt-minion
    

    Client2:

    # yum install -y salt-minion
    

    把服务加入到开机自动启动

    ## server
    # chkconfig salt-master on
    ## client
    # chkconfig salt-minion on

    在Client端,配置/etc/salt/minion

    # 16行变更 #master: salt --> master:  192.168.92.3
    master: 192.168.92.3
    
    #id:为空,表示FQN名
    

    启动master和client

    # service salt-master start
    #或
    # /etc/init.d/salt-master start
    
    # service salt-minion start
    #或
    # /etc/init.d/salt-minion start
    

    三、使用

    1.key认证

    查看认证状态

    添加认证客户端

    ## -A 全部主机
    # salt-key -A
    
    ## -a 添加个别主机
    # salt-key -a server
    # salt-key -a client

    再次查看key认证状态:

    注意:

    删除 # salt-key -d xx
    
    全部删掉 # salt-key -D  (慎用) 

    2.远程执行功能

    # salt '*' test.ping
    client:
        True
    server:
        True
    # salt '*' cmd.run 'uptime'
    client:
         00:57:47 up  2:31,  1 user,  load average: 0.05, 0.03, 0.05
    server:
         00:57:47 up 29 min,  1 user,  load average: 0.03, 0.05, 0.08
    # salt '*' cmd.run 'df -h'
    client:
        Filesystem            Size  Used Avail Use% Mounted on
        /dev/mapper/vg_wuyouwei-lv_root
                               18G  4.0G   13G  25% /
        tmpfs                 491M   80K  491M   1% /dev/shm
        /dev/sda1             477M   35M  418M   8% /boot
    server:
        Filesystem            Size  Used Avail Use% Mounted on
        /dev/mapper/vg_wuyouwei-lv_root
                               18G  3.9G   13G  24% /
        tmpfs                 491M   88K  491M   1% /dev/shm
        /dev/sda1             477M   35M  418M   8% /boot
    

    3.配置管理(安装软件)

    在server端,编辑/etc/salt/master

    ## 把注释放开 --->
     file_roots:
       base:
         - /srv/salt/
    
    # base前面必须是2个空格
    # - 前面是4个空格

    若/srv/salt/目录不存在,请创建。

    # mkdir /srv/salt/
    # /etc/init.d/salt-master restart
    

    (很重要)在server端写状态配置

    # cd /srv/salt/
    [root@server salt]# ll
    total 0
    [root@server salt]# vim apache.sls

     #编辑内容,注意空格

    执行安装命令

    # salt '*' state.sls apache
    server:
    ----------
              ID: apache-install
        Function: pkg.installed
            Name: httpd
          Result: True
         Comment: Package httpd is already installed.
         Started: 01:22:39.526997
        Duration: 1258.992 ms
         Changes:   
    ----------
              ID: apache-install
        Function: pkg.installed
            Name: httpd-devel
          Result: True
         Comment: Package httpd-devel is already installed.
         Started: 01:22:40.786220
        Duration: 0.55 ms
         Changes:   
    ----------
              ID: apache-service
        Function: service.running
            Name: httpd
          Result: True
         Comment: Service httpd is already enabled, and is in the desired state
         Started: 01:22:40.787406
        Duration: 35.421 ms
         Changes:   
    
    Summary
    ------------
    Succeeded: 3
    Failed:    0
    ------------
    Total states run:     3
    client:
    ----------
              ID: apache-install
        Function: pkg.installed
            Name: httpd
          Result: True
         Comment: Package httpd is already installed.
         Started: 01:22:39.542822
        Duration: 1315.972 ms
         Changes:   
    ----------
              ID: apache-install
        Function: pkg.installed
            Name: httpd-devel
          Result: True
         Comment: Package httpd-devel is already installed.
         Started: 01:22:40.859029
        Duration: 0.584 ms
         Changes:   
    ----------
              ID: apache-service
        Function: service.running
            Name: httpd
          Result: True
         Comment: Service httpd is already enabled, and is running
         Started: 01:22:40.860278
        Duration: 138.662 ms
         Changes:   
                  ----------
                  httpd:
                      True
    
    Summary
    ------------
    Succeeded: 3 (changed=1)
    Failed:    0
    ------------
    Total states run:     3

    apache已经成功安装,正常启动

     注:若将Client端的apache服务停掉,还是会自动同步启动

    定义高级状态

    # 编辑入口文件
    # vim top.sls
    base:
      '*':
        - apache
    

    执行

    # salt '*' state.highstate
  • 相关阅读:
    从OkHttp的源码来看 HTTP
    从Retrofit的源码来看 HTTP
    登录授权、TCP/IP、HTTPS
    编码、加密、Hash
    java获取当前系统时间
    mybatis自动生成
    rabbitMQ权限相关命令
    在Spring Boot中使用Spring Security实现权限控制
    学习sharding-jdbc 分库分表扩展框架
    Jenkins的关闭、重启
  • 原文地址:https://www.cnblogs.com/share100/p/6828708.html
Copyright © 2020-2023  润新知