【持續部署】批量部署工具,總結、對比

sxf-餘建新發表於2020-12-25

SaltStack 和 Ansible,對比
在這裡插入圖片描述


1.背景
目前XXXX版本釋出上線,釋出操作特點:
1.需要登入到業務涉及到的每臺機器;
2.重複在每臺機器執行操作(拷貝總包、解壓縮、執行升級命令、確認升級是否成功)
3.耗時
4.消耗釋出人員的精力
5.效率低
6.易出錯(如需人工對比是否是最新包)

2.目的
參考運維部部署工具,優化解決以上問題,減少人工執行的步驟。
使用工具,提高效率,拒絕人工手動操作。

3.工具選型標準
低侵入
易維護
易擴充套件
易使用



4.線上部署ansible
3.1 部署操作
3.1.1 配置中控機與其他機器免金鑰操作
步驟1. 選擇一臺機器 node_master 作為中控機

執行以下命令,生成金鑰對
ssh-keygen -t rsa
cd /root/.ssh
cp id_rsa.pub authorized_keys

步驟2. 在所有非中控機執行

ssh-keygen -t rsa
ssh-copy-id -i node_master 

步驟3. 分發公鑰,中控機上執行
scp authorized_keys node_1:/root/.ssh/
scp authorized_keys node_2:/root/.ssh/
... ...
scp authorized_keys node_N:/root/.ssh/

3.1.2 安裝ansible
yum install ansible

3.1.3 配置ansible

vim /etc/ansible/hosts

[servers]
10.107.50.104
10.107.50.105
10.107.50.106

3.1.3 部署測試
測試1. 命令列下執行
在中控機node_master上執行

ansible -m command -a "date" 'servers'


測試2. 執行編排好的檔案
批量檢視hostname










輸出結果


5.使用ansible做線上釋出
D:\workspace\python\python_test\ansible_test\saas_deploy\README.md



6.其他



6.1線上部署SaltStack
步驟1. 安裝軟體包
 yum install salt-master -y
 yum install salt-minion -y

步驟2. 修改配置檔案
/etc/salt/master
#指定執行的主目錄
file_roots:
  base:
    - /saasdata/yujianxin/ansible_test/saltstack_test

/etc/salt/minion
# 指定master
master: 10.107.50.104

6.2 部署測試


測試1. 命令列下執行



測試2. 執行編排好的檔案
salt 'etcd.saas.services' state.sls log_service

























多層級部署

https://docs.saltstack.com/en/master/topics/topology/syndic.html





相關文章