Saltstack-安裝和簡單部署

SaltSack是什麼?

Saltstack是一個服務器基礎架構集中化管理平臺,具備配置管理、遠程執行、監控等功能,一般可以理解成簡化版的基於puppet和加強版的func。SaltStack基於Python語言實現,結合輕量級消息隊列(ZeroMQ)與Python第三方模塊(Pyzmq、PyCrypto、pyjinja2、python-msgpack和PyYAML等)構建。

Saltstack具有以下特點:

  • 部署簡單、方便

  • 支持大部分UNIX/Linux及Windows環境

  • 主從集中化管理

  • 配置簡單、功能強大、擴展性強

  • 主控端(Master)和被控制端(minion)基於證書認證,安全可靠

  • 支持API及自定義模塊,可通過Python輕鬆擴展


Saltstack安裝:

主控端IP:192.168.1.10

被控端IP:192.168.1.20

    主控端安裝:

yum -y install salt-master

    開啓服務和開機啓動:

server salt-master start
chkconfig salt-master on

    

    被控端:

yum -y install salt-minion

    開啓服務和開機啓動:

server salt-minion start
chkconfig salt-minion on

 

監聽端口,默認master開啓4505,4506端口

4505(publish_port):salt的消息發佈系統

4506(ret_port):salt客戶端與服務端通信的端口

要保證這2個端口能通信正常,如果開啓iptables需要再主控端添加以下2條規則

iptables -A INPUT -m state --state new -m tcp-p tcp--dport4505 -j ACCEPT
iptables -A INPUT -m state --state new -m tcp-p tcp--dport4506 -j ACCEPT

 

master主控端配置【/etc/salt/master】:

interface: 192.168.1.20 #綁定Mster通信IP(注意冒號後面必須加一空格)

auto_accept: Ture   #自動認證,避免手動運行salt-key來確認證書信任(注意冒號後面必須加一空格)file_roots:     #指定Saltstack文件根目錄位置    
    base:        
        - /srv/salt

重啓生效:

service salt-master restart

 

minion主控端配置【/etc/salt/minion】:

master: 192.168.1.10    #指定master主機IP地址(注意冒號後面必須加一空格)
id: 781915e2    #修改被控端主機識別id,建議使用操作系統主機名配置 (注意冒號後面必須加一空格)

重啓生效:

service salt-minion restart

 

認證有手動和自動2種:

1.手動認證

格式:salt-key 參數 [minion端ID(可以是IP,也可以是主機名) [-y]

-L 列出當前所有認證,包括Accepted Keys、Denied Keys、Unaccepted Keys、Rejected Keys

-a 添加某個或某些個未接受(Unaccepted Keys)認證

-A 添加所有未接受(Unaccepted Keys)認證

-d 刪除某個或某些個已接受(Accepted Keys)認證

-D 刪除所有已接受(Accepted Keys)認證

-y 使用該參數可免去證書操作的交互,除非對minion端很信任,一般不建議使用

-h 幫助

master端操作:

salt-key -a 781915e2 
The following keys are going to be accepted:  
Unaccepted Keys:  
781915e2 
Proceed? [n/Y] y  
Key for minion 781915e2 accepted.  

salt-key -LAccepted Keys:  #(接受認證的key)
781915e2
Denied Keys:
Unaccepted Keys:    #(沒有接受認證的key)
Rejected Keys:

2.自動認證

在master端,/etc/salt/master取消註釋:

auto_accept: True   #設置爲自動接受

 

認證過程:

Master 與 Minion 認證

1.minion 在第一次啓動時, 會在/etc/salt/pki/minion/ (該路徑在/etc/salt/minion 裏面

設置) 下自動生成minion.pem(private key)和minion.pub(public key), 然後將minion.pub

發送給 master。

2.master 在接收到minion的public key後, 通過salt-key命令accept minion public key,

這樣在 master 的/etc/salt/pki/master/minions 下的將會存放以 minion id 命名的 public

key, 然後 master 就能對 minion 發送指令了。

 

Master 與 Minion 的連接

Saltstack master 啓動後默認監聽 4505 和 4506 兩個端口。4505(publish_port)爲 salt 的

消息發佈系統,4506(ret_port)爲 salt 客戶端與服務端通信的端口。如果使用 lsof 查看

4505 端口,會發現所有的 Minion 在 4505 端口持續保持在 ESTABLISHED

 

檢查是否運行正常(如下說明正常):

salt '789880e2' test.ping
781915e2 
    True


 

 

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章