摘要:本節(jié)主要介紹利用部署應(yīng)用到中。利用部署一個(gè)應(yīng)用,需要原生資源文件如或等。最后一般都會(huì)引用通知插件,將構(gòu)建結(jié)果通知部署人員。說到部署策略,不得不說,實(shí)現(xiàn)的功能很多,但是足夠的復(fù)雜,目前來看,國(guó)內(nèi)只有小紅書用起來了。
前言
本小節(jié)應(yīng)該是這個(gè)系列剩下的兩個(gè)小節(jié)之一了。剩下一個(gè)是之前承諾好的drone-wechart插件。本節(jié)主要介紹利用helm部署應(yīng)用到kubernetes中。
至于helm,詳細(xì)可以參考FreeWheel Lead Engineer 張夏寫的一系列文章。總之,k8s中yaml文件的編寫復(fù)雜程度直接決定了k8s的使用門檻。利用Kubernetes部署一個(gè)應(yīng)用,需要Kubernetes原生資源文件如deployment、replicationcontroller、service或pod 等。而對(duì)于一個(gè)復(fù)雜的應(yīng)用,會(huì)有很多類似上面的資源描述文件,如果有更新或回滾應(yīng)用的需求,可能要修改和維護(hù)所涉及的大量資源文件,且由于缺少對(duì)發(fā)布過的應(yīng)用版本管理和控制,使Kubernetes上的應(yīng)用維護(hù)和更新等面臨諸多的挑戰(zhàn),helm主要是能解決這些問題。
而drone中提供了三個(gè)kube-helm插件,用來配合drone,實(shí)現(xiàn)k8s的cicd。這三個(gè)插件大同小異,我集中總結(jié)一下:
drone-kube
drone-kubernetes
helm
不過所有的插件都是只能用來更新應(yīng)用,不能新建。
總體思路編寫自己的.drone.yaml,放置到項(xiàng)目根目錄下。主要就是引用各種pipeline插件,例如默認(rèn)添加的git拉取代碼的插件,項(xiàng)目編譯環(huán)境的插件,此處針對(duì)不同語(yǔ)言,可以定制不同的鏡像,例如我們之前的項(xiàng)目會(huì)把common這種基礎(chǔ)庫(kù)也做到docker鏡像里,可以提高構(gòu)建速度。以及telegram,line,mail等通知插件。
提交代碼到github或是gogs等版本控制工具里,觸發(fā)webhook鉤子,通知drone執(zhí)行整個(gè)設(shè)計(jì)的構(gòu)建流程。該項(xiàng)目中,需要另外兩個(gè)插件,一個(gè)是docker鏡像,用于將編譯好的程序做成鏡像,并推到自己的docker registry中。所以需要在根目錄下,編寫自己的DockerFile文件。另外一個(gè)是上面提到的helm插件。
docker hub由于墻的原因,這邊一般是使用harbor,vmware中國(guó)團(tuán)隊(duì)基于docker registry做出來的私有鏡像倉(cāng)庫(kù)。
helm可以選用k8s官方的公共倉(cāng)庫(kù),一般都會(huì)搭建一個(gè)自己私倉(cāng),結(jié)合起來使用。
新的鏡像推到harbor之后,helm插件就可以執(zhí)行部署步驟了。
最后一般都會(huì)引用通知插件,將構(gòu)建結(jié)果通知部署人員。
總結(jié)路漫漫其修遠(yuǎn)兮,其實(shí)整個(gè)helm插件只是可以滿足一般的需求,整個(gè)部署過程經(jīng)常會(huì)有一定的部署策略,藍(lán)綠,金絲雀等。這一塊需要不同的paas平臺(tái),重新實(shí)現(xiàn)。另外之前提到的,helm插件只能用來更新,不能新建。所以這一塊需要探索的路還很長(zhǎng)。
說到部署策略,不得不說Spinnaker,實(shí)現(xiàn)的功能很多,但是足夠的復(fù)雜,目前來看,國(guó)內(nèi)只有小紅書用起來了。實(shí)現(xiàn)的語(yǔ)言是groovy,也不夠友好(當(dāng)然主要是我不會(huì)).
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/27156.html
摘要:本節(jié)主要介紹利用部署應(yīng)用到中。利用部署一個(gè)應(yīng)用,需要原生資源文件如或等。最后一般都會(huì)引用通知插件,將構(gòu)建結(jié)果通知部署人員。說到部署策略,不得不說,實(shí)現(xiàn)的功能很多,但是足夠的復(fù)雜,目前來看,國(guó)內(nèi)只有小紅書用起來了。 前言 本小節(jié)應(yīng)該是這個(gè)系列剩下的兩個(gè)小節(jié)之一了。剩下一個(gè)是之前承諾好的drone-wechart插件。本節(jié)主要介紹利用helm部署應(yīng)用到kubernetes中。至于helm,...
摘要:前言一直在思考部署應(yīng)用到的姿勢(shì),之前介紹過,個(gè)人感覺把記錄數(shù)據(jù)放到中不是特別好??梢詭椭惆踩馗聭?yīng)用。部署到中注意事項(xiàng)由于需要從倉(cāng)庫(kù)中拉取代碼,所以會(huì)有一個(gè)的問題。注意文件并沒有一項(xiàng)。 前言 一直在思考部署應(yīng)用到k8s的姿勢(shì),之前介紹過helm,個(gè)人感覺helm把記錄數(shù)據(jù)放到k8s中不是特別好。最近發(fā)現(xiàn)了weave的flux項(xiàng)目(A tool for deploying conta...
摘要:前言一直在思考部署應(yīng)用到的姿勢(shì),之前介紹過,個(gè)人感覺把記錄數(shù)據(jù)放到中不是特別好??梢詭椭惆踩馗聭?yīng)用。部署到中注意事項(xiàng)由于需要從倉(cāng)庫(kù)中拉取代碼,所以會(huì)有一個(gè)的問題。注意文件并沒有一項(xiàng)。 前言 一直在思考部署應(yīng)用到k8s的姿勢(shì),之前介紹過helm,個(gè)人感覺helm把記錄數(shù)據(jù)放到k8s中不是特別好。最近發(fā)現(xiàn)了weave的flux項(xiàng)目(A tool for deploying conta...
摘要:是針對(duì)于來說的升級(jí)版,做了一個(gè)功能上的調(diào)整,以其發(fā)布的版本號(hào)命名,目前最新的版本為。個(gè)人認(rèn)為必定會(huì)成為未來鏈中的關(guān)鍵一環(huán)。是什么熟悉的同學(xué)肯定非常熟悉甚至于每天都會(huì)使用到。是用于針對(duì)集群運(yùn)行命令的命令行接口。 簡(jiǎn)介: 主要原因是,我不會(huì) vim ,在 linux 上修改 charts 的很蹩腳,所以就想著能不能再 windows 上執(zhí)行 helm 命令,將 charts install...
閱讀 1775·2021-11-24 09:39
閱讀 1574·2021-11-16 11:54
閱讀 3512·2021-11-11 16:55
閱讀 1689·2021-10-14 09:43
閱讀 1459·2019-08-30 15:55
閱讀 1248·2019-08-30 15:54
閱讀 3437·2019-08-30 15:53
閱讀 1355·2019-08-30 14:18