利用 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 场景中落地生根的能力。

优势

利用 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

利用 Helm 在各类 Kubernetes 中安装 Rainbond的更多相关文章

  1. [转帖]Kubernetes中安装Helm及使用

    Kubernetes中安装Helm及使用 2018年07月02日 17:41:09 灬勿忘丶心安 阅读数 3699更多 分类专栏: K8S   版权声明:本文为博主原创文章,遵循CC 4.0 BY-S ...

  2. kubernetes 中安装 heapster 问题

    step1: 在官网下载部署文件 https://github.com/kubernetes-retired/heapster/tree/master/deploy/kube-config/influ ...

  3. 简单在kubernetes中安装cadvisor

    cadvisor用于分析docker资源占用情况及性能的工具 安装命令: docker run --volume=/:/rootfs:ro --volume=/: --detach=true --na ...

  4. k8s helm 包管理私服chartmuseum 安装

    备注:   预备环境需要安装helm  1. 安装chartmuseum  参考 # on Linux curl -LO https://s3.amazonaws.com/chartmuseum/re ...

  5. 利用Helm简化Kubernetes应用部署(1)

    目录 利用Helm简化Kubernetes应用部署  Helm基础  安装Helm  使用Visual Studio 2019为Helm编写一个简单的应用    利用Helm简化Kubernetes应 ...

  6. 利用Helm简化Kubernetes应用部署(2)

    目录 定义Charts  使用Helm部署Demo  Helm常用操作命令  定义Charts 回到之前的“charts”目录,我们依次进行解读并进行简单的修改. Chart.yaml 配置示例: a ...

  7. 在kubernetes中搭建harbor,并利用MinIO对象存储保存镜像文件

    前言:此文档是用来在线下环境harbor利用MinIO做镜像存储的,至于那些说OSS不香吗?或者单机harbor的,不用看了.此文档对你没啥用,如果是采用单机的harbor连接集群MinIO,请看我的 ...

  8. openshift 4.3中安装helm3并通过helm方式部署应用

    openshift 4.3中安装helm3并通过helm方式部署应用 简介 Helm是一个命令行界面(CLI)工具,可简化将应用程序和服务部署到OpenShift Container Platform ...

  9. Kubernetes中的Helm和修改证书有效时间(八)

    一.Helm的介绍 1,概念 Helm 把 k8s 资源(比如 deployments.services 或 ingress 等)打包到一个 chart 中,而 chart 被保存到 chart 仓库 ...

  10. 利用Kubernetes中的leaderelection实现组件高可用

    在Kubernetes中,通常kube-schduler和kube-controller-manager都是多副本进行部署的来保证高可用,而真正在工作的实例其实只有一个.这里就利用到 leaderel ...

随机推荐

  1. WPS HW 漏洞 学习

    复现过程 2023 年 HW 出现 WPS 0day POC 影响版本: WPS Office 2023个人版<11.1.0.15120 WPS Office 2019企业版<11.8.2 ...

  2. React 逃离闭包陷阱

    众所周知,JavaScript 中的闭包(Closures)一定是这种语言最可怕的特性之一,即使是无所不知的 ChatGPT 也是这样说的.另外它可能也是最隐蔽的语言特性之一,我们在编写 React  ...

  3. vue中img标签图片 加载时 与 加载失败 的处理方法

    开发过程中经常需要和图片处理打交道,看了网上很多有关图片处理的方法,都是讲解得一知半解,没有比较全面的总结.下面,将简单总结一个我们通过vue去处理img标签过程中,图片加载时,与图片加载失败时的处理 ...

  4. TortoiseGit安装、配置(Git 小乌龟安装)

    1 TortoiseGit简介 tortoiseGit是一个开放的git版本控制系统的源客户端,支持Winxp/vista/win7.该软件功能和git一样 不同的是:git是命令行操作模式,tort ...

  5. Oracle 与当前日期有关的内容

    Oracle 与当前日期有关的内容 求当前日期是周几: 大概就是下面这种方法 to_char(date,'D') Select to_char(date,'ss') from dual取当前时间秒部分 ...

  6. 力扣180(MySQL)-连续出现的数字(中等)

    题目: 编写一个 SQL 查询,查找所有至少连续出现三次的数字. 返回的结果表中的数据可以按 任意顺序 排列. 查询结果格式如下面的例子所示: 解题思路: 原表数据: 方法一: 使用内连接(inner ...

  7. 阿里云 EMR Delta Lake 在流利说数据接入中的架构和实践

    简介: 为了消灭数据孤岛,企业往往会把各个组织的数据都接入到数据湖以提供统一的查询或分析.本文将介绍流利说当前数据接入的整个过程,期间遇到的挑战,以及delta在数据接入中产生的价值. 背景 流利说目 ...

  8. 谈AK管理之基础篇 - 如何进行访问密钥的全生命周期管理?

    简介: 我们也常有听说例如AK被外部攻击者恶意获取,或者员工无心从github泄露的案例,最终导致安全事故或生产事故的发生.AK的应用场景极为广泛,因此做好AK的管理和治理就尤为重要了.本文将通过两种 ...

  9. 技术干货 | Native 页面下如何实现导航栏的定制化开发?

    ​简介: 通过不同实际场景的描述,供大家参考完成 Native 页面的定制化开发. ​ 很多 mPaaS Coder 在接入 H5 容器后都会对容器的导航栏进行深度定制,本文旨在通过不同实际场景的描述 ...

  10. dotnet SemanticKernel 入门 调用原生本机技能

    本文将告诉大家如何在 SemanticKernel 里面调用原生本机技能,所谓原生本机技能就是使用 C# 代码编写的原生本地逻辑技能,这里的技能可讲的可不是游戏角色里面的技能哈,指的是实现某个功能的技 ...