溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何實現(xiàn)規(guī)?;腒ubernetes CI/CD 流水線

發(fā)布時間:2021-11-22 16:36:00 來源:億速云 閱讀:129 作者:柒染 欄目:云計算

本篇文章為大家展示了如何實現(xiàn)規(guī)?;腒ubernetes CI/CD 流水線,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

一、背景

在近幾年,Kubernetes迅速成為了容器編排的事實上的開源標準。與虛擬機不同,Kubernetes在抽象化基礎(chǔ)架構(gòu)的同時可靠地大規(guī)模編排容器,這可以幫助開發(fā)人員將工作負載與基礎(chǔ)架構(gòu)的復雜性分開。Kubernetes是CI/CD自動化的理想選擇,因為它提供了許多內(nèi)置功能,這些功能使應(yīng)用程序部署實現(xiàn)標準化和可重用,提高了開發(fā)人員的生產(chǎn)力,并加快了云原生應(yīng)用程序的采用。

Platform9是成立于2013年的云服務(wù)提供商,能夠提供業(yè)界唯一由SaaS管理的混合云解決方案,使用戶能夠快速采用云技術(shù)并在私有部署或公共云中的任何基礎(chǔ)架構(gòu)上一致地管理VM、Kubernetes和無服務(wù)器功能。Platform9提供的Kubernetes解決方案也是業(yè)界的佼佼者。

在2019年巴塞羅那舉行的KubeCon + CloudNativeCon大會上,Platform9與1000多名與會者進行了互動,有近500名與會者參與了Kubernetes的相關(guān)調(diào)查。下圖列出了關(guān)于最常見的Kubernetes應(yīng)用場景的調(diào)查結(jié)果:

如何實現(xiàn)規(guī)模化的Kubernetes CI/CD 流水線

其中,基于Kubernetes的CI/CD自動化是最為廣泛的用例,專注于幫助開發(fā)人員更快地構(gòu)建和交付應(yīng)用程序。但是,在具有全自動和可重復的CI/CD流水線的生產(chǎn)環(huán)境中運行Kubernetes(k8s)以及持續(xù)的安全檢查會帶來新的挑戰(zhàn),包括集成的復雜性,持續(xù)的產(chǎn)品更新/回滾、自運維、生命周期管理等等。 

解決這些挑戰(zhàn)并沒有想象中的困難,本文將介紹Platform9如何利用JFrog的產(chǎn)品在Kubernetes上快速實現(xiàn)CI/CD自動化并將其推廣到整個組織的方法。

二、使用Artifactory和Helm的5步Kubernetes CI / CD流水線

在Platform9提供的方案中,JFrog Artifactory作為微服務(wù)的Docker注冊表(或多個注冊表),是構(gòu)建CI/CD流水線不可或缺的一部分。同時,使用Artifactory作為Helm Chart存儲庫,進一步使該制品管理倉庫能夠提供將容器部署到k8s集群所需的所有集成資源。

Artifactory還可以作為遠程依賴的代理倉庫,例如npm、Maven、Gradle和Go等,實現(xiàn)安全的Kubernetes注冊表,使您能夠跟蹤系統(tǒng)中端到端的內(nèi)容、依賴關(guān)系,以及與其他Docker鏡像的關(guān)系。

如何實現(xiàn)規(guī)?;腒ubernetes CI/CD 流水線

5步實現(xiàn)Kubernetes CI/CD流水線:

·       步驟1.使用Artifactory中代理的注冊表來開發(fā)微服務(wù)。生成的應(yīng)用程序包可以是.war或.jar文件;

·       步驟2.在Ubuntu上使用Tomcat和Java-8創(chuàng)建Docker框架作為基礎(chǔ)鏡像。將此鏡像推送到Artifactory中的Docker注冊表中,JFrog Xray也會對其進行掃描,以確保安全性和許可證合規(guī)性。

·       步驟3.通過將.war或.jar文件添加到Docker框架中,為微服務(wù)創(chuàng)建Docker鏡像,將該鏡像推送到Artifactory中的Docker注冊表中,并通過Xray對其進行掃描。

·       步驟4.為微服務(wù)創(chuàng)建Helm Chart,并將其推送到Artifactory中的Helm存儲庫。

·       步驟5.使用Helm Chart將微服務(wù)從安全的Docker注冊表部署到Kubernetes集群。

在上述流水線當中,除了負責制品倉庫管理,Artifactory還可以提供質(zhì)量的可審核性,因為它捕獲了整個CI/CD流程中產(chǎn)生的所有大量有價值的元數(shù)據(jù),包含:

·       構(gòu)建和環(huán)境信息

·       模塊的依賴關(guān)系

·       CI服務(wù)器,如Jenkins,提供的相關(guān)信息

·       發(fā)布模塊及其依賴的詳細許可證分析

·       發(fā)布歷史信息等

使用Artifactory,可以跟蹤負責生成應(yīng)用程序?qū)樱ɡ鏦AR文件)的CI任務(wù),該應(yīng)用程序?qū)邮荄ocker鏡像層的一部分。通過比較兩次構(gòu)建,可以顯示構(gòu)建之間的差異,從而輕松跟蹤哪個構(gòu)建發(fā)布到了Docker鏡像的哪個層,近而繼續(xù)跟蹤到代碼的提交。

