成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何使用ArgoCD和GitOps解決配置漂移問(wèn)題

這篇文章將為大家詳細(xì)講解有關(guān)如何使用Argo CD和GitOps解決配置漂移問(wèn)題,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

在岳麓等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需求定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,營(yíng)銷型網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè),岳麓網(wǎng)站建設(shè)費(fèi)用合理。

Argo CD(Argo項(xiàng)目的一部分)是一個(gè)為Kubernetes而設(shè)的部署解決方案,遵循GitOps模式。

使用Argo CD部署到Kubernetes

在最基本的場(chǎng)景中,Argo CD使用Kubernetes清單持續(xù)監(jiān)視Git倉(cāng)庫(kù)(也支持Helm和Kustomize)并監(jiān)聽(tīng)提交事件。

如何使用Argo CD和GitOps解決配置漂移問(wèn)題

當(dāng)發(fā)生提交(通常是更新鏡像工件版本的提交)時(shí),Argo CD會(huì)啟動(dòng)一個(gè)“同步(synchronization)”進(jìn)程,該進(jìn)程負(fù)責(zé)使集群配置處于與Git中描述的相同的狀態(tài)。

如何使用Argo CD和GitOps解決配置漂移問(wèn)題

當(dāng)同步過(guò)程完成時(shí),我們知道應(yīng)用程序配置與Git清單完全相同。

Argo CD的部署過(guò)程體現(xiàn)了GitOps背后的核心理念:

  • 所有應(yīng)用程序配置都存儲(chǔ)在Git中(通常在與源代碼不同的存儲(chǔ)庫(kù)中)

  • 部署以一種“拉”方式進(jìn)行,即集群從Git獲取清單(而不是將更新“推”到集群的傳統(tǒng)解決方案)。

  • 部署是兩種狀態(tài)之間的協(xié)調(diào)過(guò)程(Git中描述的狀態(tài)與集群中部署的狀態(tài))

盡管同步過(guò)程對(duì)于執(zhí)行應(yīng)用程序的初始部署是至關(guān)重要的,但Argo CD真正的優(yōu)勢(shì)之一是在部署完成后能夠持續(xù)監(jiān)控兩個(gè)狀態(tài)(集群和Git)。這種持續(xù)的監(jiān)視對(duì)于解決配置漂移非常重要,配置漂移在具有大量部署目標(biāo)的組織中是一個(gè)非常常見(jiàn)的問(wèn)題。

不同Kubernetes集群之間的配置漂移

配置漂移是一個(gè)即使在傳統(tǒng)虛擬機(jī)中也存在的問(wèn)題,而且早在Kubernetes出現(xiàn)之前,它就一直困擾著生產(chǎn)部署。當(dāng)CI/CD平臺(tái)執(zhí)行到多個(gè)目標(biāo)的部署并失敗時(shí),問(wèn)題就會(huì)顯現(xiàn)出來(lái),因?yàn)橐唤M本應(yīng)相似的機(jī)器實(shí)際上配置不同。

如何使用Argo CD和GitOps解決配置漂移問(wèn)題

在一些組織中,開(kāi)發(fā)人員在應(yīng)用程序部署到生產(chǎn)環(huán)境之前使用“登臺(tái)(staging)”環(huán)境來(lái)測(cè)試其應(yīng)用程序。理想情況下,登臺(tái)環(huán)境應(yīng)該與生產(chǎn)環(huán)境的配置相匹配,這樣開(kāi)發(fā)人員就可以確信他們?cè)诘桥_(tái)中執(zhí)行的任何測(cè)試都將與生產(chǎn)環(huán)境緊密匹配。

特別是在Kubernetes集群中,團(tuán)隊(duì)經(jīng)常使用特別的命令(例如,通過(guò)kubectl)在一個(gè)完全不在CI/CD進(jìn)程之外的集群上執(zhí)行更改。

如何使用Argo CD和GitOps解決配置漂移問(wèn)題

這些特別的更改是應(yīng)用程序部署的一個(gè)主要問(wèn)題。配置上的差異是導(dǎo)致部署失敗的最常見(jiàn)原因之一。在登臺(tái)環(huán)境中成功通過(guò)所有測(cè)試的應(yīng)用程序在生產(chǎn)中會(huì)出現(xiàn)中斷狀態(tài),因?yàn)闆](méi)有提供所需的設(shè)置或采用預(yù)期的格式。

另一個(gè)由配置漂移引起的隱藏問(wèn)題是,逐漸丟失了在機(jī)器/節(jié)點(diǎn)上部署了什么以及最后一次更改的確切時(shí)間的知識(shí)。Argo CD解決了這個(gè)問(wèn)題,它將Git作為當(dāng)前部署和過(guò)去所有部署的真實(shí)來(lái)源。

在部署失敗后,運(yùn)營(yíng)者和開(kāi)發(fā)人員試圖了解事故的原因,他們問(wèn)的第一個(gè)問(wèn)題是“這個(gè)集群最后發(fā)生的變化是什么”。如果集群在批準(zhǔn)的CI/CD進(jìn)程之外發(fā)生了未控制的更改,那么這個(gè)問(wèn)題很難回答。

