日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Jenkins X將自動(dòng)化管道引入Kubernetes

 KyunraWang 2018-05-05



Jenkins持續(xù)集成服務(wù)器一直是DevOps浪潮中的重要組成部分。作為持續(xù)集成與持續(xù)部署環(huán)境中自動(dòng)化任務(wù)的中央?yún)f(xié)調(diào)服務(wù)器,全球的開發(fā)和運(yùn)營(yíng)團(tuán)隊(duì)已經(jīng)積極接納Jenkins,并為之構(gòu)建了多種擴(kuò)展及構(gòu)建包。 然而,從設(shè)計(jì)初衷角度來(lái)看,Jenkins并沒有考慮到面向容器環(huán)境的遷移需求。

Cloudbees公司高級(jí)架構(gòu)師James Strachen身為Jenkins X[1]項(xiàng)目負(fù)責(zé)人,他一直在思考這種遷移對(duì)Jenkins用戶的意義及影響。

他表示,將CI/CD管道遷移到配備容器及容器編排工具(如Kubernetes)的基于容器云托管環(huán)境時(shí),用戶需要在構(gòu)建、測(cè)試和部署過程中建立更高的自動(dòng)化水平。Strachen說:“ 為了實(shí)現(xiàn)這一點(diǎn),Jenkins X必須具備遠(yuǎn)超常規(guī)Jenkins的易學(xué)習(xí)性及易用性?!?/section>

“我們要做的,是打破少數(shù)人對(duì)相關(guān)知識(shí)的‘壟斷’。這部分人往往對(duì)Jenkins非常了解,但是團(tuán)隊(duì)里的每個(gè)人都有權(quán)也有意愿參與其中。我們需要開發(fā)人員能夠隨時(shí)根據(jù)需求啟動(dòng)新的項(xiàng)目——這也正是微服務(wù)時(shí)代的最大差異優(yōu)勢(shì)所在。我們希望Jenkins自助服務(wù)能夠像云一樣全面覆蓋?!?/section>

“Jenkins X的目標(biāo)是將Jenkins轉(zhuǎn)化為一種自助服務(wù)設(shè)備,允許任何開發(fā)人員啟動(dòng)新項(xiàng)目,而與之相關(guān)的全部管道及匹配元素都能夠順利到位。 當(dāng)然,這并不是說團(tuán)隊(duì)成員完全不需要了解Jenkins,但更重要的是我們希望讓CI/CD擁有與云服務(wù)類似的低準(zhǔn)入門檻,”他解釋稱。

Strachen在3月中旬發(fā)表的一篇博文[2]中詳細(xì)介紹了Jenkins X的技術(shù)細(xì)節(jié),當(dāng)時(shí)該項(xiàng)目才剛剛面向公眾正式公布。在文章中,他解釋稱Jenkins X可用于設(shè)置Jenkins管道,自動(dòng)生成Jenkinsfile和Dockerfile以定義應(yīng)用程序的管道與打包步驟。

由于Docker和Kubernetes的運(yùn)行活動(dòng)同Jenkins設(shè)計(jì)環(huán)境存在一些差別,因此Strachen表示Jenkins X還需要將安全保障機(jī)制引入到復(fù)雜的容器鏡像構(gòu)建過程中。Strachen指出,用戶可以利用自己的Dockerfiles或pop在管道中使用其最熟悉的容器構(gòu)建工具。Strachen同時(shí)提到,Skaffold[3]是一種用于構(gòu)建和標(biāo)記Docker鏡像的工具——盡管聽起來(lái)很簡(jiǎn)單,但其意義卻非常重大。

“[Skaffold]負(fù)責(zé)管理Docker和安全模型的復(fù)雜性事務(wù)。 如果您使用Google Cloud,則可能需要使用谷歌提供的容器構(gòu)建器。 您可能需要在自己的Kubernetes集群中使用SaaS CI或本地Docker套接字。 這種方法會(huì)帶來(lái)安全隱患,因?yàn)檫@意味著使用者將掌握設(shè)備的root權(quán)限。因此,絕對(duì)不可讓他人訪問生產(chǎn)集群中的Docker套接字。舉例來(lái)說,在默認(rèn)情況下,Jenkins S會(huì)假設(shè)用戶處于開發(fā)集群當(dāng)中,并有權(quán)訪問Docker套接字。但很明顯,這樣的假設(shè)并不靠譜,”Strachen強(qiáng)調(diào)稱。

Strachen認(rèn)為這是未來(lái)Docker鏡像構(gòu)建層面的一大主要問題?!拔覀冃枰肧kaffold以及其它同類工具將用戶與高權(quán)限隔離開來(lái)。我希望這一目標(biāo)能夠盡快實(shí)現(xiàn)?!彼牭轿唇?jīng)證實(shí)的消息稱,Skaffold可能會(huì)在未來(lái)幾個(gè)月內(nèi)獲得上述能力。

