BuildRun平臺升級 | 支持Helm v3兼容Helm v2

Helm 是目前雲原生技術體系中進行應用管理最被廣泛使用的開源項目,可以幫助管理Kubernetes應用程序。通過Helm Charts,可以快速定義、安裝和升級複雜的Kubernetes應用程序。

本文將簡短介紹一下Helm v2與v3之間的區別,以及如何將BuildRun低代碼開發平臺的實例升級到helm v3上。

01 Helm v2和Helm v3的區別

Helm設計之初不僅僅作爲一個包管理工具,同時也試圖作爲一個微型的PaaS平臺,因此添加了Tiller服務端,在Tiller服務端中有一整套管理流程和更新策略用以支持其作爲PaaS平臺的設定,但Tiller的存在卻與Kubernetes概念產生了一些重合和衝突。

Tiller的存在導致release名稱需要保持全局唯一性,故而不能像Kubernetes一樣按照Namespace進行隔離。對於熟悉Kubernetes的用戶來說,Tiller就顯得有點多餘,它的存在不僅提高了部署的複雜度,還含有一些安全隱患。

Helm v3在v2的基礎上移除了tiller,變成了一個純客戶端工具,除此之外,還有如下一些變化:

  • 部署實例依賴於用戶在對應集羣中所擁有的權限

  • 支持使用secret存儲實例信息,更加安全

  • 實例按照namespace進行隔離,無需全局唯一

  • 移除requirements.yaml,直接在chart.yaml中定義依賴

....

02 升級Helm v3的必要性

Helm v3相對於v2極大地提高了安全性,其部署權限完全依賴於終端用戶所擁有的權限,而非tiller服務的權限,同時v3也更接近Kubernetes的設計理念,減少了開發人員的學習成本和不必要的疑惑。

03 BuildRun平臺如何同時支持Helm v2和v3

目前部分用戶可能由於各種原因無法升級到Helm v3,所以BuildRun在升級Helm v3的同時保持了對v2版本的支持。

用戶在激活集羣時可以選擇使用v2或者v3版本:

激活之後集羣與平臺交互流程如下:

 

如果用戶部署v2版本,則helm-helper:v2會隨之一起部署,如果用戶部署v3版本則會一起部署helm-helper:v3,helm-helper:v2 與helm-helper:v3 爲agent提供相同的接口,agent在進行helm操作時,可直接調用helm-helper接口,達到兼容v2和v3的目的。

04 如何從Helm v2升級到Helm v3

Helm官方提供了升級插件,可以快速從Helm v2升級到Helm v3,BuildRun低代碼開發平臺上管理的集羣可以參考以下步驟進行升級:

▍遷移v2版本的release到v3版本

1. 下載Helm v3版本客戶端,並安裝2to3插件,安裝插件命令如下:

helm plugin install https://github.com/helm/helm-2to3.git

2. 執行遷移命令,其中helm_v2表示v2版本的Helm客戶端,helm_v3表示v3版本的Helm客戶端

helm_v2 list  | grep -v NAME | awk '{print $1}' | xargs -n1 helm_v3 2to3 convert

停用舊版本Agent

helm delete choerodon-cluster-agent-xxx --purge

停用Tiller服務

kubectl scale deployment tiller-deploy -n kube-system --replicas 0

▍啓用v3版本Agent

在集羣激活界面複製v3版本激活命令,並使用Helm v3版本客戶端進行激活即可。

通過上述步驟即可快捷遷移v2版本的release到Helm v3版本,歡迎大家前往BuildRun低代碼開發平臺試用體驗。

▨ 使用中遇到問題怎麼辦

在Buildrun使用過程中,任何關於平臺的問題和建議,都可以點擊頁面右下角用戶反饋按鈕,實時向開發團隊提交反饋,我們會在第一時間處理

▨ BuildRun低代碼開發教程

關於BuildRun低代碼開發平臺的使用,可查看詳細的開發教程,本系列開發教程每週一更,歡迎持續關注。

前三節課程回顧▼

BuildRun低代碼開發教程第一節 | 項目環境準備

BuildRun低代碼開發教程第二節 | 功能需求梳理和任務定義

BuildRun低代碼開發教程第三節 | 數據模型設計和定義

 

關於BuildRun

BuildRun帶來了多雲架構環境下基於視覺的企業級應用創建、集成、部署、生命週期管理和分發的能力,由開源Choerodon豬齒魚核心團隊創立的BuildRun公司(上海翹騰科技有限公司)的使命是以雲原生的現代化軟件架構來幫助企業提升軟件開發生產力和業務敏捷性,它提供企業級DevOps平臺和企業級低代碼開發平臺,幫助隱藏應用所依賴的基礎環境的複雜性,讓每個人都只需要專注在業務邏輯上,以新的方式讓團隊能夠快速、持續地將他們的想法轉化爲真正的商業價值。

歡迎免費註冊,體驗試用低代碼應用開發

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章