国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区

當(dāng)前位置:首頁(yè) > 科技  > 軟件

摸魚(yú)心法——CI成就夢(mèng)想

來(lái)源: 責(zé)編: 時(shí)間:2023-08-14 22:01:48 576觀看
導(dǎo)讀前兩篇講到了服務(wù)如何適配容器化我們?cè)诜?wù)里做的一系列改造,服務(wù)可以很優(yōu)雅的適配容器化環(huán)境了,但是有一個(gè)前提是服務(wù)得容器化,也就是說(shuō)如何打包成鏡像。自己手動(dòng)構(gòu)建推送鏡像可不可以?當(dāng)然可以,不過(guò)老話說(shuō)得好,一個(gè)月幾百

前兩篇講到了服務(wù)如何適配容器化我們?cè)诜?wù)里做的一系列改造,服務(wù)可以很優(yōu)雅的適配容器化環(huán)境了,但是有一個(gè)前提是服務(wù)得容器化,也就是說(shuō)如何打包成鏡像。自己手動(dòng)構(gòu)建推送鏡像可不可以?當(dāng)然可以,不過(guò)老話說(shuō)得好,一個(gè)月幾百塊,你玩兒什命啊。你天天手動(dòng),手不累么?肩膀不酸嗎?身體受得了嗎?別再自己用手了,通過(guò)Gitlab CI來(lái)解放你的手,用你的手去做些更快樂(lè)的事情。32d28資訊網(wǎng)——每日最新資訊28at.com

首先聊聊我們面對(duì)的問(wèn)題32d28資訊網(wǎng)——每日最新資訊28at.com

  1. 測(cè)試需要一個(gè)獨(dú)立的測(cè)試環(huán)境,避免來(lái)自研發(fā)人員頻繁提交代碼帶來(lái)的干擾,但是不想給測(cè)試人員帶來(lái)額外的負(fù)擔(dān)
  2. 開(kāi)發(fā)環(huán)境和測(cè)試環(huán)境構(gòu)建流程需要一致化,開(kāi)發(fā)人員在本地就能觸發(fā)多個(gè)環(huán)境的構(gòu)建和部署
  3. 環(huán)境按照研發(fā)團(tuán)隊(duì)進(jìn)行隔離,每個(gè)團(tuán)隊(duì)獨(dú)立一套開(kāi)發(fā)和測(cè)試環(huán)境,團(tuán)隊(duì)之間互不影響
  4. 服務(wù)在開(kāi)發(fā)環(huán)境能正常運(yùn)行再交由測(cè)試同學(xué)
  5. 部署生產(chǎn)環(huán)境時(shí),保證部署的服務(wù)一定是測(cè)試后的版本,避免出現(xiàn)選擇錯(cuò)誤版本導(dǎo)致的線上問(wèn)題
  6. 需要對(duì)生產(chǎn)環(huán)境中服務(wù)所需的CPU和內(nèi)存用量有一個(gè)大概預(yù)估
  7. 生產(chǎn)環(huán)境服務(wù)出現(xiàn)問(wèn)題,如何快速追溯到是哪個(gè)版本發(fā)布后出現(xiàn)的,從發(fā)布版本追溯到代碼版本
  8. 我們不想引入其他的平臺(tái)來(lái)增加復(fù)雜度,運(yùn)維維護(hù)成本

針對(duì)上述幾個(gè)問(wèn)題,我們構(gòu)建出了一個(gè)場(chǎng)景32d28資訊網(wǎng)——每日最新資訊28at.com

開(kāi)發(fā)同學(xué)開(kāi)發(fā)完成后先在開(kāi)發(fā)環(huán)境里測(cè)試完成后自動(dòng)部署至測(cè)試環(huán)境,測(cè)試同學(xué)進(jìn)行多輪測(cè)試后標(biāo)記可發(fā)布的服務(wù)版本,同時(shí)可能存在同一個(gè)服務(wù)根據(jù)不同的需求在多分支上的開(kāi)發(fā)和測(cè)試問(wèn)題。而生產(chǎn)環(huán)境部署時(shí)只能選擇測(cè)試確認(rèn)的服務(wù)版本進(jìn)行發(fā)布上線,并且對(duì)于服務(wù)的資源配置要提供參考。線上運(yùn)行過(guò)程中遇見(jiàn)的問(wèn)題能追溯到發(fā)布版本和代碼版本。32d28資訊網(wǎng)——每日最新資訊28at.com

