【TOP100summit】工欲善其事,必先利其器---JFrog的Kubernetes實踐
原創(chuàng)【51CTO.com原創(chuàng)稿件】Kubernetes已成為大規(guī)模部署容器化應(yīng)用程序的一種標(biāo)準(zhǔn)方式,幫助管理龐雜的容器部署環(huán)境。但是,將應(yīng)用、微服務(wù)部署到Kubernetes環(huán)境里可不是那么輕松、簡單的事!如何成功地在Kubernetes環(huán)境中部署應(yīng)用?近日,51CTO記者在第七屆全球軟件案例研究峰會(簡稱***00summit)現(xiàn)場采訪了JFrog(杰蛙科技)架構(gòu)師高欣,對此問題進(jìn)行了梳理。
高欣,JFrog架構(gòu)師,專注DevOps解決方案,以及企業(yè)DevOps 轉(zhuǎn)型,曾在IBM服務(wù)近十年,帶領(lǐng)團(tuán)隊致力于Dev Ops領(lǐng)域產(chǎn)品,及公有云服務(wù)的研發(fā)、運維、服務(wù)及推廣等,在軟件產(chǎn)品和云服務(wù)的開發(fā)與運維、持續(xù)集成及交付、DevOps 等領(lǐng)域具備豐富的技術(shù)積累和實踐經(jīng)驗。
部署應(yīng)用的實戰(zhàn)
高欣首先表示,要想成功地在Kubernetes環(huán)境中部署應(yīng)用,首先不要急于把應(yīng)用部署上去,而是要從小處入手,充分了解Kubernetes的特點,同時也要充分考察和改造應(yīng)用自身,使其適合部署到Kubernetes環(huán)境中。
以JFrog為例,JFrog從很小的應(yīng)用開始進(jìn)行 Kubernetes 的部署。例如 Nginx,先定義小的目標(biāo)去將應(yīng)用部署到 Kubernetes,確保對整個容器化的進(jìn)程技術(shù)上可控。
高可用是 JFrog 產(chǎn)品的默認(rèn)功能,所以會有大量的高可用測試的需求。需要能夠快速擴(kuò)容支持大并發(fā)的請求,支持滾動升級(0宕機(jī)升級)的測試,破壞性測試,包括計劃和非計劃的 Node 宕機(jī)測試,集群縮容測試。
其次,要充分設(shè)計部署的方式和配置。高欣提到,Helm項目提供了一個統(tǒng)一軟件打包方式,支持版本控制,可以大大簡化Kubernetes應(yīng)用分發(fā)與部署中的復(fù)雜性。Helm也催生了社區(qū)的發(fā)展壯大,越來越多的軟件提供商,都開始提供高質(zhì)量的Charts。因此,可以利用Helm實現(xiàn)更為輕松的部署編排和執(zhí)行。
然后,當(dāng)部署完成后,還需要根據(jù)Kubernetes的特點實施針對應(yīng)用運行態(tài)的監(jiān)視。這就需要用一些額外的工具,能夠在應(yīng)用、開發(fā)之外,提供一個良好的,監(jiān)視運行狀態(tài)的機(jī)制和系統(tǒng)。
***,需要一套整體的流程,能夠用一些自動化的方式,流水線的方式,讓整個部署過程自動運轉(zhuǎn)起來,使其能夠很快的去復(fù)用,并且能夠快速的得到響應(yīng)。高欣強(qiáng)調(diào),希望開發(fā)者們能夠善用一些社區(qū)的力量,多吸取別人的經(jīng)驗,這樣能夠達(dá)到事半功倍的效果。
實戰(zhàn)過程中的經(jīng)驗
在JFrog,目前可以做到每周自動化部署100+的不同產(chǎn)品線、任意版本組合的測試環(huán)境,而每個環(huán)境都要部署50+的微服務(wù)。在達(dá)到這樣的部署規(guī)模的過程中,JFrog遇到了很多難題問題,同時也積累了很多的經(jīng)驗和教訓(xùn)。
首先,JFrog明確了內(nèi)部落地Kubernetes應(yīng)用的目標(biāo),即能夠快速搭建全功能的測試環(huán)境,給開發(fā),測試,技術(shù)支持,產(chǎn)品團(tuán)隊,解決方案團(tuán)隊等所有團(tuán)隊使用。同時為每個分支都提供CI/CD流水線的支撐,讓研發(fā)有獨立的沙箱環(huán)境進(jìn)行自測,這也是 Kubernetes 帶來的***價值之一。
同時,JFrog正逐步將云端的服務(wù)遷移到Kubernetes環(huán)境,并直接向客戶提供JFrog所有產(chǎn)品的Helm Charts,方便客戶在Kubernetes環(huán)境中的部署。
“在這個過程中,每一步都很艱難”,高欣表示。由于是全新的環(huán)境,全新的方式,所以存在很多未知因素,高欣建議開發(fā)者可以多去社區(qū)看一看,與社區(qū)的高手交流,會得到很多經(jīng)驗和方法,來解決遇到的困難。
Jfrog的客戶沒有行業(yè)限制,既有騰訊、中興、華為之類的互聯(lián)網(wǎng)企業(yè),也有金融、證券這樣的傳統(tǒng)行業(yè),只要有DevOps轉(zhuǎn)型的需求,JFrog都會為之提供幫助。JFrog希望把DevOps的理念宣傳、推廣給更多的用戶。
記者視點
在Kubernetes中,應(yīng)用管理是需求最多、挑戰(zhàn)***的領(lǐng)域。Kubernetes社區(qū)編排方案中,Helm基于Charts包的實現(xiàn)方案占主導(dǎo)地位。目前Helm已經(jīng)成為Kubernetes下應(yīng)用編排的唯一子項目。JFrog在實踐中積累了大量經(jīng)驗,并且積極擁抱開源,必將幫助更多的企業(yè)客戶實現(xiàn)DevOps落地。
【51CTO原創(chuàng)稿件,合作站點轉(zhuǎn)載請注明原文作者和出處為51CTO.com】