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

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

摸魚心法——CI成就夢想

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

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

首先聊聊我們面對的問題XzE28資訊網——每日最新資訊28at.com

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

針對上述幾個問題,我們構建出了一個場景XzE28資訊網——每日最新資訊28at.com

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

結合問題、場景、容器化技術我們得出了以下的結論:XzE28資訊網——每日最新資訊28at.com

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

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

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

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

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

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

先看看整體流程XzE28資訊網——每日最新資訊28at.com

圖片圖片XzE28資訊網——每日最新資訊28at.com

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

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

1.代碼分支和環境對應

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

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

圖片圖片XzE28資訊網——每日最新資訊28at.com

這樣做了之后,可以通過在ci中解析分支命名就可以在對應的namespace下創建有分支后綴的服務名了XzE28資訊網——每日最新資訊28at.com

2.如何限制環境下的資源

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

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

在CI構建打包的時候,在gitlab runner中可以通過獲取環境變量的方式來獲取本次提交的commit值并自動添加到鏡像版本號中,這樣在后續通過鏡像版本號便能追溯到對應的代碼版本。XzE28資訊網——每日最新資訊28at.com

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

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

5.如何實現自行實現上述流程

從圖中可知總共分成了4個大塊,可以根據自己的需求去實現。XzE28資訊網——每日最新資訊28at.com

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

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

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

上一篇: 錯誤處理策略:Java開發者的MySQL數據庫故障解決方案

下一篇: 每個前端開發者都應知道的14個實用網站

標簽:
  • 熱門焦點
  • MIX Fold3包裝盒泄露 新機本月登場

    小米的全新折疊屏旗艦MIX Fold3將于本月發布,近日該機的真機包裝盒在網上泄露。從圖上來看,新的MIX Fold3包裝盒在外觀設計方面延續了之前的方案,變化不大,這也是目前小米旗艦
  • 7月安卓手機性價比榜:努比亞+紅魔兩款新機入榜

    7月登場的新機有努比亞Z50S Pro和紅魔8S Pro,除了三星之外目前唯二的兩款搭載超頻版驍龍8Gen2處理器的產品,而且努比亞和紅魔也一貫有著不錯的性價比,所以在本次的性價比榜單
  • 帥氣純真少年!日本最帥初中生選美冠軍出爐

    日本第一帥哥初一生選美大賽冠軍現已正式出爐,冠軍是來自千葉縣的宗田悠良。日本一直熱衷于各種選美大賽,從“最美JK”起到“最美女星&r
  • 28個SpringBoot項目中常用注解,日常開發、求職面試不再懵圈

    前言在使用SpringBoot開發中或者在求職面試中都會使用到很多注解或者問到注解相關的知識。本文主要對一些常用的注解進行了總結,同時也會舉出具體例子,供大家學習和參考。注解
  • CSS單標簽實現轉轉logo

    轉轉品牌升級后更新了全新的Logo,今天我們用純CSS來實現轉轉的新Logo,為了有一定的挑戰性,這里我們只使用一個標簽實現,將最大化的使用CSS能力完成Logo的繪制與動畫效果。新logo
  • 十個簡單但很有用的Python裝飾器

    裝飾器(Decorators)是Python中一種強大而靈活的功能,用于修改或增強函數或類的行為。裝飾器本質上是一個函數,它接受另一個函數或類作為參數,并返回一個新的函數或類。它們通常用
  • JavaScript學習 -AES加密算法

    引言在當今數字化時代,前端應用程序扮演著重要角色,用戶的敏感數據經常在前端進行加密和解密操作。然而,這樣的操作在網絡傳輸和存儲中可能會受到惡意攻擊的威脅。為了確保數據
  • 四年持續更迭堅持探索行業無人之境,HarmonyOS 4帶來五大升級多項創新

    除了華為每年新發布的旗艦手機系列,上億花粉更加期待鴻蒙系統每次的跨版本大更新。8月4日,HarmonyOS 4于HDC 2023正式發布,這也是該系統歷經四年的再
  • AMD的AI芯片轉單給三星可能性不大 與臺積電已合作至2nm制程

    據 DIGITIMES 消息,英偉達 AI GPU 出貨逐季飆升,接下來 AMD MI 300 系列將在第 4 季底量產。而半導體業內人士表示,近日傳出 AMD 的 AI 芯片將轉單給
