利用 Helm 安装 Rainbond

简介: 利用 Helm 安装 Rainbond

利用 Helm 安装 Rainbond

好雨科技技术团队一直致力于让用户更方便的安装 Rainbond 这款产品。

不久前,我们刚刚推出了在一个容器中部署 Rainbond 的快速安装方式,这种方式覆盖了 WindowsMacOSLinux 三大操作系统,也适用于 x86_64Arm64 两种主流架构。这种安装方式极大的简化了用户操作过程,提升了用户体验。然而这种安装方式受限于单机,仅适用于体验 Rainbond 功能或者个人开发环境,不适合在生产环境中部署。

好雨科技技术团队现已推出了基于 Helm 的安装方式。 Helm 提供了一套简单易用的命令行,借助开发者制作好的 Charts 包完成应用的安装、更新、升级、回滚等操作。Kubernetes 已经成为现代企业 IT 基础设施的事实标准,而 Helm 作为包管理工具适配了市面可见的大多数 Kubernetes 类型,这些类型包括:

  • 使用不同安装工具(如kubeadm、sealos)部署的各种版本的标准 Kubernetes 集群
  • 各大云服务商推出的 Kubernetes 即服务的云产品,如阿里云ACK、腾讯云TKE
  • 基于 Kubernetes 规范实现的其它容器基础设施,如 K3s 、Kubedge

借助 Helm 的广泛适用性,我们期待 Rainbond 获得在各种复杂 Kubernetes 场景中落地生根的能力。

1.png

优势

利用 Helm 安装 Rainbond 的安装方式,除去面向不同类型 Kubernetes 的广泛适用性之外,还具备了其它优势。

  • 高度自定义

我们将围绕 Rainbond 可以设定的自定义配置,统一通过 values.yaml 配置文件的形式暴露出来。用户可以根据 values.yaml 详解 文档指引,自行调整 Rainbond 安装预定义配置。当用户的 Kubernetes 集群拥有自定义基础设施需要对接时非常有用,比如对接不同的存储、负载均衡、数据库等。以往的安装方式也可以支持这种配置,但是 Helm 安装方式的自定义是最方便合理的。

  • 方便调整集群配置

继承自高度自定义的特性,用户可以参考 values.yaml 详解 文档指引,在简单的文件编辑后,通过一条命令完成 Rainbond 集群配置的调整。

  • 明确无误的命令行操作方式

相较于以往的图形化安装方式,Helm 安装基于命令行搭配配置文件的方式实现,最大程度的降低了模棱两可的可能性。每一步命令行操作都有明确的返回信息,非常符合系统运维人员的胃口。

适用人群

Helm 安装方式唯一的不足在于对操作人员的技术门槛要求较高,企业 Kubernetes 集群运维管理人员是比较合适的人选。运维管理人员拥有以下特征。

  • 对 Kubernetes 体系有深入的了解

使用 Helm 安装应用,需要对 Kubernetes 体系有一定的了解。一旦安装过程中出现问题,则需要操作人员具备调试 Kubernetes 资源的能力。

  • 能够接受命令行交互

操作人员与 Helm 之间的交互完全基于命令行的形式完成,没有提供图形化的界面支持。

  • 对 Rainbond 集群有高度自定义的需求

操作人员所拥有的 Kubernetes 集群越复杂,则对 Rainbond 的自定义程度要求越高。尤其是在使用不同云服务商的托管 Kubernetes 服务时,如何完美对接围绕集群的其它基础设施非常重要。这些自定义配置会深刻影响到 Rainbond 集群的高可用性和使用体验。

操作流程

利用 Helm 基于已有的 Kubernetes 集群安装 Rainbond,其过程相对而言比较简单,所有操作均基于命令行进行。

环境要求

Helm 版本:3+

Kubernetes 版本: 1.19+

Helm install

  • 创建rbd-system 命名空间

