1.設置epel 源 rpm -Uvh http://mirror.pnl.gov/epel/6/x86_64/epel-release-6-8.noarch.rpm 安裝前須要安裝這些包 Python 不用說你們都知道 這玩意就python寫的 ZeroMQ 消息中間件至關於puppet的rabbitMQ、activeMQ PyCrypto Python密碼工具包 M2Crypto 加密模塊 是Python OpenSSL封裝 msgpack-python 高性能的消息交換格式 YAML 不說你們都知道 文件格式 Jinja2 解析Salt States (在master配置文件中配置) MarkupSafe Implements a XML/HTML/XHTML Markup safe string for Python 2.安裝master 17.0.5版本,首先要安裝好本地源碼 #yum install python-jinja2 #yum install salt-master 3.安裝minion 17.0.5版本 #yum install python-jinja2 #yum install salt-minion 4.啓動master #/etc/rc.d/init.d/salt-master start minion /etc/rc.d/init.d/salt-minion start 配置 salt-master # vi /etc/salt/master interface: master IP sal-minion #vi /etc/salt/minion master: master IP' 認證 salt-key -L #查詢全部接收到的證書 salt-key -a <證書名> #接收單個證書 salt-key -A #接受全部證書 salt-key -d <證書名> #刪除單個證書 salt-key -D #刪除全部證書 #salt-key -L #salt-key -a minion IP # 測試 salt "*" test.ping 10.0.251.210: True 分組: #vi /etc/salt/master nodegroups: test1: 'L@10.0.251.210' # salt -N 'test1' test.ping #vi /etc/salt/master file_roots: base: - /srv/ops/salt pillar_roots: base: - /srv/ops/pillar lab: - /srv/ranger/pillar/lab prod: - /srv/ranger/pillar/prod dev: - /srv/ranger/pillar/dev Grains系統 6.1 grains系統概念 grains是minion第一次啓動的時候採集的靜態數據,能夠用在salt的模塊和其餘組件中。其實grains在每次的minion啓動(重啓)的時候都會採集,即向master彙報一次。 grains的特性–每次啓動彙報、靜態決定了它沒有pillar靈活,要知道pillar是隨時可變的,只要在master端修改了那通常都會馬上生效的。因此grains更適合作一些靜態的屬性值的採集,例如設備的角色(role),磁盤個數(disk_num)等諸如此類很是固定的屬性。 State系統 state系統概念 Salt State系統的核心是由sls結尾的state文件組成的,配置簡單並且靈活,SLS文件本質上只是一些dictionaries,lists,strings和numbers。這種設計讓SLS文件很是靈活,能夠知足開發者的各類需求,並且可讀性很高。寫得越多,就越清楚到底寫得是什麼。 7.2 state系統配置 首先需在master配置文件中打開state系統,定義state目錄路徑 # cat /etc/salt/master ================================================================================== ...略... file_roots: state系統 base: base表明基礎環境 - /srv/salt state系統根目錄路徑 ...略... ================================================================================== Salt默認使用能找到的最簡單的序列化數據格式——YAML,來表達SLS數據。典型的SLS文件以下: # cat /srv/ops/salt/apache.sls ================================================================================== httpd: 數據的ID,被稱做ID聲明 pkg: pkg使用系統本地的軟件包管理器管理將要安裝的軟件,如yum - installed ================================================================================== 7.3 執行state配置 執行state配置 # salt ‘client’ state.sls apache 註解: state.sls 表示執行state配置 apache 執行apache.sls的state配置,注意這裏不須要sls後綴,可看作是/srv/salt/apache.sls