基于Rancher安装Rainbond
本文适用于正在使用 Rancher 或对 Rancher 有所了解的用户。
本文将介绍:
- 如何在 Rancher 中安装 Rainbond 控制台。
- Rainbond 如何对接 Rancher 管理的 Kubernetes 集群。
- 演示安装完整流程供用户参考。
前提要求
具有一套稳定可用的 Rancher 环境,若还没有可参考 Rancher 安装部署文档
Kubernetes 集群具有至少 4GB 以上的空闲调度内存
Kubernetes 版本最低要求1.19.x
Kubernetes 集群至少有一个 80⁄443 端口未被占用的节点,用于 Rainbond 网关部署。
Kubernetes 集群存在可用的
StorageClass
如果集群内没有 StorageClass,可以参考 https://artifacthub.io/packages/helm/kvaps/nfs-server-provisioner
如
StorageClass
是 NFS,则需要在集群内安装 NFS 客户端。如果没有安装,可以参考:# CentOS 系统
yum install -y nfs-utils
# Ubuntu/Debian 系统
apt install -y nfs-common
开始安装
添加 Rainbond Console 到应用商店
将 Rainbond Console 添加到 Rancher 的应用商店中。
在应用商店页面中,单击添加应用商店
输入名称(比如 Rainbond-Console)和 商店 URL 地址 输入
https://github.com/goodrain/rainbond-chart.git
分支选择master、 Helm 版本选择Helm v3
单击创建完成应用商店添加。
回到应用商店页面中,单击启动
单击刷新,等 Rancher 同步完后,就可以看到刚才新加的 Rainbond Console 了。
安装 Rainbond Console
在 Rancher 商店中启动 Rainbond Console。
单击识别出的 rainbond-console Chart,开始 Chart 的安装。
选择命名空间或新创建命名空间。
修改一些启动配置:
可选使用默认镜像或自定义镜像。
可选择手动填写或自动生成 Mysql、Redis 密码。
选择存储类。
设置 Rainbond-Console NodePort 端口。
- 填写完成后,点击启动,创建 Rainbon-console。
- 等待所有 POD 启动完成后,访问上面设置的
Rainbond-Console NodePort
端口,默认是30707
。
访问 Rainbond-Console,对接已有集群
根据页面提示完成账号注册,进入集群安装页面,选择 接入 Kubernetes 集群,填写集群的kubeconfig
文件内容,开始 Rainbond 集群的安装。
在安装之前,如需要配置集群初始化参数,则点击下图红框中的内容填写初始化参数配置。
集群初始化配置参考示例:
集群初始化详细参数配置请参考文档。
Rainbond 集群初始化默认会安装 NFS-Server,集群中已存在 storageClassName 可以复用此存储。
metadata:
name: rainbondcluster
spec:
#设置Rainbond对外网关IP,可以是公网IP或负载均衡
gatewayIngressIPs:
- 39.103.228.113
#设置网关节点IP
nodesForGateway:
#内网IP
- internalIP: xxxx
# 节点hostname
name: xxxx
#指定集群中的 storageClass
rainbondVolumeSpecRWX:
storageClassName: nfs-server
了解 Rancher 用户使用 Rainbond 的优势
- 无需深入学习 Kubernetes 各类资源的使用方式
Rainbond 使用云原生应用模型的方式提供给用户智能化、简单的应用开发管理模式。不管是简单应用还是复杂的微服务架构,整个开发部署过程无需开发者深入学习 Kubernetes 相关知识。
- 标准的云原生 12 要素应用管理模式
你或许听说过云原生 12 要素,作为目前推荐的云原生应用开发模式。Rainbond 应用模型对云原生 12 要素进行了充分的实践,使用 Rainbond,天然地使你的代码满足云原生要求。
- 从源代码到云端
常用的开发语言(Java、PHP、Python、Golang、NodeJS、.NetCore)无需定义 Dockerfile、无需定义 Kubernetes 部署方式即可完成持续构建、持续部署。
- 标准应用多集群交付
Rainbond 提供多种方式便于开发者在多个集群,多个环境中快速交付应用,获取 SaaS 化应用交付体验。
- 微服务架构
Rainbond 内置 ServiceMesh 微服务架构治理框架,所有部署组件按照微服务的治理思路进行管理,微服务治理功能开箱即用的。
参考视频
常见问题
- Rancher 已经部署的应用能否直接由 Rainbond 接管
这个问题是大多数用户的疑问,我们希望达成 Rainbond 可以自动化的接管 Rancher 部署的应用。然而遗憾的是由于 Rancher 即同类型平台部署应用时目前都不会遵循标准规范(比如OAM),导致我们很难 100% 兼容的转换 Rancher 已经部署的应用成为 Rainbond 应用模型。因此目前我们还是推荐用户直接使用 Rainbond 提供的基于源代码、基于镜像快速的重新部署应用(相对于部分转化后再进行人工干预优化更节省时间)。同时也便于用户在这个过程中了解 Rainbond 应用管理的机制和流程。
- Rainbond 部署的应用是否可以从 Rancher 视图中进行管理
Rainbond 部署到 Kubernetes 集群中的资源都是由 Rainbond 控制器进行创建、升级和回收,使用 Rainbond 定义的资源创建规范。我们并不推荐用户在 Rancher 中直接对这些资源进行修改。但可以进行观测,比如日志观测、资源监控观测等等。
- 通过 Rancher 安装 Rainbond-console POD 一直处于不可用状态
首先排查 POD 之间是否可以通信,如不能通信则需做些优化,比如:开启内核转发、关闭 Firewalld、关闭交换分区等等。