好雨科技技术团队一直致力于让用户更方便的安装 Rainbond 这款产品。
不久前,我们刚刚推出了在一个容器中部署 Rainbond 的快速安装方式,这种方式覆盖了 Windows
、MacOS
、Linux
三大操作系统,也适用于 x86_64
、Arm64
两种主流架构。这种安装方式极大的简化了用户操作过程,提升了用户体验。然而这种安装方式受限于单机,仅适用于体验 Rainbond 功能或者个人开发环境,不适合在生产环境中部署。
好雨科技技术团队现已推出了基于 Helm 的安装方式。 Helm 提供了一套简单易用的命令行,借助开发者制作好的 Charts 包完成应用的安装、更新、升级、回滚等操作。Kubernetes 已经成为现代企业 IT 基础设施的事实标准,而 Helm 作为包管理工具适配了市面可见的大多数 Kubernetes 类型,这些类型包括:
借助 Helm 的广泛适用性,我们期待 Rainbond 获得在各种复杂 Kubernetes 场景中落地生根的能力。
利用 Helm 安装 Rainbond 的安装方式,除去面向不同类型 Kubernetes 的广泛适用性之外,还具备了其它优势。
我们将围绕 Rainbond 可以设定的自定义配置,统一通过 values.yaml 配置文件的形式暴露出来。用户可以根据 values.yaml 详解 文档指引,自行调整 Rainbond 安装预定义配置。当用户的 Kubernetes 集群拥有自定义基础设施需要对接时非常有用,比如对接不同的存储、负载均衡、数据库等。以往的安装方式也可以支持这种配置,但是 Helm 安装方式的自定义是最方便合理的。
继承自高度自定义的特性,用户可以参考 values.yaml 详解 文档指引,在简单的文件编辑后,通过一条命令完成 Rainbond 集群配置的调整。
相较于以往的图形化安装方式,Helm 安装基于命令行搭配配置文件的方式实现,最大程度的降低了模棱两可的可能性。每一步命令行操作都有明确的返回信息,非常符合系统运维人员的胃口。
Helm 安装方式唯一的不足在于对操作人员的技术门槛要求较高,企业 Kubernetes 集群运维管理人员是比较合适的人选。运维管理人员拥有以下特征。
使用 Helm 安装应用,需要对 Kubernetes 体系有一定的了解。一旦安装过程中出现问题,则需要操作人员具备调试 Kubernetes 资源的能力。
操作人员与 Helm 之间的交互完全基于命令行的形式完成,没有提供图形化的界面支持。
操作人员所拥有的 Kubernetes 集群越复杂,则对 Rainbond 的自定义程度要求越高。尤其是在使用不同云服务商的托管 Kubernetes 服务时,如何完美对接围绕集群的其它基础设施非常重要。这些自定义配置会深刻影响到 Rainbond 集群的高可用性和使用体验。
利用 Helm 基于已有的 Kubernetes 集群安装 Rainbond,其过程相对而言比较简单,所有操作均基于命令行进行。
Helm 版本:3+
Kubernetes 版本: 1.19+
kubectl create namespace rbd-system
helm repo add rainbond https://openchart.goodrain.com/goodrain/rainbond
helm install rainbond rainbond/rainbond-cluster -n rbd-system
用户可以通过创建配置文件 values.yaml
来自定义 Rainbond 集群的配置。最常见的配置项,包括网关节点的选择,以及集群对外网络出口 IP 的配置。
Kubernetes 集群中至少需要提供一个节点作为 Rainbond 网关节点,Rainbond 网关服务
rbd-gateway
是一种Ingress-controller
实现,和其它Ingress-controller
一起工作会导致端口冲突,要求80、443、6060、7070、8443
空闲。
这个配置和网关节点息息相关,在 Kubernetes 集群中运行的业务,需要通过网关节点对外暴露服务地址,无论是基于 Http 还是 Tcp,最终都会映射为一个 IP 地址。这一 IP 有可能是网关节点所在服务器映射到公网的 IP 地址,也有可能是网关节点以外的负载均衡工作的 IP 地址,通过端口映射
80、443
。如果不进行设置,默认选择网关节点的内网 IP 地址。
配置的方式,则是进行简单的文件编辑:
cat > values.yaml << EOF
Cluster:
# 对外网关,填写IP
gatewayIngressIPs: 47.104.1.82
# 网关节点对应配置,externalIP为网关节点外部IP,internalIP为网关节点内部IP,name为网关节点node名称
nodesForGateway:
- externalIP: 47.104.1.82
internalIP: 192.168.0.1
name: node1
EOF
生成配置文件后,在安装 Rainbond 时引用该配置文件:
helm install rainbond rainbond/rainbond-cluster -f values.yaml -n rbd-system
参考 values.yaml 详解 了解更多自定义配置项,以及如何为已有 Rainbond 集群变更配置。
参考 helm 安装卸载指南 来卸载基于 Helm 安装的 Rainbond 集群。
安装过程中出现问题,参考 helm 安装问题排查指南 进行问题排查。
Rainbond 是一个开源的云原生应用管理平台,使用简单,不需要懂容器和Kubernetes,支持管理多个Kubernetes集群,提供企业级应用的全生命周期管理,功能包括应用开发环境、应用市场、微服务架构、应用持续交付、应用运维、应用级多云管理等。
Github:https://github.com/goodrain/rainbond
官网:https://www.rainbond.com
微信群:关注 Rainbond 公众号加入技术交流群
钉钉群:请搜索钉钉群号 31096419