精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

創建一個成熟的GitOps流水線,需要做哪些決定?

開發 前端
在本文中,我將通過一家公司的故事來解釋其中的一些挑戰。這家公司從一個零散的小創業公司采用GitOps,成長為一家規范的跨國企業。雖然這種加速成長的情況很少見,但它確實反映了大型組織中的許多團隊從概念驗證,到最小可行性產品(minimum viable product),再到成熟系統的經驗。

在軟件交付領域,GitOps是近期的熱門趨勢,它沿襲并擴展了DevOps、基礎架構即代碼和CI/CD等趨勢。

[[392059]]

GitOps的優勢可以簡單地歸納如下:

  • 自由地審計更改
  • 持續集成和交付
  • 更好地控制更改管理

然而,現實情況卻是構建GitOps流水線并非易事,它涉及到許多大大小小的決定,而這些決定會給實施工作帶來許多麻煩。我們將這些決定稱為“GitOps架構”,它可能會導致實施過程中面臨許多挑戰。

好的方面是只要有一定的規劃和經驗,就可以大大減少過渡到GitOps交付模式的痛苦。

在本文中,我將通過一家公司的故事來解釋其中的一些挑戰。這家公司從一個零散的小創業公司采用GitOps,成長為一家規范的跨國企業。雖然這種加速成長的情況很少見,但它確實反映了大型組織中的許多團隊從概念驗證,到最小可行性產品(minimum viable product),再到成熟系統的經驗。

簡單的開始

如果你剛剛開始,最簡單的做法是創建一個單一的Git repo,將所有需要的代碼都放在里面。其中可能包括:

  • 應用程序代碼
  • Dockerfile,用于構建應用程序鏡像
  • 一些CI/CD流水線代碼(例如GitLab CI/CD或GitHub
  • Actions)
  • Terraform,以配置運行應用程序所需資源

此外,所有的更改都是直接對master進行改動,因此更改可以直接生效。

這一方法的主要優勢在于你有單一的參考點,以及所有代碼都會緊密集成在一起。如果您的所有開發人員都受到完全信任,并且速度就是一切,那么這一方法會持續生效。

不幸的是,隨著你的業務量不斷增長,這種方法的弊端很快就會顯現出來。

首先,隨著越來越多的代碼被添加到代碼庫中,代碼庫規模的膨脹會使得工程師們陷入困惑,因為他們會遇到更多必須解決的更改之間的沖突。如果團隊成員大幅增長,那么隨之而來的重新分配工作或合并會導致進一步的混亂。

其次,如果您需要分開控制流水線運行,則會遇到困難。有時,您只想快速測試對代碼的更改,而不是進行部署以實現完整的端到端交付。這種方法在整體性方面產生了越來越多需要解決的問題,隨著這些更改的進行可能會影響其他人的工作。

第三,隨著您的成長,您可能會希望工程師和團隊之間的責任邊界更加細化。這可以通過一個單一的repo來實現,并且一個repo通常是一個更清晰和更干凈的邊界。 

分離Repository

隨著業務的增長,流水線會越來越擁擠,merge開始變得痛苦。此外,您的團隊也需要專業化,將不同的責任領域劃分給不同的成員。

所以你需要將Repo分離出來。這時,你首先要面對大量的決定,譬如repo應該分離到什么程度?是否需要為應用程序代碼建立一個單獨的repo?看起來是不是很合理?然后把Docker構建的東西也一起放進去?那這樣的分離其實沒有什么意義。

那所有團隊的Terraform代碼呢?應該放在一個新的repo里嗎?這聽起來很合理,但是:新創建的中央“平臺”團隊想要控制對AWS中核心IAM(身份和訪問管理)規則定義的訪問,而團隊RDS配置代碼也在其中,開發團隊需要定期對其進行調整。