結(jié)合問(wèn)題、場(chǎng)景、容器化技術(shù)我們得出了以下的結(jié)論:32d28資訊網(wǎng)——每日最新資訊28at.com

  • 基于k8s namespace策略做環(huán)境隔離、團(tuán)隊(duì)隔離,通過(guò)資源限制策略、調(diào)度策略進(jìn)行控制不同環(huán)境的資源用量,減少資源成本、維護(hù)成本
  • 多個(gè)開(kāi)發(fā)環(huán)境和測(cè)試環(huán)境在提交代碼后均可完成自動(dòng)構(gòu)建和部署
  • 將代碼分支和部署環(huán)境進(jìn)行匹配,同時(shí)支持根據(jù)不同環(huán)境注入不同的環(huán)境變量值(前一篇文章分享過(guò))
  • 通過(guò)監(jiān)控?cái)?shù)據(jù)向正式環(huán)境提供服務(wù)運(yùn)行CPU和內(nèi)存的參考值,可以考慮直接用k8s VPA的策略(生產(chǎn)環(huán)境暫時(shí)不推薦使用),也可以考慮參考VPA的算法再結(jié)合監(jiān)控?cái)?shù)據(jù)進(jìn)行計(jì)算,不過(guò)這個(gè)帶來(lái)的問(wèn)題是需要人工調(diào)整服務(wù)的Request/Limit值
  • 線上部署的應(yīng)用服務(wù)記錄版本號(hào)用于問(wèn)題追溯到代碼
  • 在不引入其他平臺(tái)的前提下完成整個(gè)流程,我們就把目光聚焦在了gitlab提供的ci能力上了

為什么我們選擇用gitlab ci?網(wǎng)上一搜索就有很多在講優(yōu)勢(shì)劣勢(shì),這里說(shuō)說(shuō)我們看中的幾個(gè)原因:32d28資訊網(wǎng)——每日最新資訊28at.com

1.輕量:內(nèi)置在Gitlab平臺(tái)中,和代碼管理天然融合一體,而且上線的服務(wù)只用記錄commit號(hào)在后續(xù)回溯代碼時(shí)很方便32d28資訊網(wǎng)——每日最新資訊28at.com

2.易于配置:配置使用YAML文件進(jìn)行定義,具有直觀的語(yǔ)法。這使得構(gòu)建、測(cè)試和部署流程可以以代碼的方式進(jìn)行管理,易于維護(hù)和版本控制32d28資訊網(wǎng)——每日最新資訊28at.com

3.擴(kuò)展性強(qiáng):如果標(biāo)準(zhǔn)任務(wù)不足以滿(mǎn)足特定需求,可以無(wú)需侵入gitlab本身的代碼,就能定制構(gòu)建和部署流程32d28資訊網(wǎng)——每日最新資訊28at.com

總結(jié)下來(lái),gitlab提供的ci從我們的角度看,夠輕量,夠簡(jiǎn)單,擴(kuò)展性強(qiáng)。尤其是擴(kuò)展性強(qiáng)這一點(diǎn),這點(diǎn)讓我們臉都笑開(kāi)花了,可以低成本實(shí)現(xiàn)我們的想法,滿(mǎn)足我們的想象力。32d28資訊網(wǎng)——每日最新資訊28at.com

先看看整體流程32d28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片32d28資訊網(wǎng)——每日最新資訊28at.com

