999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于云化部署的信息系統(tǒng)自動化管理平臺設(shè)計

2024-12-14 00:00:00陳彥菲
今日自動化 2024年11期

[關(guān)鍵詞]流水線;全流程自動化;持續(xù)集成;持續(xù)交付;動態(tài)伸縮

[中圖分類號]TP39 [文獻標志碼]A [文章編號]2095–6487(2024)11–0166–03

當前,信息系統(tǒng)建設(shè)大多采用微服務架構(gòu),隨著業(yè)務的增加,微服務數(shù)量也隨之增加,尤其是大型系統(tǒng),微服務的數(shù)量多以百計,人工管理已不現(xiàn)實,需通過合理使用工具進行自動化管理,從而提高工作效率。信息化系統(tǒng)建設(shè)多以云原生技術(shù)體系、自主可控為原則設(shè)計,結(jié)合容器編排系統(tǒng)K8S,微服務架構(gòu)與DevOps工具鏈實現(xiàn)全流程自動化管理。其中,文章DevOps工具鏈用到的云原生組件包括禪道、GitLab、Nexus、Maven、Jenkins等。技術(shù)組件選型基于云原生技術(shù)體系,包含較多云原生組件,在項目中可根據(jù)項目實際需要結(jié)合項目特點選擇合適的組件。

1總體架構(gòu)

使用DevOps工作模式可實現(xiàn)信息系統(tǒng)建設(shè)的全生命周期系統(tǒng)化、自動化管理。要實現(xiàn)DevOps工作模式落地實施需要借助云原生組件構(gòu)建DevOps 工具鏈,實現(xiàn)計劃階段、需求階段、設(shè)計階段、開發(fā)階段、測試階段、交付部署階段的系統(tǒng)化管理,做到各階段工作有跡可循。DevOps工具鏈集成與工作流程如圖1 所示。

信息系統(tǒng)項目的計劃、需求階段文檔以及最終成型的交付物在禪道中管理,需求及設(shè)計評審通過后將需求與設(shè)計共同打包形成開發(fā)任務,通過禪道將開發(fā)任務分配給開發(fā)人員;開發(fā)人員通過禪道領(lǐng)取開發(fā)任務。開發(fā)階段,使用GitLab作為代碼托管工具,使用Maven與Nexus管理微服務使用的依賴包,微服務的最終交付物是鏡像,在DevOps工具鏈中引入Jenkins作為CI/CD工具,實現(xiàn)代碼構(gòu)建、鏡像制作持續(xù)集成、持續(xù)構(gòu)建的工作。為了保障開發(fā)人員的代碼質(zhì)量,在代碼構(gòu)建過程中,在Jenkins中集成SonarScan 客戶端工具自動掃描代碼進行代碼質(zhì)量檢查,確保交付的代碼無漏洞、無代碼缺陷,并將掃描結(jié)果同步到SonarQube服務端,便于代碼審計;代碼構(gòu)建完成后引用Dockerfile 文件制作微服務鏡像,并將鏡像推送到鏡像倉庫,供測試人員部署到容器云平臺中進行系統(tǒng)功能及性能測試,測試完成的鏡像作為最終交付物,待上線交付用戶使用。

開發(fā)階段是持續(xù)的過程,通過圖1工具鏈的集成與協(xié)作,實現(xiàn)了信息系統(tǒng)的持續(xù)集成與繼續(xù)交付,以及信息系統(tǒng)全過程系統(tǒng)化管理。

2系統(tǒng)化項目管理

在項目建設(shè)過程中,項目管理至關(guān)重要,貫穿項目全生命周期,其好壞直接影響著項目的進度、成本及質(zhì)量。如何高效地進行項目管理需重點關(guān)注。通過自動化項目管理工具,將項目計劃、需求及工作任務相關(guān)聯(lián)可實現(xiàn)項目的簡約化管理。為了實現(xiàn)這一目標,需要引入系統(tǒng)化管理工具,將項目管理納入到全流程系統(tǒng)化管理中,從而做到項目計劃明晰,項目需求明確,項目組內(nèi)成員溝通順暢,同時也可實現(xiàn)項目管理過程留痕。