所以你決定將Terraform分離成兩個repo:一個是“平臺”repo,一個是“特定應用程序”repo。這就帶來了另一個挑戰,因為你現在還需要分離Terraform的狀態文件。這并不是一個無法解決的問題,但這也并不是您所習慣的快速功能交付,所以產品經理將不得不解釋為什么功能請求所需的時間比之前更長。

不幸的是,這些GitOps決策還沒有既定的最佳實踐或模式。

分離的問題還不止于此。以前,流水線內構建的組件之間的協調是微不足道的(因為所有需要的組件都是共處的),而現在你必須協調repo之間的信息流。例如:當構建一個新的Docker鏡像時,這可能需要觸發集中式平臺repo中的部署,同時將新的鏡像名稱作為觸發的一部分傳遞過來。

同樣,這些也不是無法解決的問題,但在構建GitOps流水線的早期,這些挑戰更容易實現。后來,當步驟、政策和流程更加成熟時,再做出改變就需要付出更多的時間代價。

分布式vs集中式

你的業務正在增長,你正在構建越來越多的應用程序和服務。越來越明顯的是,在如何構建和部署應用程序方面,你需要某種結構上的一致性。中央平臺團隊需要嘗試執行這些標準。但是你可能會遭到開發團隊的反對,他們認為與在DevOps和GitOps出現之前,在集中式IT中他們被賦予了更多的自治和控制權。

如果上述情況您覺得似曾相識,那可能是因為GitOps和應用架構領域的單體與微服務爭論之間有些類似。就像你在這些爭論中看到的那樣,隨著系統的成熟,規模和范圍的擴大,分布式和集中式IT之間的緊張關系會越來越頻繁地出現。

從某種層面上來說,你的GitOps流程就像其他分布式系統一樣,如果你設計得不好,其中一個部分出現問題可能會產生難以預料的問題。

環 境

在你決定分離repo的同時,你意識到你需要一種一致的方式來管理不同的部署環境。而直接上線已經行不通了,因為此時需要QA團隊,在上線之前測試更改。

現在你需要為你的應用鏡像在測試和QA環境中指定不同的Docker標簽,你可能還希望在不同的環境中啟用不同大小的實例大小或副本功能。你如何在源碼中管理這些不同環境的配置?一個比較直接的方法是為每個環境建立一個單獨的Git倉庫(如:super-app-dev,super-app-qa,super-app-live)。

分離repo有 “涇渭分明” 的好處,就像我們在上面劃分Terraform代碼時看到的那樣。然而,很少有人最終會喜歡這種解決方案,因為大多數團隊不具備Git知識和相關專業水平,進而在不同的repo之間移植更改。更為復雜的是,repo之間必然會存在很多重復的代碼,而且隨著時間的推移,也可能會出現很多漂移(drift)。

如果你想把事情保持在一個單一的repo中,你至少有三種選擇:

  • 每個環境都有一個目錄
  • 每個環境都有一個分支
  • 每個環境有一個標簽

同步步驟選擇

如果你嚴重依賴YAML生成工具或模板,您可以考慮另一種方式。例如,Kustomize強烈鼓勵基于目錄的環境分離。如果您使用的是原始YAML,那么分支或標記的方法會更適合您。

運行時環境顆粒度

然而,在您的運行時環境中,可以選擇您想要什么級別的分離。在集群層面,如果您使用的是Kubernetes,你可以在以下幾種情況下選擇:

  • 一個集群管理所有
  • 每個環境一個集群
  • 每個團隊一個集群

在極端情況下,你可以把所有的環境放到一個集群中。不過通常情況下,在大多數組織中至少有一個單獨的集群用于生產。

一旦你想好了你的集群策略,在命名空間層面,你仍然可以選擇:

  • 每個環境都有一個命名空間
  • 每個應用程序/服務擁有一個命名空間
  • 每個工程師擁有一個命名空間
  • 每個構建都有一個命名空間

平臺團隊通常從 “dev”、“test”、“prod” 的命名空間設置開始,然后才意識到他們想要更精細地分化團隊的工作。