整套流程涵蓋了開(kāi)發(fā)階段、線上運(yùn)行階段,首先開(kāi)發(fā)階段下,運(yùn)維同學(xué)只需要在開(kāi)發(fā)測(cè)試的k8s集群中為不同團(tuán)隊(duì)創(chuàng)建ns并做資源限制,后續(xù)的部署更新都是基于研發(fā)同學(xué)的代碼提交觸發(fā),研發(fā)人員可在提交代碼后通過(guò)gitlab pipeline查看ci構(gòu)建、部署結(jié)果。開(kāi)發(fā)環(huán)境中健康檢查通過(guò),研發(fā)測(cè)試沒(méi)有問(wèn)題后將該迭代版本的代碼合并到對(duì)應(yīng)的測(cè)試分支部署至測(cè)試ns交由測(cè)試人員進(jìn)行測(cè)試,整體測(cè)試完成后標(biāo)記服務(wù)鏡像正式版本號(hào)。而后在平臺(tái)上進(jìn)行發(fā)布操作。后續(xù)運(yùn)行過(guò)程中遇見(jiàn)的問(wèn)題通過(guò)服務(wù)鏡像號(hào)可以追溯到對(duì)應(yīng)代碼,修復(fù)后重復(fù)上述過(guò)程32d28資訊網(wǎng)——每日最新資訊28at.com

詳細(xì)說(shuō)說(shuō)流程中的幾個(gè)核心點(diǎn)

1.代碼分支和環(huán)境對(duì)應(yīng)

首先定義namespace名稱(chēng)困難不困難?困難,而且不只是這個(gè)名字困難,涉及到命名的時(shí)候都困難,方法名、變量名,尤其是變量名,當(dāng)然如果說(shuō)都是用i,j 這些來(lái)作為變量名也算的話那就不困難,但是別人看到了。。怕是要被刀。。32d28資訊網(wǎng)——每日最新資訊28at.com

所以namespace是基于gitlab組和分支規(guī)范較為方便,分支規(guī)范每家不一樣沒(méi)有對(duì)錯(cuò)之分,把握的原則只是分支與環(huán)境對(duì)應(yīng)就好。舉一個(gè)例子,分支命名dev作為開(kāi)發(fā)分支前綴,test作為測(cè)試分支前綴,master作為主分支,gitlab上有兩個(gè)組 team1,team2(team2和team1一樣的邏輯圖中就不多畫(huà)了)32d28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片32d28資訊網(wǎng)——每日最新資訊28at.com

這樣做了之后,可以通過(guò)在ci中解析分支命名就可以在對(duì)應(yīng)的namespace下創(chuàng)建有分支后綴的服務(wù)名了32d28資訊網(wǎng)——每日最新資訊28at.com

2.如何限制環(huán)境下的資源

通過(guò)k8s提供的resourcequotas限制每個(gè)namespace的資源上限,通過(guò)監(jiān)控集群資源池和namespace的資源用量,來(lái)調(diào)整集群的整體資源池,如果使用的公有云還可以通過(guò)k8s提供的CA(Cluster Autoscaler)進(jìn)行伸縮32d28資訊網(wǎng)——每日最新資訊28at.com

3.線上問(wèn)題如何追溯到代碼版本

在CI構(gòu)建打包的時(shí)候,在gitlab runner中可以通過(guò)獲取環(huán)境變量的方式來(lái)獲取本次提交的commit值并自動(dòng)添加到鏡像版本號(hào)中,這樣在后續(xù)通過(guò)鏡像版本號(hào)便能追溯到對(duì)應(yīng)的代碼版本。32d28資訊網(wǎng)——每日最新資訊28at.com

4.為何只提ns,不提集群

這是因?yàn)閚s是一個(gè)邏輯概念,是為了考慮k8s集群出現(xiàn)災(zāi)難性故障時(shí),可以方便我們快速在一個(gè)新的k8s集群中迅速重建所有服務(wù)。同時(shí)也讓一次CI部署多套集群成為可能。32d28資訊網(wǎng)——每日最新資訊28at.com

5.如何實(shí)現(xiàn)自行實(shí)現(xiàn)上述流程

