天天看點

saltstack-haproxy業務引用

在上篇文章說了如何去安裝haproxy,這裡就說一下怎麼去應用。

1、和上次一樣,仍然把haproxy的配置檔案放在/srv/salt/package/haproxy/files/目錄下。

<a href="http://s3.51cto.com/wyfs02/M00/8D/19/wKioL1iG1BOjZIgzAAAO1HMu-94184.png" target="_blank"></a>

這裡也貼一下配置檔案的内容:

<a href="http://s2.51cto.com/wyfs02/M01/8D/1C/wKiom1iG1DzTRgBWAAAqg6vESGQ649.png" target="_blank"></a>

<code>global</code>                      <code>#全局配置            </code>

<code>maxconn </code><code>100000</code>              <code>#最大連接配接數 </code>

<code>chroot </code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>haproxy</code>

<code>uid </code><code>99</code>

<code>gid </code><code>99</code>

<code>daemon                      </code><code>#以背景形式運作haproxy </code>

<code>nbproc </code><code>1</code>                    <code>#啟動1個haproxy執行個體 </code>

<code>pidfile </code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>haproxy</code><code>/</code><code>logs</code><code>/</code><code>haproxy.pid     </code><code>#pid存放路徑 </code>

<code>log </code><code>127.0</code><code>.</code><code>0.1</code> <code>local3 info   </code><code>#日志輸出 </code>

<code>#後端設定 </code>

<code>defaults                    </code><code>#預設配置 </code>

<code>option http</code><code>-</code><code>keep</code><code>-</code><code>alive</code>

<code>maxconn </code><code>100000</code>

<code>mode http                   </code><code>#所處理的級别.預設采用http模式 </code>

<code>timeout connect </code><code>5000ms</code>

<code>timeout client </code><code>50000ms</code>

<code>timeout server </code><code>50000ms</code>

<code>#開啟haproxy Status狀态監控,增加驗證 </code>

<code>listen stats</code>

<code>mode http</code>

<code>bind </code><code>0.0</code><code>.</code><code>0.0</code><code>:</code><code>8888</code>

<code>stats enable</code>

<code>stats uri       </code><code>/</code><code>haproxy</code><code>-</code><code>status     </code><code>#監控頁面url </code>

<code>stats auth      haproxy:saltstack   </code><code>#監控頁面user:passwd </code>

<code>#前端設定 </code>

<code>frontend frontend_www_example_com</code>

<code>bind </code><code>192.168</code><code>.</code><code>1.100</code><code>:</code><code>80</code>

<code>option httplog</code>

<code>log </code><code>global</code>

<code>default_backend backend_www_example_com</code>

<code>backend backend_www_example_com</code>

<code>option forwardfor header X</code><code>-</code><code>REAL</code><code>-</code><code>IP  </code><code>#獲得用戶端真實ip </code>

<code>option httpchk HEAD </code><code>/</code> <code>HTTP</code><code>/</code><code>1.0</code>

<code>balance roundrobin                  </code><code>#輪訓算法</code>

<code>server web</code><code>-</code><code>node1 </code><code>192.168</code><code>.</code><code>1.12</code><code>:</code><code>8080</code> <code>check inter </code><code>2000</code> <code>rise </code><code>30</code> <code>fall </code><code>15</code>

<code>server web</code><code>-</code><code>node2 </code><code>192.168</code><code>.</code><code>1.13</code><code>:</code><code>8080</code> <code>check inter </code><code>2000</code> <code>rise </code><code>30</code> <code>fall </code><code>15</code>

2、編寫sls子產品檔案

在上次的基礎上,在後面加上:

<a href="http://s4.51cto.com/wyfs02/M00/8D/19/wKioL1iG1Xigh-igAAANJYLhZTw028.png" target="_blank"></a>

<code>haproxy</code><code>-</code><code>config:</code>

<code>  </code><code>file</code><code>.managed:</code>

<code>    </code><code>-</code> <code>name: </code><code>/</code><code>etc</code><code>/</code><code>haproxy</code><code>/</code><code>haproxy.cfg</code>

<code>    </code><code>-</code> <code>source: salt:</code><code>/</code><code>/</code><code>package</code><code>/</code><code>haproxy</code><code>/</code><code>files</code><code>/</code><code>haproxy.cfg</code>

<code>    </code><code>-</code> <code>user: root</code>

<code>    </code><code>-</code> <code>group: root</code>

<code>    </code><code>-</code> <code>mode: </code><code>644</code>

<code>  </code><code>service.running:</code>

<code>    </code><code>-</code> <code>name: haproxy</code>

<code>    </code><code>-</code> <code>enable: </code><code>True</code>

<code>    </code><code>-</code> <code>reload</code><code>: </code><code>True</code>

<code>    </code><code>-</code> <code>watch:</code>

<code>      </code><code>-</code> <code>file</code><code>: haproxy</code><code>-</code><code>config</code>

3、執行指令:

<code>salt </code><code>'salt-minion'</code> <code>state.sls package.haproxy</code>

中間可以看到更新的内容:

4、驗證

<a href="http://s4.51cto.com/wyfs02/M01/8D/1C/wKiom1iG1fjCv6YxAAAKczZLz2w234.png" target="_blank"></a>

本文轉自 sykmiao 51CTO部落格,原文連結:http://blog.51cto.com/syklinux/1894024,如需轉載請自行聯系原作者