本文适用于正在使用 Rancher 或对 Rancher 有所了解的用户。本文作者:好雨云交付工程师 张齐。
本文将介绍:
-
如何在Rancher中安装Rainbond控制台。
-
Rainbond如何对接Rancher管理的Kubernetes集群。
-
演示安装完整流程供用户参考。
参考视频:https://www.bilibili.com/video/BV1a54y1n7Ch/
前提要求
具有一套稳定可用的 Rancher 环境,若还没有可参考 Rancher 安装部署文档
Kubernetes 集群具有至少 4GB 以上的空闲调度内存
Kubernetes 版本在 1.13 ~1.19区间
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://gitee.com/rainbond/rainbond-console.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、关闭交换分区等等。
如果您对Rainbond项目感兴趣,如果您有一些疑问,如果您对云原生、Kubernetes等技术感兴趣,欢迎加入Rainbond 社区钉钉群。