【持續部署】批量部署工具,總結、對比
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
相關文章
- 對持續整合、 持續交付、持續部署和持續釋出的介紹
- 持續整合持續部署持續交付_持續整合與持續部署之間的真正區別
- Jenkins持續部署-Windows環境持續部署探究1JenkinsWindows
- 持續整合、持續部署、持續交付、持續釋出
- 持續整合、持續交付、持續部署簡介
- 持續整合工具之Jenkins安裝部署Jenkins
- 淺談持續整合(CI)、持續交付(CD)、持續部署(CD)
- 持續整合及部署利器:GoGo
- 通過Docker容器執行持續整合/持續部署Docker
- 談談持續整合,持續交付,持續部署之間的區別
- 使用流水線外掛實現持續整合、持續部署
- CI/CD 持續整合部署實踐
- 微服務容器部署與持續整合微服務
- 持續程式碼質量管理-Sonar部署
- 以 egg.js 為例的持續整合(CI)、持續部署(CD)JS
- Jenkins持續部署-自動生成版本號Jenkins
- Windows + Jenkins + .NetFramework + SVN 持續部署WindowsJenkinsFramework
- [譯] 如何使用 CircleCI for GitHub Pages 持續部署Github
- 使用 GitHub 和 Python 實現持續部署GithubPython
- 陣列總結,持續更新~陣列
- 【持續更新】重要FLIP總結
- 持續整合、持續交付和持續部署有什麼區別?0基礎學習linux技能Linux
- 持續部署微服務的實踐和準則微服務
- 持續部署 Microservices 的實踐和準則ROS
- vue + webpack 前端專案持續釋出整合部署VueWeb前端
- 如何實現 Android 應用的持續部署?Android
- 持續部署單頁應用的7大技巧
- 前端專案基於GitLab-CI的持續整合/持續部署(CI/CD)前端Gitlab
- 私有化輕量級持續整合部署方案--03-部署web服務(下)Web
- 私有化輕量級持續整合部署方案--03-部署web服務(上)Web
- Web總結:部署和安全Web
- IIS部署Remoting總結REM
- RAC部署和效能總結
- 前端佈局總結(持續更新)前端
- javaScript 習題總結(持續更新)JavaScript
- 分散式爬蟲的部署之Scrapyd批量部署分散式爬蟲
- SpringBoot+Docker+Git+Jenkins實現簡易的持續整合和持續部署Spring BootDockerGitJenkins
- PHP面試題總結-持續更新中PHP面試題