從圖中可知總共分成了4個(gè)大塊,可以根據(jù)自己的需求去實(shí)現(xiàn)。32d28資訊網(wǎng)——每日最新資訊28at.com

  1. CI gitlab原生支持,只需要定義好一個(gè)ci.yml文件,然后其他的工程下引用這個(gè)文件就可以完成觸發(fā)動(dòng)作
  2. 開(kāi)發(fā)測(cè)試環(huán)境部署這個(gè)可以通過(guò)各類(lèi)語(yǔ)言對(duì)接k8s就能完成,不過(guò)我們推薦采用operator的形式進(jìn)行實(shí)現(xiàn),這樣對(duì)于服務(wù)版本,信息注入更方便
  3. 生產(chǎn)環(huán)境部署目前市面上的k8s管理類(lèi)平臺(tái)不少,都是可以達(dá)成這個(gè)效果的
  4. 運(yùn)行監(jiān)控監(jiān)控從兩個(gè)維度來(lái)做,指標(biāo)和日志。指標(biāo)監(jiān)控首推prometheus,日志可以采用EFK套件,較為成熟不過(guò)我們覺(jué)得成本太貴,Loki是一個(gè)不錯(cuò)的替代方案。我們的平臺(tái)則是采用公司自研的數(shù)據(jù)庫(kù)實(shí)現(xiàn)了日志模塊。

本文鏈接:http://m.rrqrq.com/showinfo-26-5758-0.html摸魚(yú)心法——CI成就夢(mèng)想

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 錯(cuò)誤處理策略:Java開(kāi)發(fā)者的MySQL數(shù)據(jù)庫(kù)故障解決方案

下一篇: 每個(gè)前端開(kāi)發(fā)者都應(yīng)知道的14個(gè)實(shí)用網(wǎng)站

標(biāo)簽:
  • 熱門(mén)焦點(diǎn)
