在Rainbond上部署高可用Apollo集群
当前文档描述如何通过云原生应用管理平台 Rainbond 一键安装高可用 Apollo 集群。这种方式适合给不太了解 Kubernetes、容器化等复杂技术的用户使用,降低了在 Kubernetes 中部署 Apollo 的门槛。
一、背景信息
1.1 Rainbond 与 Apollo 的结合
Rainbond 是一款易于使用的开源云原生应用管理平台。
借助于它,用户可以在图形化界面中完成微服务的部署与运维。
借助 Kubernetes 和容器化技术的能力,将故障自愈、弹性伸缩等自动化运维能力赋能给用户的业务。
Rainbond 内置原生 Service Mesh 微服务框架,同时与 Spring Cloud、Dubbo 等其他微服务框架也有很好的整合体验。
故而大量的 Rainbond 用户也可能是 Apollo 分布式配置管理中心的用户。
这类用户 不必再关心如何部署 Apollo 集群,Rainbond 团队将 Apollo 制作成为可以一键部署的应用模版,供开源用户免费下载安装。
这种安装方式极大的降低了用户使用 Apollo 集群的部署负担,目前支持 1.9.2 版本。
当前的安装方式,默认集成了一套 PRO
环境,追加其他环境,参见后文中的高级特性章节。
1.2 关于应用模版
应用模版是面向 Rainbond 云原生应用管理平台的安装包,用户可以基于它一键安装业务系统到自己的 Rainbond 中去。无论这个业务系统多么复杂,应用模版都会将其抽象成为一个应用,裹挟着应用内所有组件的镜像、配置信息以及所有组件之间的关联关系一并安装起来。
二、前提条件
-
部署好的 Rainbond 云原生应用管理平台:例如 快速体验版本,可以在个人 PC 环境中以启动一个容器的代价运行。
-
可以连接到互联网。
三、快速开始
3.1 访问内置的开源应用商店
选择左侧的 应用市场 标签页,在页面中切换到 开源应用商店 标签页,搜索关键词 apollo 即可找到 Apollo 应用。
3.2 一键安装
点击 Apollo 右侧的 安装 可以进入安装页面,填写简单的信息之后,点击 确定 即可开始安装,页面自动跳转到拓扑视图。
参数说明:
选择项 | 说明 |
---|---|
团队名称 | 用户自建的工作空间,以命名空间隔离 |
集群名称 | 选择 Apollo 被部署到哪一个 K8s 集群 |
选择应用 | 选择 Apollo 被部署到哪一个应用,应用中包含有若干有关联的组件 |
应用版本 | 选择 Apollo 的版本,目前可选版本为 1.9.2 |
等待几分钟后,Apollo 集群就会安装完成,并运行起来。
3.3 测试
访问组件 Apollo-portal-1.9.2
所提供的默认域名,即可登录 Apollo 控制台,在系统信息中,验证 PRO
环境已经就绪。
3.4 配置
在 Rainbond 中,可以基于图形化界面对 Apollo 集群进行配置。主要包括环境变量、配置文件挂载、插件配置三个方面。
-
环境变量:通过在不同的组件页面中的环境配置中,可以自定义环境变量。比如为
Apollo-portal-1.9.2
默认添加了APOLLO_PORTAL_ENVS=pro
用于定义当前 portal 纳管的环境。 -
配置文件:通过在不同的组件页面中的环境配置中,可以为组件设置配置文件。
-
Apollo-portal-1.9.2
挂载/apollo-portal/config/apollo-env.properties
用于定义不同环境的 meta 地址。 -
Apollo-config-1.9.2
挂载/apollo-configservice/config/application-github.properties
用于声明当前环境 config 和 admin 的服务地址。
-
-
插件配置:在 Rainbond 中通过为
Apollo-portal-1.9.2
Apollo-config-1.9.2
安装出口网络治理插件来定义下游调用地址,这是一种 Service Mesh 微服务治理的实现方式。通过定义下游服务的域名,来访问下游服务的指定端口。如在Apollo-portal-1.9.2
的插件中,访问Apollo-config-1.9.2
8080 端口的域名为apollo-config-pro
,这也是配置中只定义域名,而不需要定义端口的原因。