在項目管理過程中通過如下步驟實現(xiàn)項目的簡約、高效管理:①制訂項目管理里程碑,將項目劃分為需求、實施、測試及上線試運行階段,通過工具對需求進行管理。②將每個階段拆分成詳細的工作計劃,并將計劃與需求進行關(guān)聯(lián),從而得到需求落地時間線,便于掌握項目總體進度。③將項目組成員的工作任務進行系統(tǒng)化管理,在分配任務時,將任務與計劃和需求關(guān)聯(lián),便于明確項目組成員的工作狀況和對應計劃及需求的狀態(tài)。

3代碼托管與代碼質(zhì)量管理

代碼托管與代碼質(zhì)量管理是項目實施過程中不可或缺的兩個重要環(huán)節(jié),尤其是大型、多團隊合作的項目,如何做好代碼管理與代碼質(zhì)量管理尤其重要。

在實際項目實施過程中,單個服務的代碼可分為開發(fā)分支(dev)、測試分支(test)、預生產(chǎn)分支(premaster)及生產(chǎn)分支(master)。項目開發(fā)時初始代碼均由master 分支拉取,開發(fā)人員在dev 分支按模塊或開發(fā)人員賬號創(chuàng)建單獨的分支,本地開發(fā)自測完成后將本地代碼檢入dev 分支并在開發(fā)環(huán)境發(fā)版進行線上測試;dev 分支完成后將代價檢入test 分支提交測試人員在測試環(huán)境發(fā)布測試,如此依次進行預生產(chǎn)、生產(chǎn)環(huán)境的代碼檢入和各自對應預生產(chǎn)環(huán)境和生產(chǎn)環(huán)境的發(fā)布。master 分支是最終的成品庫,在該分支進行代碼的版本管理和產(chǎn)品功能發(fā)布。當測試、預生產(chǎn)及生產(chǎn)環(huán)境出現(xiàn)bug時,需在對應分支創(chuàng)建hotfix 分支進行bug修改,功能測試通過后將hotfix 分支的代碼檢入master、premaster、test 及dev 分支。

代碼質(zhì)量管理指通過一系列過程和工具確保軟件產(chǎn)品滿足用戶需求,符合預期質(zhì)量標準。在持續(xù)集成階段,通過代碼質(zhì)量檢查實現(xiàn)對代碼的靜態(tài)掃描,得到代碼中的漏洞、缺陷,形成質(zhì)量報告,指導開發(fā)人員規(guī)范編碼。集成測試與系統(tǒng)測試屬于動態(tài)測試,動態(tài)測試可幫助及時發(fā)現(xiàn)系統(tǒng)運行時的缺陷。靜態(tài)與動態(tài)兩種檢查模式,保障開發(fā)的系統(tǒng)滿足安全性、健康性和可靠性的要求。

4"Jenkins流水線

通過流水線方式實現(xiàn)自動化構(gòu)建最常用的工具是Jenkins。通過Jenkins 工具可將DevOps 工具鏈中各組件集成到一起,Jenkins通過集成DevOps 工具鏈中的GitLab、Naven、Nexus、SonarScan 并結(jié)合K8S 實現(xiàn)流水線式一鍵和自動化部署上線,集成以上組件需要在Jenkins 中安裝相關(guān)組件的插件。

Jenkins 作為常用的CI/CD工具,常用的方式有自由風格和流水線(Pipeline)。其中,Pipeline是一套運行時工作流框架,將原本獨立運行的單個或多個節(jié)點任務連接起來,實現(xiàn)單個任務難以完成的復雜流程編排和流程可視化。實現(xiàn)流水線模式需要進行流水線腳本編寫,可采用腳本式和聲明式兩種模式,流水線腳本可在Jenkins 系統(tǒng)通過頁面方式編寫shell 腳本,也可以在工程中創(chuàng)建Jenkinsfile 文件,使用者選用哪種方式可根據(jù)自身掌握程度進行選擇。

在編寫流水線腳本時主要包含以下步驟。

(1)拉取GiaLab代碼并調(diào)用Maven工具進行代碼構(gòu)建。

(2)調(diào)用SonarScan掃描代碼進行代碼質(zhì)量檢查。

(3)調(diào)用Dockerfile 文件基于基礎(chǔ)鏡像制作業(yè)務鏡像。