kubectl create namespace rbd-system

  • 添加chart仓库

helm repo add rainbond https://openchart.goodrain.com/goodrain/rainbond

  • 安装ranibond

helm install rainbond rainbond/rainbond-cluster -n rbd-system

values.yaml

用户可以通过创建配置文件 values.yaml 来自定义 Rainbond 集群的配置。最常见的配置项,包括网关节点的选择,以及集群对外网络出口 IP 的配置。

  • 网关节点的选择

Kubernetes 集群中至少需要提供一个节点作为 Rainbond 网关节点,Rainbond 网关服务 rbd-gateway 是一种 Ingress-controller 实现,和其它 Ingress-controller 一起工作会导致端口冲突,要求  80、443、6060、7070、8443 空闲。

  • 集群对外网络出口 IP

这个配置和网关节点息息相关,在 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

Rainbond 是一个开源的云原生应用管理平台,使用简单,不需要懂容器和Kubernetes,支持管理多个Kubernetes集群,提供企业级应用的全生命周期管理,功能包括应用开发环境、应用市场、微服务架构、应用持续交付、应用运维、应用级多云管理等。

🌟 Github:https://github.com/goodrain/rainbond

😊 官网:https://www.rainbond.com

😉 微信群:关注 Rainbond 公众号加入技术交流群

🤔 钉钉群:请搜索钉钉群号 31096419

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
机器学习/深度学习 人工智能
一键生成PPT的AI工具介绍
一键生成PPT的AI工具介绍
1821 0
|
存储
KubeSphere 基础知识,KubeSphere 入门了解
KubeSphere 基础知识,KubeSphere 入门了解
563 0
|
存储 Kubernetes IDE
|
Ubuntu 网络协议 关系型数据库
超聚变服务器2288H V6使用 iBMC 安装 Ubuntu Server 24.04 LTS及后续系统配置
【11月更文挑战第15天】本文档详细介绍了如何使用iBMC在超聚变服务器2288H V6上安装Ubuntu Server 24.04 LTS,包括连接iBMC管理口、登录iBMC管理界面、配置RAID、安装系统以及后续系统配置等步骤。
3391 4
|
Ubuntu Python
No module named ‘_lzma’
No module named ‘_lzma’
4264 0
|
应用服务中间件 Linux Shell
使用Docker编译OpenResty支持国密ssl加密
OpenResty自身支持标准SSL协议,但不支持国密SSL协议;本文主要概述如何在docker环境下编译OpenResty镜像支持国密SSL加密。
1364 0
|
SQL 存储 Oracle
JPA 概述及常用注解详解、SpringDataJpa 使用指南
JPA 概述及常注解详解、SpringDataJpa 使用指南
10205 2
JPA 概述及常用注解详解、SpringDataJpa 使用指南
|
存储 Docker Windows
如何缩减Docker Desktop占用磁盘空间
如何缩减Docker Desktop占用磁盘
4918 1
|
存储 人工智能 运维
基于容器服务 ACK 发行版打造 CNStack 社区版
本文将介绍如何使用 ACK Distro 作为基础镜像打造 CNStack 社区版以及CNStack 社区版中的容器服务 ACK 敏捷版产品如何帮助用户更好的使用容器平台能力。
基于容器服务 ACK 发行版打造 CNStack 社区版
|
运维 Kubernetes Cloud Native
详解 Rainbond Ingress 泛解析域名机制
Rainbond 作为一款云原生应用管理平台,天生带有引导南北向网络流量的分布式网关 rbd-gateway。区别于一般的 Ingress 配置中,用户需要自行定义域名的使用体验,Rainbond 的网关策略可以一键自动生成域名访问策略,用户通过这个域名可以立刻访问到部署在 Rainbond 上的业务系统。这个使用体验在开发测试场景下非常友好,这篇文章详解了这一机制到底是如何实现的。
详解 Rainbond Ingress 泛解析域名机制