“在開發(fā)群集上,我們?cè)试S用戶使用Docker來(lái)構(gòu)建鏡像。 大家往往堅(jiān)定地相信團(tuán)隊(duì)中的開發(fā)者不會(huì)利用這些硬件挖掘比特幣。 而在生產(chǎn)群集上,我們不需要構(gòu)建鏡像,而只是使用已經(jīng)構(gòu)建完成的現(xiàn)成鏡像。 這是一個(gè)簡(jiǎn)單的方法,易于實(shí)現(xiàn),而且能夠有效消除風(fēng)險(xiǎn)。我認(rèn)為從長(zhǎng)遠(yuǎn)角度來(lái)看,為了確保在不使用Docker守護(hù)進(jìn)程、root或其它特殊權(quán)限的前提下構(gòu)建Docker鏡像,最好是能夠?qū)ocker構(gòu)建流程徹底移出Kubernetes集群之外,”Strachen表示。


穩(wěn)定性和兼容性


未來(lái),Strachen表示Jenkins X團(tuán)隊(duì)在穩(wěn)定性和兼容性方面還擁有多項(xiàng)開發(fā)目標(biāo)。 “最重要的是檢查一切組成元素。 在同一時(shí)間內(nèi)支持多種云環(huán)境可謂極具挑戰(zhàn)性。 因此,我們的第一項(xiàng)重點(diǎn)在于構(gòu)建起堅(jiān)如磐石的集群系統(tǒng)。 此外,我們還需要支持更多的Git供應(yīng)程序以及問題跟蹤器。 我們正在添加Jira支持能力,此外社區(qū)中也有部分貢獻(xiàn)者正在進(jìn)一步擴(kuò)展Git供應(yīng)程序的支持范圍,例如GitLab和BitBucket[4],”Strachen表示。

“著眼于更長(zhǎng)期的目標(biāo),我們將著力改進(jìn)反饋與整合等機(jī)制。 我們擁有一份宏觀路線圖,主要關(guān)注增加構(gòu)建包的數(shù)量,此外還需要實(shí)現(xiàn)更廣泛的語(yǔ)言支持能力,”Strachen說。

核心開發(fā)團(tuán)隊(duì)當(dāng)前的另一項(xiàng)研究目標(biāo)是與Anchore CI/CD安全掃描軟件進(jìn)行集成。 Anchore[5]負(fù)責(zé)根據(jù)漏洞數(shù)據(jù)庫(kù)分析代碼與Docker鏡像。

在實(shí)現(xiàn)上述復(fù)雜目標(biāo)的過程當(dāng)中,有一段代碼已經(jīng)為Jenkins X團(tuán)隊(duì)節(jié)省了大量時(shí)間,這就是UpdateBot。 這款小工具運(yùn)行在其他項(xiàng)目更新庫(kù)的依賴關(guān)系庫(kù)中,能夠自動(dòng)提交請(qǐng)求以使用新的依賴項(xiàng)。

“有時(shí)候,我們需要使用上游庫(kù),”Strachen說,“而其他團(tuán)隊(duì)正在使用下游類庫(kù)。通常情況下,如果不存在信息交換,這些庫(kù)很少需要進(jìn)行更新。但在實(shí)際更新過程中,我們需要采取持續(xù)部署的處理方法。UpdateBot[6]要做的在執(zhí)行過程中嚴(yán)格遵循持續(xù)部署原則。這些庫(kù)不會(huì)被部署為Docker鏡像,而是作為版本更改、經(jīng)過更新的XML文件或基礎(chǔ)Docker鏡像文件存在。”

Strachen表示,這種在更新過程中持續(xù)面向下游消費(fèi)者推送請(qǐng)求的作法,能夠有效防止錯(cuò)誤因未被及時(shí)發(fā)現(xiàn)而在更新周期之后集中爆發(fā)。

“我個(gè)人最欣賞的一點(diǎn)在于,如果上游開發(fā)者犯了錯(cuò)誤,他們會(huì)立刻發(fā)現(xiàn)問題。這是因?yàn)樵诔掷m(xù)發(fā)布的版本中,所有相關(guān)請(qǐng)求都會(huì)遭遇故障。如此一來(lái),將不致出現(xiàn)某一團(tuán)隊(duì)的失誤導(dǎo)致另一團(tuán)隊(duì)的工作成果付之東流,并有效避免由此引發(fā)的團(tuán)隊(duì)間摩擦與挫敗感。必須承認(rèn),犯下錯(cuò)誤的團(tuán)隊(duì)往往對(duì)此毫不知情,因此在傳統(tǒng)變更流程當(dāng)中,當(dāng)人們意識(shí)到存在嚴(yán)重問題時(shí),其間往往已經(jīng)進(jìn)行過無(wú)數(shù)次變更——也就是說根本無(wú)法判斷問題到底源自哪里。而持續(xù)部署原則將徹底攻克這一難題,”Strachen總結(jié)稱。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多