日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

摸魚心法——CI成就夢想

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

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

首先聊聊我們面對的問題3se28資訊網(wǎng)——每日最新資訊28at.com

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

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

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

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

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

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

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

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

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

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

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

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

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

詳細說說流程中的幾個核心點

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

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

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

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

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

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

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

3.線上問題如何追溯到代碼版本

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

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

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

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

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

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

本文鏈接:http://m.www897cc.com/showinfo-26-5758-0.html摸魚心法——CI成就夢想

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

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

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

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
夜夜夜精品看看| 国产欧美综合在线| 欧美国产日韩免费| 欧美黄色大片网站| 国产精品成人一区二区三区吃奶| 国产精品一级在线| 亚洲国产精品123| 中文av字幕一区| 久久精品国产综合| 欧美另类videos死尸| 国产精品激情电影| 黑人操亚洲美女惩罚| 日韩视频免费观看| 欧美一区二区三区精品| 欧美va天堂在线| 国产精品久久久对白| 激情视频一区二区三区| 99精品国产高清一区二区| 欧美一区二区三区电影在线观看| 免费不卡在线视频| 欧美日韩精品免费看| 国产综合18久久久久久| 99视频精品全国免费| 久久精品天堂| 欧美先锋影音| 在线观看三级视频欧美| 亚洲免费网址| 欧美国产三级| 国模私拍视频一区| 制服丝袜亚洲播放| 久久亚洲一区| 国产美女一区| 亚洲免费av电影| 久久久久久一区二区| 国产精品超碰97尤物18| 亚洲国产精品一区二区三区| 午夜精品视频网站| 欧美日韩a区| 在线观看视频一区二区| 香蕉久久夜色精品国产| 欧美日韩一卡二卡| 亚洲国产精品久久久久婷婷884 | 欧美日韩一区二区三区在线| 国内一区二区三区| 亚洲一级影院| 欧美金8天国| 在线观看视频亚洲| 久久国产精品99国产| 国产精品久久久| 亚洲免费激情| 欧美成人午夜剧场免费观看| 国内精品久久久久影院薰衣草 | 欧美一区二区在线观看| 欧美日韩理论| 亚洲国产婷婷综合在线精品| 久久精品国产精品亚洲综合| 国产精品另类一区| 一区二区免费在线视频| 欧美国产日本| 亚洲国产精品va在线看黑人动漫| 久久久久国产精品一区三寸| 国产日本欧美视频| 亚洲欧美综合精品久久成人 | 影音先锋中文字幕一区二区| 久久国产精品毛片| 国产精品一区一区| 一本在线高清不卡dvd| 欧美精品在线观看播放| 亚洲欧洲另类| 欧美成人激情在线| 亚洲国产欧美一区二区三区同亚洲| 久久午夜精品| 极品日韩av| 久久久爽爽爽美女图片| 狠狠爱成人网| 久久精品午夜| 一区在线视频观看| 老牛国产精品一区的观看方式| 激情久久婷婷| 久久激情网站| 激情欧美一区二区三区在线观看| 久久久精品久久久久| 国产主播在线一区| 久久久国产91| 影音先锋亚洲精品| 免费成人你懂的| 91久久嫩草影院一区二区| 欧美福利精品| aa国产精品| 国产精品久久久久久久久果冻传媒| 亚洲一区二区三区激情| 国产精品有限公司| 欧美专区在线播放| 伊人久久综合| 欧美二区在线播放| 99re视频这里只有精品| 欧美午夜精品久久久久久孕妇| 亚洲永久视频| 国产一区二区三区四区五区美女| 久久深夜福利| 亚洲精品一级| 国产精品裸体一区二区三区| 欧美一级大片在线观看| 狠狠色综合色区| 欧美电影免费观看高清| 一级日韩一区在线观看| 国产欧美日韩中文字幕在线| 久久久久久久精| 91久久极品少妇xxxxⅹ软件| 欧美日韩无遮挡| 午夜亚洲精品| 亚洲第一福利社区| 欧美日韩一区不卡| 久久国产精品久久国产精品| 亚洲国产专区校园欧美| 欧美亚州一区二区三区| 久久成人免费电影| 亚洲激情第一区| 国产精品久久久久久久久| 久久久综合免费视频| 亚洲每日更新| 国产日韩欧美视频在线| 欧美精品xxxxbbbb| 欧美伊人久久大香线蕉综合69| 在线免费观看一区二区三区| 国产精品第一页第二页第三页| 久久九九免费| 一区二区av在线| 黄色亚洲大片免费在线观看| 欧美日韩国产美女| 久久国内精品自在自线400部| 亚洲人成网站999久久久综合| 国产精品网红福利| 你懂的视频欧美| 亚洲欧美日韩国产成人| 亚洲国产91| 国产精品一国产精品k频道56| 免费在线日韩av| 亚洲欧洲av一区二区| 亚洲激情一区二区| 国产精品久久久久久av下载红粉| 久久综合九色综合久99| 亚洲在线一区二区三区| 亚洲高清精品中出| 国产九九精品| 欧美日韩精品一本二本三本| 久久久久欧美| 亚洲欧美另类在线| 亚洲精品视频一区二区三区| 国产在线拍偷自揄拍精品| 欧美日韩一区在线| 麻豆精品视频在线观看| 亚洲夜间福利| 亚洲激情社区| 极品av少妇一区二区| 国产毛片一区二区| 欧美日韩亚洲不卡| 欧美成人精品1314www| 久久99伊人| 亚洲一级片在线看| 亚洲精品在线视频| 在线观看日韩欧美| 国产综合在线视频| 国产欧美日韩一区二区三区在线观看| 欧美日韩国产不卡| 欧美成人精品三级在线观看| 久久精品视频网| 欧美一区日韩一区| 午夜精品久久久久| 亚洲天堂免费观看| 日韩视频中文字幕| 亚洲国产日韩欧美综合久久| 韩日欧美一区二区| 国产女优一区| 国产精品久久久对白| 欧美日韩国产成人在线| 欧美成人午夜| 久久一本综合频道| 久久精品人人爽| 午夜精品久久久久久久蜜桃app | 久久天堂av综合合色| 欧美一区午夜视频在线观看| 亚洲一区二区少妇| 日韩午夜视频在线观看| 91久久精品日日躁夜夜躁国产| 伊人精品久久久久7777| 国内精品视频久久| 国产亚洲欧美在线| 国产欧美韩国高清| 国产精品一区二区女厕厕| 国产精品成人国产乱一区| 欧美日韩视频免费播放| 欧美日韩ab片| 欧美日韩伊人| 欧美午夜不卡| 国产精品扒开腿爽爽爽视频| 欧美视频不卡| 国产精品久久久久免费a∨| 国产精品九九| 国产精品一区二区你懂得| 国产精品一区在线播放| 国产日韩精品在线观看| 国产又爽又黄的激情精品视频| 国产一区二区三区在线观看视频|