Top 国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区
日本在线不卡视频| 欧美亚洲自拍偷拍| 在线精品国精品国产尤物884a| 国产精品九色蝌蚪自拍| 91浏览器在线视频| 日韩精品一区二区三区老鸭窝| 麻豆久久久久久| 久久精品国产清高在天天线| 亚洲特黄一级片| 欧美日韩伊人| 国产欧美视频一区二区| 91美女片黄在线观看| 日韩区在线观看| 成人不卡免费av| 91久久精品国产91性色tv| 一区二区三区四区高清精品免费观看| 黄色欧美日韩| 最新热久久免费视频| 亚洲激情偷拍| 亚洲精品高清视频在线观看| 一二三区精品| 午夜不卡av免费| 久久综合伊人| 久久精品国产亚洲5555| 91麻豆精品久久久久蜜臀| 国产精品一二三区| 精品日韩成人av| 欧美精品综合| 国产精品乱人伦中文| 最新成人av网站| 尤物视频一区二区| 久久国产99| 免费一级片91| 欧美精品久久久久久久多人混战 | 亚洲一区二区三区小说| 99久久精品一区| 国产三级精品视频| 国产一区二区三区自拍| 亚洲视频在线一区| 亚洲欧美卡通另类91av| 亚洲精品videosex极品| 欧美专区一区二区三区| 久久国产欧美日韩精品| 日韩欧美中文一区二区| 99久久久久免费精品国产| 欧美三级三级三级| 极品少妇一区二区| 欧美一区二区观看视频| 色综合久久中文综合久久97| 久久精品一二三| 精品精品欲导航| 国产成a人亚洲| 国产日韩精品一区| 国产精品欧美日韩一区| 奇米影视一区二区三区| 欧美日韩视频第一区| 国产 日韩 欧美大片| 国产精品久久久久久一区二区三区| 国产伦精品一区二区三区| 美女脱光内衣内裤视频久久网站 | 国产女主播一区二区| 男男视频亚洲欧美| 欧美大片在线观看一区二区| 欧美日韩第一区| 图片区日韩欧美亚洲| 欧美一区二区三区四区视频| 欧美不卡视频| 亚洲一区二区在线观看视频 | 在线成人av网站| 欧美在线资源| 亚洲大片精品永久免费| 777久久久精品| 亚洲一级影院| 欧美aⅴ一区二区三区视频| 日韩精品一区二区三区在线| 亚洲三级视频| 久久精品免费看| 国产日韩欧美激情| 久久久久综合| 成人精品一区二区三区中文字幕| 亚洲人被黑人高潮完整版| 欧美日韩中文国产| 国产又黄又大久久| 亚洲电影你懂得| 欧美福利电影网| 欧美日韩一区二区三区在线视频| 亚洲成人免费av| 欧美一区二区三区啪啪| 极品中文字幕一区| 久久精品国产一区二区三区免费看| 久久蜜臀中文字幕| 国产精品最新自拍| 高清国产一区二区| 亚洲午夜在线电影| 2022国产精品视频| 一本色道久久综合亚洲精品按摩 | 亚洲免费观看| 国产精品一二二区| 一区二区高清免费观看影视大全| 欧美一区二区私人影院日本| 国产欧美激情| 成+人+亚洲+综合天堂| 午夜精品久久久久久久| 久久久国产午夜精品| 91久久国产最好的精华液| 欧美日韩国产成人精品| 久久99热国产| 亚洲精品久久久蜜桃| 亚洲精品在线观看网站| 欧美写真视频网站| 日韩午夜免费视频| 9i在线看片成人免费| 久久精品av麻豆的观看方式| 一区二区中文字幕在线| 欧美一二三四区在线| 一本久久综合亚洲鲁鲁五月天| 亚洲天堂偷拍| 成人午夜激情影院| 蜜桃视频第一区免费观看| 亚洲男人的天堂一区二区| 亚洲精品在线免费播放| 欧美色视频一区| 久久福利电影| 1024亚洲| 91麻豆免费视频| 国产一区二区按摩在线观看| 肉肉av福利一精品导航| 国产精品久久久久久久久快鸭 | 激情91久久| 成人精品国产福利| 久久99日本精品| 天堂va蜜桃一区二区三区| 日韩五码在线| 国产伦精品一区二区三区在线观看| 国产精品初高中害羞小美女文| 日韩午夜激情免费电影| 欧美午夜在线一二页| 亚洲在线免费| 国产精品观看| 91视频一区二区| 国产精品1024| 久久99在线观看| 日韩电影免费在线看| 亚洲精品成人少妇| 中文字幕视频一区二区三区久| 2014亚洲片线观看视频免费| 91精品国产一区二区三区香蕉| 欧美日韩在线播| 精品粉嫩aⅴ一区二区三区四区| 国产成人精品亚洲777人妖| 日韩精品福利网| 亚洲成a人片在线观看中文| 最新日韩在线视频| 国产精品卡一卡二卡三| 日本一区二区免费在线| 久久综合久久99| 精品国产免费视频| 日韩一级欧美一级| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 一区二区高清视频| 极品中文字幕一区| 韩国av一区| 尹人成人综合网| 在线国产精品一区| 亚洲国产高清视频| 亚洲国产网站| 亚洲精品偷拍| 亚洲精品日本| 中国成人在线视频| 亚洲少妇在线| 亚洲一卡久久| 久久国产一区| 在线观看一区日韩| 欧美亚洲国产怡红院影院| 欧美亚洲日本国产| 欧美日韩成人综合在线一区二区| 欧美四级电影在线观看| 欧美系列日韩一区| 欧美精品色一区二区三区| 91麻豆精品国产91久久久久久久久 | 国产精品一区二区男女羞羞无遮挡| 精品一区在线看| 精品一区二区三区影院在线午夜| 韩国午夜理伦三级不卡影院| 国产精品一区二区久久不卡| 国产不卡在线视频| 97精品久久久午夜一区二区三区| 99精品在线观看视频| 欧美激情国产日韩| 伊人成人在线视频| 亚洲精品影院在线观看| 国产日韩亚洲欧美精品| 久久综合一区二区三区| 欧美日韩色一区| 日韩一级片网址| 国产婷婷色一区二区三区在线| 亚洲国产日产av| 日本久久一区二区| 在线视频一区二区免费| 67194成人在线观看|