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

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

我們提供的服務(wù)有:網(wǎng)站建設(shè)、成都做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、科爾沁左翼ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的科爾沁左翼網(wǎng)站制作公司

一、背景

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

在上述流水線當(dāng)中,除了負(fù)責(zé)制品倉庫管理,Artifactory還可以提供質(zhì)量的可審核性,因?yàn)樗东@了整個(gè)CI/CD流程中產(chǎn)生的所有大量有價(jià)值的元數(shù)據(jù),包含:

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

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

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

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

·       發(fā)布?xì)v史信息等

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

三、流水線特性解析

3.1 JFrog Artifactory和Xray確保軟件交付的自動(dòng)化

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

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

3.2 Helm Charts使CI/CD工具部署自動(dòng)化

一旦您的Kubernetes基礎(chǔ)架構(gòu)啟動(dòng)并運(yùn)行,Kubernetes Helm便使您能夠通過輕松安裝、更新和刪除來快速可靠地配置容器應(yīng)用程序。它為開發(fā)人員提供了一種打包應(yīng)用程序并與Kubernetes社區(qū)共享的工具。它使軟件供應(yīng)商只需按一下按鈕即可提供其容器化的應(yīng)用程序。通過一個(gè)命令或單擊幾下鼠標(biāo),用戶就可以為開發(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等)。您可以搜索,一鍵部署或配置它。(圖三) 

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

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

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

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

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

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

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

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

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

當(dāng)前題目:如何實(shí)現(xiàn)規(guī)?;腒ubernetesCI/CD流水線
網(wǎng)站鏈接:http://muchs.cn/article6/picjig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作網(wǎng)站策劃、外貿(mào)建站品牌網(wǎng)站設(shè)計(jì)

廣告

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

外貿(mào)網(wǎng)站制作