你也可以混合和匹配這些選項——例如,為每個工程師提供"desk testing "命名空間,以及每個團隊的命名空間。

總 結

我們在這里只是對成熟的GitOps流程所需的決策領域做了一些簡單的介紹。如果您的企業真的成長為那家跨國企業,你也可以考慮RBAC/IAM等要求。

通常情況下,推出GitOps會讓人覺得只是一種投資,可能最終沒有太多令人滿意的產出。但是在GitOps之前,團隊常常會經歷混亂和延遲,因為沒有人能夠確定任何東西應該是什么狀態。這些都會導致二次成本,因為審計人員會進行抽查,而因意外和未記錄的更改而導致的中斷則占據了員工大量的注意力,這是一個很高的成本。

然而,隨著你的GitOps流程的愈發成熟,好處倍增,該流程會解決許多之前存在的問題。但更多的時候,你面臨的壓力是要更快地展現出GitOps流程的優勢。

目前GitOps最大的挑戰是,沒有既定的模式或是最佳實踐來指導你的選擇。GitOps顧問,通常也只是引導團隊找到最適合他們的解決方案,并根據經驗將團隊往某些方向引導。

但我觀察到的情況是,早期因為看起來 “太復雜”而被放棄的選擇,往往后來都會為此后悔。這并不意味著你應該直接跳到為每個構建創建一個命名空間,每個團隊擁有一個Kubernetes集群的程度,原因有二:

  • 每當你給GitOps架構增加復雜性時,你最終都會增加交付一個可行的GitOps解決方案的成本和時間
  • 你可能真的永遠都不需要這種設置

在我們接受這個領域的可行標準之前,正確的 GitOps 架構永遠是一門藝術,而不是科學。

 

責任編輯:未麗燕 來源: Dockone.io
相關推薦

2023-09-27 08:24:49

2021-06-18 05:48:02

Tekton DevopsKubernetes

2017-03-02 14:12:13

流水線代碼Clojure

2017-02-28 15:40:30

Docker流水線Azure

2013-06-06 09:31:52

2022-01-26 08:12:42

Jenkins開源流水線

2021-06-26 14:22:34

Tekton流水線Kubernetes

2021-11-08 07:41:16

Go流水線編程

2024-01-07 12:47:35

Golang流水線設計模式

2017-02-28 16:00:45

DevOpsMarkdownreST

2023-05-10 15:08:00

Pipeline設計模式

2022-07-18 06:05:28

Gitlab流水線

2017-03-15 10:08:26

軟件開發流水線

2021-12-24 08:02:48

GitLabCI模板庫流水線優化

2023-08-18 10:24:52

GitLabCI 流水線

2023-10-30 16:00:33

元宇宙

2021-06-28 06:32:46

Tekton Kubernetes Clone

2023-12-11 18:35:37

測試流水線自動化

2020-06-16 10:20:32

JavaStream流水線

2011-10-19 08:04:12

點贊
收藏

51CTO技術棧公眾號