Top 国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区
久久99精品久久久久久动态图| 国产三级精品三级| aa日韩免费精品视频一| 99久久99久久精品免费看蜜桃| 国产一区二区三区av电影 | 极品尤物av久久免费看| 丝瓜av网站精品一区二区| 亚洲人123区| 一区二区三区精密机械公司| 亚洲色图视频网| 亚洲香肠在线观看| 天天影视涩香欲综合网| 午夜日韩在线电影| 青青草原综合久久大伊人精品优势| 日韩激情视频在线观看| 老司机一区二区| 狠狠色丁香婷婷综合久久片| 久久夜色精品| 亚洲国产精品麻豆| 久久精品国产**网站演员| 奇米一区二区三区| 国产精品一区二区在线播放| 成人精品高清在线| 国产精品大片| 一本不卡影院| 欧美中文字幕一区| 精品国产乱码久久久久久闺蜜 | 日本亚洲免费观看| 国产精品一区在线观看乱码| 波多野结衣一区二区三区| 国产亚洲毛片| 蜜桃在线一区二区三区| 国产精品一区二区在线播放| 午夜久久tv| 亚洲一区尤物| 91.xcao| 日韩欧美国产精品一区| 自拍偷自拍亚洲精品播放| 亚洲美女电影在线| 蜜臀久久久99精品久久久久久| 成人一级视频在线观看| 欧美午夜国产| 色婷婷av久久久久久久| 日韩精品最新网址| 色94色欧美sute亚洲线路一ni| 欧美成人综合网站| 亚洲九九爱视频| 国产成人综合亚洲网站| 国产精品大片免费观看| 欧美日韩国产区一| 综合av第一页| 国产91精品免费| 国产一区二区高清不卡| 精品国产三级a在线观看| 依依成人综合视频| av午夜精品一区二区三区| 国产伦精品一区二区三区| 精品国产青草久久久久福利| 亚洲五码中文字幕| 91蝌蚪porny九色| 欧美日韩中文另类| 亚洲精选视频在线| 波波电影院一区二区三区| 色综合久久久网| 中文字幕五月欧美| 懂色av一区二区三区蜜臀| 老牛影视一区二区三区| 国产精品国产三级国产有无不卡| 国产一区在线视频| 久久精品91| 国产精品久久看| 国产成人av电影| 在线看不卡av| 一区二区国产视频| 欧美日韩大片一区二区三区 | 亚洲欧美一区二区在线观看| 国产宾馆实践打屁股91| 成年人午夜久久久| 欧美日韩在线播放三区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美一区二区三区另类| 欧美日韩一级黄| 午夜国产不卡在线观看视频| 激情91久久| 亚洲国产精品成人久久综合一区| 国产高清不卡一区二区| 欧美日韩中文字幕精品| 青椒成人免费视频| 美女尤物久久精品| 一区二区视频在线| 狠狠爱www人成狠狠爱综合网 | 国产一区视频网站| 欧美私模裸体表演在线观看| 日韩电影在线一区| 国产精品一区二区三区免费观看| 中文字幕一区二区三区四区| 欧美日韩1区| 久久精品夜色噜噜亚洲aⅴ| 丰满少妇在线播放bd日韩电影| 69精品人人人人| 国产成人啪免费观看软件| 欧美一区二区三区四区五区| 国产精品资源网站| 欧美一二三四在线| 国产成人亚洲综合色影视| 在线播放国产精品二区一二区四区 | 国产一区二区精品久久99| 欧美高清性hdvideosex| 韩国av一区二区三区在线观看| 欧美色老头old∨ideo| 精品亚洲免费视频| 91精品国产美女浴室洗澡无遮挡| 国产一区二区三区观看| 欧美刺激午夜性久久久久久久| 成人av在线一区二区| 欧美激情在线一区二区三区| 韩国av一区| 午夜一区二区三区视频| 日韩一级免费观看| 亚洲欧美激情视频在线观看一区二区三区| 欧美日韩精品免费观看视频完整 | 国产一区二区看久久| 欧美一区二区二区| 91蜜桃免费观看视频| 综合色中文字幕| 麻豆成人在线播放| 国产伦精品一区二区三区视频青涩| 欧美一激情一区二区三区| 欧美韩国一区| 亚洲综合av网| 欧美日韩不卡一区二区| 99精品久久久久久| 亚洲精品国产高清久久伦理二区| 美女网站久久| 成人avav影音| 亚洲久草在线视频| 4438亚洲最大| 一区视频在线| 看电视剧不卡顿的网站| 欧美xxxx老人做受| 在线免费观看一区二区三区| 日本不卡一二三区黄网| 日韩视频一区二区三区| 亚洲视频狠狠| 久久电影网电视剧免费观看| 久久影院视频免费| 亚洲综合欧美| av在线播放不卡| 婷婷丁香激情综合| 精品欧美一区二区久久| 99精品国产一区二区青青牛奶| 精品一区在线看| 日韩一区欧美一区| 欧美精品色综合| 一本色道久久综合亚洲精品高清| 国精产品一区一区三区mba视频| 国产精品免费丝袜| 欧美日韩国产综合视频在线观看| 激情久久综合| 丰满岳乱妇一区二区三区| 亚洲一区二区三区四区在线| 日韩你懂的在线播放| 亚洲综合首页| 国内精品福利| 国产91精品在线观看| 偷窥国产亚洲免费视频| 日本一区二区视频在线| 欧美日韩aaaaaa| 亚洲欧美bt| 国产主播一区| 国产1区2区3区精品美女| 亚洲成av人片在线观看| 亚洲国产精品ⅴa在线观看| 久久这里只精品最新地址| 丁香六月综合激情| 日韩国产欧美在线视频| 亚洲欧美另类在线| 久久久国产午夜精品 | 午夜精品久久久久久久久| 国产欧美日韩视频在线观看| 在线不卡a资源高清| 色欧美乱欧美15图片| 99视频+国产日韩欧美| 欧美不卡视频| 成人成人成人在线视频| 美女被吸乳得到大胸91| 亚洲v日本v欧美v久久精品| 国产精品视频观看| 久久精品水蜜桃av综合天堂| 制服丝袜一区二区三区| 欧美性xxxxx极品少妇| 免费久久99精品国产自在现线| 欧美一区二区三区在线播放 | 欧美特黄一级| 欧美激情第二页| 99国产一区二区三精品乱码| 极品少妇xxxx偷拍精品少妇| 亚洲伊人色欲综合网| 亚洲精品免费看| 一区二区三区日韩欧美精品|