本小節應該是這個系列剩下的兩個小節之一了。剩下一個是以前承諾好的drone-wechart插件。本節主要介紹利用helm部署應用到kubernetes中。
至於helm,詳細能夠參考FreeWheel Lead Engineer 張夏寫的一系列文章。總之,k8s中yaml文件的編寫複雜程度直接決定了k8s的使用門檻。利用Kubernetes部署一個應用,須要Kubernetes原生資源文件如deployment、replicationcontroller、service或pod 等。而對於一個複雜的應用,會有不少相似上面的資源描述文件,若是有更新或回滾應用的需求,可能要修改和維護所涉及的大量資源文件,且因爲缺乏對發佈過的應用版本管理和控制,使Kubernetes上的應用維護和更新等面臨諸多的挑戰,helm主要是能解決這些問題。html
而drone中提供了三個kube-helm插件,用來配合drone,實現k8s的cicd。這三個插件大同小異,我集中總結一下:git
不過全部的插件都是隻能用來更新應用,不能新建。github
路漫漫其修遠兮,其實整個helm插件只是能夠知足通常的需求,整個部署過程常常會有必定的部署策略,藍綠,金絲雀等。這一塊須要不一樣的paas平臺,從新實現。另外以前提到的,helm插件只能用來更新,不能新建。因此這一塊須要探索的路還很長。
說到部署策略,不得不說Spinnaker,實現的功能不少,可是足夠的複雜,目前來看,國內只有小紅書用起來了。實現的語言是groovy,也不夠友好(固然主要是我不會).web