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