標籤:oba install 連接埠 local 組件 解決方案 publish mini 操作
需求產生情境: 1、python的virtualenv虛擬環境非常的好用。 2、saltstack作為營運自動化的一個重要組件也挺好用的。 但是: 1、saltsatck最簡便的是使用yum安裝,結合的是linux-centos內建的python2.6版本。 2、即便使用編譯安裝,也是在編譯安裝的python環境下 so,需求產生了: 我想要在virtualenv環境下使用saltstack的api,發現非常蛋疼。兩者無法整合到一起。 為瞭解決這個痛點,用了半個下午的時間,參考saltstack的官方文檔,整理了一個解決方案 saltstack官方文檔串連:https://docs.saltstack.com/en/latest/topics/development/hacking.html 廢話不多說,直接上乾貨: 實現過程: 1、前置條件: 作業系統:centos6.4 預備安裝saltmaster 已經安裝完畢的salt-minion伺服器 編譯python:2.7.8 (安裝了pip以及virtualenv) 為了操作簡便,預設在root使用者下。 ps:如果編譯的python沒有搞定的話,先整好環境。這裡不多說,預設ok 2、操作步驟: 2.1:建立python虛擬環境: virtualenv /path/to/your/virtualenv source /path/to/your/virtualenv/bin/activate 2.2:安裝salt #編譯時間將salt配置加入 pip install --global-option=‘--salt-root-dir=/path/to/your/virtualenv/salt/‘ salt mkdir -p /path/to/your/virtualenv/salt/etc/salt #將原有設定檔cp過來 cp ./salt/conf/master ./salt/conf/minion /path/to/your/virtualenv/salt/etc/salt/ 修改master設定檔的"publish_port","ret_port",區別與現網啟動並執行連接埠。 publish_port: 5505 ret_port: 5506 2.3:修改salt-minion用戶端連接埠配置 “master_port: 5506” 2.4:補充說明: 如果你的salt-minion是之前存在的用戶端,那麼為了避免與之前的緩衝衝突,需要刪除之前的 快取檔案:/etc/salt/pki 備份刪除。 如果master報錯,也是這麼策略,刪除pki,重啟即可。 2.5:啟動-測試: salt-key -L salt-key -A salt ‘*‘ test.ping 2.6:api測試demo: import salt.client client = salt.client.LocalClient() ret = client.cmd(‘*‘,‘test.ping‘) print ret 以上。 ps:基本上看著官方文檔就能搞定。稍微麻煩點的是與之前的環境配合,不過跟著log也能隨便解決。
python virtualenv 安裝運行saltstack