BuildRun平台升级-支持Helm-v3兼容Helm-v2

32次阅读

共计 2097 个字符,预计需要花费 6 分钟才能阅读完成。

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-…

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 平台和企业级低代码开发平台,帮助隐藏应用所依赖的基础环境的复杂性,让每个人都只需要专注在业务逻辑上,以新的方式让团队能够快速、持续地将他们的想法转化为真正的商业价值。

欢迎免费注册,体验试用低代码应用开发

  • 注册地址:apps.gobuildrun.com/#/base/regi…
  • 官网:http://gobuildrun.com
  • 微信:BuildRun 低代码开发平台
正文完
 0