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