三、流水線特性解析

3.1 JFrog Artifactory和Xray確保軟件交付的自動化

Artifactory是一個通用的制品倉庫管理平臺,無論組織中的微服務(wù)在哪里運行,它都可以滿足所有CI/CD的需求。Artifactory通過提供完全的Docker兼容性,使開發(fā)人員能夠?qū)⑷萜骰奈⒎?wù)部署到Kubernetes集群中。將應(yīng)用程序包推送到Artifactory倉庫后,您可以在開發(fā)、測試和發(fā)布階段繼續(xù)驗證和升級您的容器,最后將其部署到Kubernetes中的生產(chǎn)集群。如之前的分析,Artifactory還為所有應(yīng)用程序包提供了完整的可審核性和可追溯性。

JFrog Xray對Docker鏡像執(zhí)行深度遞歸掃描,并識別所有層和依賴項中的安全漏洞。它還會檢查以確保所有軟件組件的許可證均符合組織的策略。這有助于阻止易受攻擊且不合規(guī)的軟件投入生產(chǎn)。而且,Xray提供的持續(xù)掃描能力,可以確保發(fā)現(xiàn)新問題或更改策略時的持續(xù)安全性。

3.2 Helm Charts使CI/CD工具部署自動化

一旦您的Kubernetes基礎(chǔ)架構(gòu)啟動并運行,Kubernetes Helm便使您能夠通過輕松安裝、更新和刪除來快速可靠地配置容器應(yīng)用程序。它為開發(fā)人員提供了一種打包應(yīng)用程序并與Kubernetes社區(qū)共享的工具。它使軟件供應(yīng)商只需按一下按鈕即可提供其容器化的應(yīng)用程序。通過一個命令或單擊幾下鼠標,用戶就可以為開發(fā)測試或生產(chǎn)環(huán)境安裝Kubernetes應(yīng)用程序。大多數(shù)流行的CI/CD工具集都可以通過Helm chart獲得。

Platform9應(yīng)用目錄為Helm圖表提供了易于訪問的按鈕式部署。您可以使用App Catalog UI來選擇和部署您喜歡的CI/CD流水線工具(例如,Jenkins、Spinnaker、Artifactory、Xray等)。您可以搜索,一鍵部署或配置它。(圖三) 

如何實現(xiàn)規(guī)模化的Kubernetes CI/CD 流水線

四、Platform9的托管Kubernetes服務(wù)消除了操作復雜性

如果您要解決的主要業(yè)務(wù)問題,與提高開發(fā)人員的生產(chǎn)力,將軟件更快地推向市場,以及在生產(chǎn)環(huán)境中運行可靠的應(yīng)用程序有關(guān),那么您是否值得花時間處理運維Kubernetes的麻煩和復雜性?您是否擁有人員和技能來工作和運維大型Kubernetes集群? 

運維您自己的大規(guī)模Kubernetes基礎(chǔ)架構(gòu)令人生畏。錯誤選擇的后果是持久的,并且會影響應(yīng)用程序的可用性、性能和敏捷性。雖然在短期內(nèi)內(nèi)部構(gòu)建解決方案可能會更便宜,但您的設(shè)計質(zhì)量可能較低,或者存在一些缺陷。這些缺陷在您投入生產(chǎn)后才會意識到,從而最終會花費更多的錢。

雖然安裝和管理Kubernetes不會推動業(yè)務(wù)向前發(fā)展,但快速為客戶部署新的應(yīng)用程序和版本卻可以。對于開發(fā)人員,Kubernetes的最終用戶,平臺可用性是關(guān)鍵。他們不在乎是誰建造它或如何建造它的:他們只是想動手實踐它,并使其運轉(zhuǎn)良好。

盡管開發(fā)人員不關(guān)心集群的實現(xiàn)細節(jié)或其運維狀態(tài),但是仍然需要有人進行運維工作以確保集群是最新、健康且安全的。Platform9管理您的Kubernetes環(huán)境,為您提供全自動運維,并在裸機、VMware、公共云或邊緣節(jié)點上實現(xiàn)99.9%的SLA。這使您的DevOps團隊可以騰出時間專注于重要的事情:通過更快地構(gòu)建更好的應(yīng)用程序來響應(yīng)客戶需求。(圖四)

如何實現(xiàn)規(guī)?;腒ubernetes CI/CD 流水線

通過上述Platform9推薦的解決方案來看,基于JFrog的Artifactory和Xray,結(jié)合Helm Chart,能夠方便、快捷、清晰地搭建適用于規(guī)模化Kubernetes集群的CI/CD自動化流水線。該方案在保證應(yīng)用構(gòu)建和交付的快速、安全、可重復的同時,還能為所有交付的應(yīng)用提供完整的可審核性和可追溯性。

上述內(nèi)容就是如何實現(xiàn)規(guī)?;腒ubernetes CI/CD 流水線,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI