DevOps的几个场景
生活随笔
收集整理的這篇文章主要介紹了
DevOps的几个场景
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
名詞:
服務(wù)發(fā)現(xiàn):
用來確保服務(wù)的位置無關(guān)性,通過服務(wù)名來查詢獲得服務(wù)的實(shí)際地址。名字解析:
用來確保服務(wù)器位置無關(guān)性,通過機(jī)器名查詢獲得機(jī)器的實(shí)際IP地址。場景一:
特點(diǎn):
應(yīng)用少,流量輕,數(shù)臺(tái)機(jī)器,DevOps分離,手動(dòng)基礎(chǔ)設(shè)施管理,手動(dòng)應(yīng)用程序部署,監(jiān)控非必要,面向機(jī)器,基于IP的配置,服務(wù)發(fā)現(xiàn)非必要,名字解析非必要。流程:
DevOps分離。方法:
各個(gè)環(huán)境的基礎(chǔ)設(shè)施(網(wǎng)路,服務(wù)器,IP地址,操作系統(tǒng),依賴包)事先由Ops人員搭建,完成后將各個(gè)環(huán)境最終的機(jī)器配置信息告知Dev。機(jī)器配置信息包括機(jī)器名,用途,規(guī)格(OS,CPU,內(nèi)存,硬盤),IP地址,端口,預(yù)裝軟件信息等。 Dev開發(fā)完一個(gè)迭代后,將軟件打包后交由Ops人員部署到QA環(huán)境,一旦QA環(huán)境測試通過再由Ops人員將軟件包部署到PROD環(huán)境。Dev要根據(jù)Ops人員提供的各個(gè)環(huán)境的機(jī)器配置信息生成應(yīng)用在各個(gè)環(huán)境的具體配置文件,并隨軟件包一起提交給Ops人員。工具:
手動(dòng)部署場景二:
特點(diǎn):
應(yīng)用少,流量輕,數(shù)臺(tái)機(jī)器,DevOps合作,手動(dòng)基礎(chǔ)設(shè)施管理,自動(dòng)應(yīng)用程序部署,監(jiān)控非必要,面向機(jī)器,基于IP的配置,服務(wù)發(fā)現(xiàn)非必要,名字解析非必要。流程:
DevOps合作。方法:
各個(gè)環(huán)境的基礎(chǔ)設(shè)施(網(wǎng)路,服務(wù)器,IP地址,操作系統(tǒng))事先由Ops人員搭建,完成后將各個(gè)環(huán)境最終的機(jī)器配置信息告知Dev。機(jī)器配置信息包括機(jī)器名,用途,規(guī)格(OS,CPU,內(nèi)存,硬盤),IP地址,端口,預(yù)裝軟件信息等。 Dev提交一個(gè)Commit到Git Repo后觸發(fā)CI/CD執(zhí)行Pipeline的第一個(gè)Stage Build,Build Stage從GitRepo下載代碼(包含部署腳本)并編譯,測試,打包,上傳。 打包完成后自動(dòng)觸發(fā)CI/CD執(zhí)行Pipeline的第二個(gè)Stage QA,QA Stage調(diào)用部署程序(Ansible)根據(jù)部署腳本(Playbook)將軟件包部署到QA環(huán)境(Inventory),部署通常包括下載軟件包,根據(jù)Inventory生成配置文件,部署程序,啟動(dòng)服務(wù)等。 一旦QA環(huán)境測試通過,需手動(dòng)觸發(fā)CI/CD執(zhí)行Pipeline的下一個(gè)Stage Prod,Prod Stage調(diào)用部署程序(Ansible)根據(jù)部署腳本(Playbook)將軟件包部署到Prod環(huán)境(Inventory)。工具:CI/CD +?Ansible
CI/CD- GoCD Pipeline:
Build QA Prod部署腳本- Ansible:
invetories qa [web] ...... [db] ...... prod [web] ...... [db] ...... playbooks web.yml db.yml templates Conf.j2場景三:
特點(diǎn):
應(yīng)用少,流量輕,數(shù)臺(tái)機(jī)器,DevOps合作,自動(dòng)基礎(chǔ)設(shè)施管理,自動(dòng)應(yīng)用程序部署,監(jiān)控非必要,面向機(jī)器,基于IP的配置,服務(wù)發(fā)現(xiàn)非必要,名字解析非必要。流程:
DevOps合作。方法:
各個(gè)環(huán)境的基礎(chǔ)設(shè)施(網(wǎng)絡(luò),服務(wù)器,IP地址,操作系統(tǒng))由基礎(chǔ)設(shè)施管理程序(Terraform)根據(jù)各個(gè)環(huán)境的基礎(chǔ)設(shè)施配置自動(dòng)配置,完成后自動(dòng)生成各個(gè)環(huán)境最終的機(jī)器配置信息(Invetory)。 Dev提交一個(gè)Commit到Git Repo后觸發(fā)CI/CD執(zhí)行Pipeline的第一個(gè)Stage Build,Build Stage從GitRepo下載代碼(包含部署腳本)并編譯,測試,打包,上傳。 打包完成后自動(dòng)觸發(fā)CI/CD執(zhí)行Pipeline的第二個(gè)Stage QA,QA Stage調(diào)用基礎(chǔ)設(shè)施管理程序(Terraform)根據(jù)基礎(chǔ)設(shè)施配置自動(dòng)完成QA環(huán)境基礎(chǔ)設(shè)施配置并生成QA環(huán)境機(jī)器配置信息(Inventory)。再由部署程序(Ansible)根據(jù)部署腳本(Playbook)將軟件包部署到QA環(huán)境(Inventory),部署通常包括下載軟件包,根據(jù)Inventory生成配置文件,部署程序,啟動(dòng)服務(wù)等。 一旦QA環(huán)境測試通過,需手動(dòng)觸發(fā)CI/CD執(zhí)行Pipeline的下一個(gè)Stage Prod,Prod Stage調(diào)用基礎(chǔ)設(shè)施管理程序(Terraform)根據(jù)基礎(chǔ)設(shè)施配置自動(dòng)完成Prod環(huán)境基礎(chǔ)設(shè)施配置并生成Prod環(huán)境機(jī)器配置信息(Inventory)。再由部署程序(Ansible)根據(jù)部署腳本(Playbook)將軟件包部署到Prod環(huán)境(Inventory)。工具:CI/CD + Terraform + Ansible
CI/CD- GoCD Pipeline:
Build QA Prod基礎(chǔ)設(shè)施配置- Terraform:
input: qa: *.tf *.tf_state prod: *.tf *.tf_state output: inventories qa prod部署腳本- Ansible:
invetories qa - created from terraform prod - created from terraform playbooks web.yml db.yml templates Conf.j2場景四:
特點(diǎn):
應(yīng)用多,流量巨,萬臺(tái)機(jī)器,DevOps合作,自動(dòng)基礎(chǔ)設(shè)施管理,自動(dòng)應(yīng)用程序管理,監(jiān)控,面向容器,服務(wù)發(fā)現(xiàn),名字解析,配置管理。流程:
DevOps合作。方法:
各個(gè)環(huán)境的基礎(chǔ)設(shè)施(網(wǎng)絡(luò),服務(wù)器,IP地址,操作系統(tǒng))由基礎(chǔ)設(shè)施管理系統(tǒng)根據(jù)需求信息(由高層提供)自動(dòng)配置。各個(gè)服務(wù)的用途也由基礎(chǔ)設(shè)施管理系統(tǒng)根據(jù)需求信息(由高層提供)自動(dòng)決策。因基礎(chǔ)設(shè)施并非事先設(shè)定,故應(yīng)用的配置不能依賴服務(wù)和機(jī)器的物理地址,需采用服務(wù)發(fā)現(xiàn)配合名字解析來實(shí)現(xiàn)系統(tǒng)的集成和配置。工具:
自動(dòng)基礎(chǔ)設(shè)施管理系統(tǒng)(面向機(jī)器,伸縮,部署,監(jiān)控) 自動(dòng)應(yīng)用程序管理系統(tǒng)(面向容器,伸縮,部署,監(jiān)控) 服務(wù)發(fā)現(xiàn) 名字解析 配置管理轉(zhuǎn)載于:https://www.cnblogs.com/zanxiaofeng/p/6558673.html
總結(jié)
以上是生活随笔為你收集整理的DevOps的几个场景的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java List接口概述
- 下一篇: 紫书动规 例题9-10 UVA - 16