(4)將業(yè)務鏡像推送到鏡像倉庫。

(5)將鏡像部署到K8S平臺中。

以上方式需要手動觸發(fā)構(gòu)建,在開發(fā)過程中,為了提高開發(fā)效率,需要開發(fā)人員在提交代碼時自動構(gòu)建、交付和部署。實現(xiàn)這種方式需要在GitLab 中配置觸發(fā)Jenkins自動構(gòu)建的webhook,配置流程如下。

(1)在GitLab 中創(chuàng)建訪問Token。

(2)在Jenkins 系統(tǒng)設(shè)置中配置GitLab訪問地址以及輸入步驟1生成的Token。

(3)配置Jenkins 中Pipeline 工程,在構(gòu)建觸發(fā)器中設(shè)置webhook 觸發(fā)。

(4)在GitLab 中集成模塊配置webhook 鉤子及觸發(fā)方式。

通過流水線可視化模式,便于在構(gòu)建過程中快速定位問題,從而節(jié)省排查問題的工作量,通過自動化構(gòu)建模式減少了項目組內(nèi)部溝通成本,節(jié)省了開發(fā)過程中重復機械乏味的工作,提高了開發(fā)速度和效率。

5容器云平臺的能力

當前容器技術(shù)已較為成熟,且應用廣泛,尤其是對于微服務架構(gòu)來說,容器部署已成為必選,而使用Docker 與K8S 結(jié)合搭建容器云平臺幾乎成為微服務架構(gòu)的標配。DevOps與容器化是云原生生態(tài)的兩大技術(shù)體系,兩者可結(jié)合使用。

容器云平臺提供了應用程序的部署、擴展和管理,包涵容器編排、資源調(diào)度、彈性伸縮、部署管理、服務發(fā)現(xiàn)等一系列功能,基于云化部署的信息化全流程管理,使得應用部署更簡單高效。K8S 中的自我修復特性保障了應用的可用性,動態(tài)擴縮容能力保障了應用的健壯性。

5.1部署Jenkins

將Jenkins部署在容器云平臺之前需要制作Jenkins與Maven的鏡像,將兩者打包到一個鏡像中,在配置K8S的Deployment 配置文件時需要完成以下配置項。

(1)掛載jenkins_home 目錄到宿主機(如有共享存儲可掛載到共享存儲數(shù)據(jù)卷)。

(2)掛載宿主機的docker 進程到j(luò)enkins 的/run/docker.sock。

(3)掛載maven 的settings.xml 到maven 工作目錄/conf/settings.xml。

(4)掛載/etc/docker/daemon.json保證能夠訪問harbor倉庫。

(5)配置節(jié)點選擇器,將pod調(diào)度到指定的工作節(jié)點上,保證pod銷毀重建時jenkins的數(shù)據(jù)不丟失。

5.2自動擴縮

在基于云化部署的信息化系統(tǒng)中,除了保證基本的容器云平臺能力之外,還需要保障應用的高可用性,做到訪問高峰期自動擴容,低谷期自動縮容,實現(xiàn)動態(tài)自動擴縮容。

K8S 中根據(jù)適用擴縮對象實現(xiàn)自動擴縮容,分工作節(jié)點和工作負載?;诠ぷ鞴?jié)點的擴縮適用于K8S工作節(jié)點在資源不滿足調(diào)度時,通過增加工作節(jié)點的方式增加系統(tǒng)資源,在工作節(jié)點資源閑置時,通過減少工作節(jié)點釋放系統(tǒng)資源,從而保證硬件資源的高效利用?;诠ぷ髫撦d的擴縮,主要實現(xiàn)自動更新工作負載資源以滿足需求,最終體現(xiàn)在對Pod 的資源調(diào)度,擴縮Pod 資源可采用垂直擴縮和水平擴縮,垂直擴縮即資源緊張時將更多資源(例如,內(nèi)存或 CPU)分配給已經(jīng)為工作負載運行的 Pod,資源閑置時縮減Pod 的資源,水平擴縮通多增加和減少Pod 的數(shù)量滿足需求,在實際生產(chǎn)環(huán)境中,大多采用水平Pod 數(shù)量擴縮。