六月丁香婷婷综合| 宇都宫紫苑在线播放| av天在线观看| 国产综合色产在线精品| 欧美成人精品在线观看| 欧美日韩人妻精品一区在线| 成年美女黄网站色大片不卡| 国产精品久久久久一区二区三区| 91精品婷婷国产综合久久蝌蚪| 日韩大片免费在线观看| 精品视频免费在线观看| 69堂国产成人免费视频| 欧美 日韩 亚洲 一区| 国产区视频在线| 国产又粗又猛又爽又黄91精品| 2019中文在线观看| 开心激情五月网| 国产福利一区二区精品秒拍| 欧美偷拍一区二区| www.av毛片| 最新97超碰在线| www.欧美日韩国产在线| 91精品久久久久久综合乱菊| 99免费在线观看| 欧美电影免费播放| 亚洲精品一区中文| 北条麻妃亚洲一区| 三级成人黄色影院| 亚洲午夜精品一区二区三区他趣| 日韩欧美99| 神宫寺奈绪一区二区三区| 日韩激情中文字幕| 91av在线免费观看视频| 精品97人妻无码中文永久在线| 国产精品欧美在线观看| 亚洲高清色综合| 色姑娘综合天天| 另类一区二区三区| 色视频一区二区| www.欧美黄色| 最新国产在线拍揄自揄视频| 国产精品不卡一区二区三区| 你懂的视频在线一区二区| 亚洲黄色在线观看视频| 国产精品亚洲人在线观看| 情事1991在线| 无码人妻精品一区二区| 亚洲专区一区| 欧美一级在线亚洲天堂| 国产大片中文字幕在线观看| 国内揄拍国内精品久久| 久久手机免费视频| 黄色录像一级片| 四季av一区二区凹凸精品| 国产亚洲视频中文字幕视频| 老司机福利av| 国产成人精品免费视| 亚洲美女av网站| 久久精品国产亚洲av麻豆| 久久久久久毛片免费看| 亚洲高清免费观看高清完整版| 国产性猛交96| 国内视频在线精品| 日韩av在线免播放器| 欧美色涩在线第一页| 国产伦精品一区二区三区视频黑人 | 五月天婷婷导航| 久久国产主播| 国产精品福利无圣光在线一区| 亚洲综合成人av| 麻豆精品精品国产自在97香蕉| 国产精品日日摸夜夜添夜夜av| 一区二区乱子伦在线播放| 美女免费视频一区| 亚洲影视九九影院在线观看| 国产福利视频导航| caoporen国产精品视频| 久久久久久久久久久久久9999| 男女av在线| 国产精品美女一区二区| 国产在线拍揄自揄拍无码| 亚洲性图自拍| 欧美午夜丰满在线18影院| 欧美午夜性生活| 国产在线一区不卡| 亚洲国产精品高清久久久| 18禁裸乳无遮挡啪啪无码免费| 日韩在线理论| 欧美国产精品人人做人人爱| 日韩色图在线观看| 人妻无码一区二区三区免费| 亚洲精品传媒| 亚洲女性喷水在线观看一区| 老太脱裤子让老头玩xxxxx| 午夜精品成人av| 欧美日韩国产一二三| 精品人妻一区二区三区免费| 麻豆成人入口| 中文字幕在线看视频国产欧美| 成人免费视频国产免费观看| 国产欧美在线| 成人黄色av网站| 日本高清视频免费观看| 国产精品毛片无遮挡高清| 久久亚洲国产成人精品无码区| 美女福利一区二区| 日韩小视频在线观看专区| 中文字幕5566| 天天综合网网欲色| 欧美综合激情网| 99久久精品免费看国产交换| 91亚洲国产成人精品一区二区三| 中文字幕日韩一区二区三区| 久草在线资源福利站| 欧美一区二视频| a毛片毛片av永久免费| 在线中文一区| 国产精品扒开腿做爽爽爽男男| 成人午夜精品福利免费| 国产精品久久久久久久浪潮网站| 久草热视频在线观看| 国产精品国产三级在线观看| 亚洲一二三在线| 国产精品第二十页| 国产精品一区在线| 亚洲视频sss| 日产精品一区| 日韩电影中文字幕在线| 久久久久久福利| 看片网站欧美日韩| 日韩精品一区二区三区四区五区| 91超碰国产在线| 欧美一区二区三区成人| 性爱在线免费视频| 日本不卡视频在线观看| 美乳视频一区二区| 国产在线天堂www网在线观看| 欧美一区二区视频在线观看2020 | 黄色免费视频大全| 亚洲91网站| 不卡av电影院| 91精品中文字幕| 国产精品污网站| av丝袜天堂网| 国产一区二区三区四区五区传媒| 91高潮精品免费porn| 手机在线观看毛片| 亚洲第一av色| 婷婷五月精品中文字幕| 影音先锋中文字幕一区二区| 俄罗斯精品一区二区三区| av免费网站在线| 欧美一区二区三区免费大片| 国产精品国产精品88| 经典三级在线一区| 在线亚洲美日韩| a一区二区三区亚洲| 久久婷婷国产麻豆91天堂| 国产精品欧美亚洲| 亚洲精品中文字幕乱码三区| 在线成人免费av| 国产在线欧美| 久久久久久国产精品免费免费| 亚洲妇女成熟| 亚洲午夜未删减在线观看| 中文天堂在线资源| 亚洲欧美另类小说视频| 极品人妻一区二区| 99精品热6080yy久久| 欧美污视频久久久| 全球最大av网站久久| 日韩专区在线播放| 国产综合视频在线| 色综合一个色综合| 香蕉成人在线视频| 国产电影一区二区三区| 黄色片网址在线观看| 欧美日韩播放| 国产在线视频91| 欧美人动性xxxxz0oz| 日韩精品在线影院| 一级黄色免费片| 亚洲国产视频一区二区| av在线网站观看| 久久er精品视频| 天堂8在线天堂资源bt| 日韩a级大片| 国产日产欧美a一级在线| 青草av在线| 亚洲香蕉av在线一区二区三区| 国产又黄又猛又爽| 午夜精品在线视频一区| 日韩毛片无码永久免费看| 国产呦萝稀缺另类资源| 欧美日韩一道本| 99久久99热这里只有精品| 国产偷久久久精品专区| 97精品国产综合久久久动漫日韩| 久久6免费高清热精品| 日韩资源在线| 91精品国产综合久久福利软件| 成年人午夜视频| 国产精品高潮呻吟久久| 在线视频 日韩| 黄网站免费久久| av动漫在线观看| 午夜亚洲福利| 五月天亚洲综合| 欧美91在线| 18成人在线| 午夜av成人| 7777精品视频| 丝袜在线视频| 精品国内亚洲在观看18黄| 欧美视频综合| 精品1区2区在线观看| 一级淫片免费看| 91福利区一区二区三区| 日产电影一区二区三区| 亚洲欧美自拍偷拍| 日本成人午夜影院| 91网站在线观看视频| 一级黄色片毛片| 国产综合色产在线精品| 无限资源日本好片| 久久五月激情| 国产二区视频在线| 国产精品s色| 六月婷婷激情网| 仙踪林久久久久久久999| 日韩欧美视频一区二区| 国产精品久久久久久久久久白浆| 亚洲www永久成人夜色| 国产成人精选| 国产精品视频久久| 久久天堂av| 国产成人一区二| 午夜精品成人av| 国产精品高潮粉嫩av| a一区二区三区| 奇米四色中文综合久久| 小草在线视频免费播放| 91av在线网站| 日本乱码一区二区三区不卡| 91av视频导航| 小h片在线观看| 日韩美女av在线免费观看| 亚洲欧洲日本韩国| 国产91九色视频| 欧美最新精品| 国产精品欧美一区二区三区奶水| av高清一区| 国产精品久久久久久av| 国产极品嫩模在线观看91精品| 国产精品美女呻吟| 日本久久久久| 亚洲va欧美va在线观看| 8848成人影院| 精品日本一区二区三区在线观看| 老司机在线精品视频| 欧美亚洲丝袜| 欧美亚洲国产精品久久| 中文字幕一区二区三区有限公司 | 亚洲色图.com| 五月天丁香激情| 亚洲国产va精品久久久不卡综合| 日韩av一区二区在线播放| 欧美日韩国产在线| 中文字幕在线观看视频免费| 欧美日韩情趣电影| 精品黑人一区二区三区在线观看| 欧美成人激情免费网| 日本美女一级视频| 夜夜嗨av色一区二区不卡| 欧美96在线| 高清一区二区三区日本久| 亚洲精品福利电影| 国产视频观看一区| 欧美黄色一级| 久久一区二区三区av| 日韩免费视频| 91丨porny丨探花| 日韩va欧美va亚洲va久久| 肉色超薄丝袜脚交| 99久久国产综合色|国产精品| 日韩女同一区二区三区| 亚洲蜜臀av乱码久久精品蜜桃| 国产精久久久久久| 欧美影视一区在线| 丰满肥臀噗嗤啊x99av| 亚洲一区av在线播放| 欧美精品videosex| 国产精品高潮呻吟视频| 亚洲va欧美va人人爽成人影院| 欧美日韩国产综合视频在线| 亚洲老妇激情| 国产真实乱子伦| 国产福利精品导航| 少妇精品无码一区二区免费视频 | 国产欧美123| 久久在线91| 97精品人妻一区二区三区蜜桃| 亚洲国产电影在线观看| 日本系列第一页| 91精品国产一区二区三区| 免费在线性爱视频| 欧美精品久久久久久久久久| 色综合视频一区二区三区44| 精品一区二区国产| 欧美精选在线| 亚洲天堂网2018| 国产欧美一区二区精品性色超碰| 国产一级二级三级| 欧美精品视频www在线观看| 牛牛澡牛牛爽一区二区| 欧美激情一区二区久久久| 久久天堂影院| 欧美一区免费视频| 91久久综合| 巨乳女教师的诱惑| 国产精品美女视频| 337p粉嫩色噜噜噜大肥臀| 亚洲高清av在线| 国产经典三级在线| 91久久伊人青青碰碰婷婷| 五月精品视频| 国产一伦一伦一伦| 日本一区二区三区高清不卡| 久久99国产综合精品免费| 亚洲国产黄色片| 国产偷倩在线播放| 99爱精品视频| 亚洲一区二区三区| 911福利视频| 国产精品免费久久久久| 亚洲天堂2021av| 中文字幕在线看视频国产欧美在线看完整 | 热久久久久久久久| 欧美国产精品久久| 五月天婷婷导航| 亚洲区中文字幕| 欧美中文字幕精在线不卡| 麻豆亚洲一区| 美女精品在线| 精品人伦一区二区三电影| 色综合咪咪久久| 国产高清av在线| 国产精品激情av在线播放 | av不卡免费电影| 日韩精品人妻中文字幕| 精品国产sm最大网站免费看| heyzo一区| 久久久久久久久久久久久久一区| 99这里有精品| 亚洲一级中文字幕| 欧美亚洲国产一区二区三区| 国产精品影院在线| 国产日韩欧美日韩| 久久精品久久久| 韩国三级丰满少妇高潮| 亚洲一区影音先锋| 五月婷婷六月丁香综合| 国产成人久久久精品一区| 成人激情视频| 色www免费视频| 亚洲免费观看在线观看| 亚洲精品无码久久久| 538国产精品视频一区二区| 国内精品伊人久久久| gogogo高清免费观看在线视频| 亚洲三级视频在线观看| 黑人精品一区二区| 日本国产欧美一区二区三区| 日本一本不卡| 久久黄色一级视频| 午夜精品成人在线| 69久久精品| 国产精品福利视频| 日韩精品一区第一页| 美国黄色片视频| 精品国产制服丝袜高跟| 韩国成人漫画| 国产卡一卡二在线| 97aⅴ精品视频一二三区| 中文字幕第99页| 欧美极品美女电影一区| 精品国产欧美日韩| 国产探花一区二区三区| 一本大道久久a久久精二百 | 2018中文字幕一区二区三区| 成人网18免费网站| 国产国语老龄妇女a片| 91激情五月电影| 欧美aaa免费| 天天综合色天天综合色hd| 国产成人午夜精品影院观看视频| 精品国产xxx| 欧美激情亚洲视频| 色狮一区二区三区四区视频| 亚洲中文字幕无码一区|