Argo CD如何檢測(cè)配置漂移問(wèn)題

Argo CD采用了一種完全不同的部署方法(“pull from Git”范式)。因?yàn)樗胁渴鸲伎梢宰匪莸紾it提交,所以Git提交歷史記錄也是集群部署歷史記錄。

開(kāi)發(fā)人員可以使用他們喜歡的Git工具來(lái)回答諸如“上周四集群上部署了什么?”或者“這周周一到周四之間發(fā)生了什么變化?”

讓我們假設(shè)團(tuán)隊(duì)中的一個(gè)人完全繞過(guò)了Argo CD,并使用kubectl直接對(duì)集群進(jìn)行手動(dòng)更改。其他CI/CD解決方案將完全忽略此更改,這為配置漂移問(wèn)題提供了環(huán)境。

Argo CD會(huì)理解集群上發(fā)生了變化,這兩種狀態(tài)(集群配置和Git清單)不再相同。部署將立即標(biāo)記為“不同步(out-of-sync)”。

如何使用Argo CD和GitOps解決配置漂移問(wèn)題

Argo CD也將挖掘得更深入,甚至提供了一個(gè)很好的差異概述,改變了什么:

如何使用Argo CD和GitOps解決配置漂移問(wèn)題

在上面的例子中,Argo CD檢測(cè)到集群和Git之間服務(wù)的端口配置不再相同。

當(dāng)你檢測(cè)到這樣的差異,你可以手動(dòng)使應(yīng)用程序處于與Git相同的狀態(tài)(再次執(zhí)行同步過(guò)程),或者指示Argo CD在檢測(cè)到配置更改時(shí)自動(dòng)進(jìn)行自身的同步。

這意味著Argo CD配置的漂移(至少對(duì)Kubernetes應(yīng)用程序而言)完全消除了,特別是在啟用了自動(dòng)同步行為的情況下。

使用Argo CD的團(tuán)隊(duì)可以放心地進(jìn)行部署,因?yàn)樗麄冎兰禾幱谒鼞?yīng)該處于的狀態(tài)(該狀態(tài)在Git清單中也有完整的描述)。配置漂移不再是一個(gè)問(wèn)題,保持登臺(tái)和生產(chǎn)過(guò)程盡可能接近是一個(gè)非常簡(jiǎn)單的過(guò)程。

Argo與Devops平臺(tái)的結(jié)合

除了Argo CD的主要項(xiàng)目,你可能也會(huì)發(fā)現(xiàn)Argo Rollouts項(xiàng)目很有趣。Argo Rollouts是Argo的另一個(gè)項(xiàng)目,用于對(duì)Kubernetes進(jìn)行漸進(jìn)式(藍(lán)/綠/灰度)部署。

https://argoproj.github.io/argo-rollouts/

Argo CD和Argo Rollouts對(duì)于處理應(yīng)用程序部署來(lái)說(shuō)是非常好的,但是它們需要與一個(gè)完整的自動(dòng)化解決方案相結(jié)合,這個(gè)解決方案也將處理軟件生命周期的所有其他方面,比如應(yīng)用程序構(gòu)建、單元測(cè)試、秘密管理和拉取請(qǐng)求處理等。

Argo CD非常適合實(shí)際部署,但它假設(shè)工件已經(jīng)由另一個(gè)解決方案創(chuàng)建。這就是為什么我們一直努力將Codefresh和Argo集成在一起,以覆蓋整個(gè)軟件生命周期,甚至覆蓋自動(dòng)將變更推送到Argo監(jiān)控manifest的Git倉(cāng)庫(kù)的場(chǎng)景(即執(zhí)行自動(dòng)提交,從而實(shí)踐持續(xù)部署)。

關(guān)于如何使用Argo CD和GitOps解決配置漂移問(wèn)題就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

網(wǎng)站標(biāo)題:如何使用ArgoCD和GitOps解決配置漂移問(wèn)題
地址分享:http://jinyejixie.com/article34/pddepe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站網(wǎng)站維護(hù)、網(wǎng)站營(yíng)銷響應(yīng)式網(wǎng)站、動(dòng)態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司
上栗县| 原平市| 清远市| 乌拉特后旗| 尖扎县| 霍林郭勒市| 澄迈县| 榆林市| 祁连县| 库车县| 墨竹工卡县| 崇明县| 安图县| 太仓市| 安图县| 库车县| 湾仔区| 苍梧县| 闸北区| 景谷| 甘孜县| 宁远县| 大洼县| 大洼县| 玉门市| 上蔡县| 涞水县| 会泽县| 调兵山市| 汾阳市| 万宁市| 军事| 阜阳市| 六枝特区| 巢湖市| 丹棱县| 疏勒县| 寻甸| 扎兰屯市| 海丰县| 荔浦县|