部署SaltStack及批量安裝httpd服務

  • SaltStack簡介

Salt是一個基礎平臺管理工具。SaltStack 採用 C/S模式,server端就是salt的master,client端就是minion,minion與master之間經過ZeroMQ消息隊列通訊。master監聽4505和4506端口,4505爲master和minion認證通訊端口,4506爲master用來發送命令或者接收minion的命令執行返回信息。
node

  • SaltStack經常使用模塊
  • SaltStack提供了很是多的功能模塊,以便於對操做系統的基礎功能和經常使用工具的操做。

1:pkg模塊 :是包管理,包括增刪更新。
2:file模塊 :管理文件操做,包括同步文件、設置文件權限和所屬用戶組、刪除文件等操做。
3:cmd模塊 :是在Minion上執行命令或者腳本。
4:user模塊 :管理系統帳戶操做。
5:service模塊 :管理系統服務操做
6:cron模塊 :管理cron服務操做web


部署環境apache

角色 主機名 IP
master master.saltstack.com 192.168.200.128
minion web01.saltstack.com 192.168.200.129
minion web02.saltstack.com 192.168.200.130


操做步驟vim

  • SaltStack安裝ide

  • 1:修改主機名工具

    # vim /etc/hostname
    三臺主機分別爲:
    master.saltstack.com    //(管理)
    web01.saltstack.com     //(被管理)
    web02.saltstack.com     //(被管理)
    # init 6  //重啓系統 讓主機名生效
  • 2:修改三臺hosts文件 測試

    # vim /etc/hosts
    192.168.200.128 master.saltstack.com
    192.168.200.129 web01.saltstack.com
    192.168.200.130 web02.saltstack.com
  • 3:安裝操作系統

    # systemctl stop firewalld   
    # setenforce 0                   //關閉防火牆
    # yum install -y epel-release
    # yum install -y salt-master      //管理端安裝
    # yum install -y epel-release
    # yum install -y salt-minion      //被管理端安裝
  • 4:管理端配置 3d

    # vim /etc/salt/master
    interface: 192.168.200.128    //15行 監聽地址改成本地IP
    ............
    auto_accept: True                //215  證書認證
    ............
    file_roots:                          //416行 站點目錄開啓
        base:
             - /srv/salt
    ............
    nodegroups:                          //710行 組分類
        group1: 'web01.saltstack.com' 
        group2: 'web02.saltstack.com'
    ............
    pillar_opts: True              //552行  pillar開啓
    
    pillar_roots:                     //529行
         base:
            - /srv/pillar
    
    # cat /etc/salt/master | grep -v ^$ | grep -v ^#       //查看修改好的配置項

    部署SaltStack及批量安裝httpd服務

  • 5:建立salt文件根目錄和pillar目錄rest

    # mkdir /srv/salt
    # mkdir /srv/pillar
    # systemctl start salt-master.service    //開啓服務
    # netstat -natp | egrep '4505|4506'       //查看450五、4506端口

    部署SaltStack及批量安裝httpd服務

  • 6:被管理端配置

    # vim /etc/salt/minion
    master: 192.168.200.128     //16行 指定管理端IP
    id: web01.saltstack.com      //78行 指定被控的主機名 (另一臺爲 web02.saltstack.com)
    # systemctl start salt-minion.service  //開啓服務

  • 7:在管理端測試 。 '*' 指的是全部主機

    # salt '*' test.ping     //查看通訊狀態
    # salt '*' cmd.run 'df -h'   //查看全部被管理端的掛載狀況
    # salt 'web01.saltstack.com' cmd.run 'df -h'   //查看指定主機的掛載狀況
    # salt '*' grains.items   //查看grains值
    # salt '*' pillar.items   //查看pillar(動態信息)
    # salt-key  //查看已經被接受過的客戶端

    部署SaltStack及批量安裝httpd服務部署SaltStack及批量安裝httpd服務

  • Saltstack配置管理安裝Apache

    注意:'*'  表示全部客戶端執行apache模塊
    # vim /srv/salt/top.sls
    base:
     '*':
         - apache

    部署SaltStack及批量安裝httpd服務

    # vim /srv/salt/apache.sls   //注意apache-service  是自定義的id名
    apache-service:
        pkg.installed:
            - names:
                - httpd
                - httpd-devel
        service.running:
            - name: httpd
            - enable: True

    部署SaltStack及批量安裝httpd服務

  • 重啓服務

    # systemctl restart salt-master
  • 在管理端執行刷新state配置命令

    # salt '*' state.highstate

    部署SaltStack及批量安裝httpd服務部署SaltStack及批量安裝httpd服務

  • 去minion驗證下httpd安裝成功

部署SaltStack及批量安裝httpd服務部署SaltStack及批量安裝httpd服務

相關文章
相關標籤/搜索