水平Pod數(shù)量擴縮實現(xiàn)時有HPA、KPA 和VPA3 種方式。HPA(Horizontal Pod Autoscaling)主要通過監(jiān)測工作節(jié)點的內(nèi)存或CPU 等資源實現(xiàn),在部署應用時增加HorizontalPodAutoscaler 控制器并配置相應的度量指標實現(xiàn)。KPA(Knative Pod Autoscaler)基于請求數(shù)對Pod自動擴縮容。VPA(Vertical PodAutoscaler)基于Pod 的資源使用情況自動為集群設(shè)置資源占用的限制,其會根據(jù)容器資源使用率自動設(shè)置Pod的CPU和內(nèi)存的requests,從而允許在節(jié)點上進行適當調(diào)度,以便為每個Pod 提供適當?shù)目捎霉?jié)點。

基于容器云平臺的云化部署能力,可實現(xiàn)應用的一鍵部署,不必關(guān)注服務器硬件及中間件等繁瑣的集成配置等工作,為基于云化部署的信息化系統(tǒng)全流程管理提供了一站式解決方案。

6結(jié)束語

文章對基于云化部署的信息系統(tǒng)自動化管理平臺設(shè)計進行了探討,基于云平臺設(shè)計,項目全生命周期得到了有效管理,從項目計劃、需求、設(shè)計、開發(fā)、測試、部署全過程實現(xiàn)了自動化管理,做到需求快速響應,項目管理過程有跡可循。實現(xiàn)了從敏捷開發(fā)、敏捷交付到敏捷運維,降低了人員流動引起的風險。

主站蜘蛛池模板: 国产精品自在线天天看片| 亚洲综合片| a色毛片免费视频| 婷婷99视频精品全部在线观看| 国产黄色免费看| 伊人久久精品亚洲午夜| 福利在线一区| 国产亚洲精久久久久久无码AV| 午夜在线不卡| 午夜欧美在线| 亚洲国产中文综合专区在| 国产经典免费播放视频| 无码日韩精品91超碰| 视频一本大道香蕉久在线播放 | 99精品视频九九精品| 国产高清不卡| 亚洲不卡网| 爆乳熟妇一区二区三区| 熟妇人妻无乱码中文字幕真矢织江| 国产一区二区三区在线观看免费| 亚洲综合精品第一页| 亚洲婷婷丁香| 亚洲精品国产综合99久久夜夜嗨| 亚洲欧美色中文字幕| 亚洲欧美人成电影在线观看| 亚洲欧美日本国产专区一区| 91成人在线免费视频| 久操线在视频在线观看| 婷婷色婷婷| 曰韩免费无码AV一区二区| www.亚洲一区| 久久综合九色综合97婷婷| 亚洲日韩图片专区第1页| 一级毛片在线播放| 亚洲第一在线播放| 亚洲精品第一在线观看视频| 欧美区一区| 午夜啪啪网| 国产精品视频白浆免费视频| 在线精品亚洲一区二区古装| 无码专区国产精品第一页| 色综合a怡红院怡红院首页| 亚洲女人在线| 国产福利小视频高清在线观看| 丝袜亚洲综合| 久久综合亚洲色一区二区三区| 色呦呦手机在线精品| 亚洲欧美日韩精品专区| 亚洲国产成人久久77| 99久久精品久久久久久婷婷| 911亚洲精品| a毛片在线免费观看| 中文字幕乱妇无码AV在线| 亚洲综合亚洲国产尤物| 91 九色视频丝袜| 国产第二十一页| 欧美国产另类| 欧美一区二区三区香蕉视| 亚洲香蕉伊综合在人在线| 9啪在线视频| 一本大道香蕉中文日本不卡高清二区| 在线看片中文字幕| 欧美日本不卡| 最新加勒比隔壁人妻| 日韩免费毛片视频| a级毛片网| 亚洲成A人V欧美综合天堂| 中字无码精油按摩中出视频| 无码一区中文字幕| 亚洲综合狠狠| 超碰色了色| 久久男人资源站| 国产九九精品视频| 在线99视频| 中文字幕在线一区二区在线| 午夜日韩久久影院| 高潮爽到爆的喷水女主播视频| 91偷拍一区| 在线欧美国产| 日本精品影院| av免费在线观看美女叉开腿| 欧美激情第一区|