[root@linux-node1 base]# mkdir /srv/salt/prod/pkg
[root@linux-node1 base]# mkdir /srv/salt/prod/haproxy
[root@linux-node1 base]# mkdir /srv/salt/prod/haproxy/files
[root@linux-node1 base]# cd /srv/salt/prod/haproxy/files
[root@linux-node1 files]# rz -y
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring haproxy-1.6.2.tar.gz...
100% 1502 KB 1502 KB/sec 00:00:01 0 Errors
[root@linux-node1 files]# ls
haproxy-1.6.2.tar.gz
[root@linux-node1 files]# cp haproxy-1.6.2.tar.gz /usr/local/src/ =========================>将檔案拷貝到/usr/local/src下面
[root@linux-node1 base]# cd /srv/salt/prod/pkg/
[root@linux-node1 base]# vim pkg-init.sls
[root@linux-node1 pkg]# cat /srv/salt/prod/pkg/pkg-init.sls ================================>首先需要安裝如下依賴包
pkg-init:
pkg.installed:
- names:
- gcc
- gcc-c++
- glibc
- make
- autoconf
- openssl
- openssl-devel
[root@linux-node1 files]# salt '*' state.sls pkg.pkg-init env=prod ============================>執行狀态,安裝依賴包
安裝步驟記錄:
cd /usr/local/src/
tar xf haproxy-1.6.2.tar.gz
cd haproxy-1.6.2
make TARGET=linux26 PREFIX=/usr/local/haproxy && make install PREFIX=/usr/local/haproxy
[root@linux-node1 haproxy]# pwd
/srv/salt/prod/haproxy
[root@linux-node1 haproxy]# ls
files install.sls
[root@linux-node1 haproxy]# cat install.sls
include:
- pkg.pkg-init #################先包含之前安裝的依賴包####################
haproxy-install: ###########安裝haproxy程式############
file.managed:
- name: /usr/local/src/haproxy-1.6.2.tar.gz
- source: salt://haproxy/files/haproxy-1.6.2.tar.gz
- user: root
- group: root
- mode: 755
cmd.run:
- name: cd /usr/local/src/ && tar xf haproxy-1.6.2.tar.gz && cd haproxy-1.6.2 && make TARGET=linux26 PREFIX=/usr/local/haproxy && make install PREFIX=/usr/local/haproxy
- unless: test -d /usr/local/haproxy ######判斷一個目錄是否存在#########
- require: ###########檢查依賴###########
- pkg: pkg-init ##########此處指明依賴哪個子產品########
- file: haproxy-install #######一個id下一個子產品隻能用一次#########
haproxy-init:
file.managed: #########檔案管理子產品與方法###########
- name: /etc/init.d/haproxy
- source: salt://haproxy/files/haproxy.init ##########啟動腳本的位置###########
- require: ##############檢測依賴###############
- cmd: haproxy-install ############檢測是否裝上###############
- name: chkconfig --add haproxy
- unless: chkconfig --list | grep haproxy
- require:
- file: haproxy-init
net.ipv4.ip_nonlocal_bind:
sysctl.present:
- value: 1
haproxy-config-dir: #########建立一個配置檔案目錄###########
file.directory:
- name: /etc/haproxy
[root@linux-node1 haproxy]# salt '*' state.sls haproxy.install env=prod
傳回結果:
linux-node1.example.com:
..........................
Summary
-------------
Succeeded: 13
Failed: 0
Total states run: 13
linux-node2.example.com:
Total states run: 13
qq:406564728
歡迎交流
本文轉自陳繼松 51CTO部落格,原文連結:http://blog.51cto.com/chenjisong/1714331,如需轉載請自行聯系原作者