一、背景信息
以后文档形容如何通过云原生利用治理平台 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
,这也是配置中只定义域名,而不须要定义端口的起因。
四、高级个性
4.1 实例数量伸缩
Apollo 配置核心所蕴含的 Apollo-portal-1.9.2
Apollo-config-1.9.2
Apollo-admin-1.9.2
组件均应用 Deployment 控制器部署,通过 Rainbond 内置的 Service Mesh 微服务框架实现服务发现与通信。故而这三个组件均能够一键扩大多个实例,实现集群化部署。
以 Apollo-portal-1.9.2
为例,点击 伸缩 ,批改 实例数量 后,点击 设置 即可。
4.2 追加环境
Apollo 配置核心反对对接多套环境,并应用对立的 Portal 页面进行治理。基于 Rainbond 一键装置而来的 Apollo 集群默认附带了 PRO
环境。接下来解说在 Rainbond 场景中,如何追加一套 DEV
环境,假如在 DEV
环境中,通过 apollo-config-dev
、apollo-admin-dev
来别离拜访 Apollo-config-Dev
Apollo-admin-Dev
组件。
- 再部署一套 Apollo 集群,并去除新集群中
Apollo-portal-1.9.2
ApolloPortalDB
组件。为了便于管理,批改Apollo-config-1.9.2
Apollo-admin-1.9.2
组件的名称。增加Apollo-portal-1.9.2
到Apollo-config-Dev
Apollo-admin-Dev
的依赖。拓扑展现如下:
留神,这个步骤会触发连贯信息环境变量抵触的状况,记得为
Apollo-config-Dev
Apollo-admin-Dev
组件的对内端口,从新定义你喜爱的名字。
- 在 环境配置 页面,批改
Apollo-config-Dev
的配置文件/apollo-configservice/config/application-github.properties
,将 config 和 admin 的服务地址批改成为预期的值。
- 别离进入
Apollo-config-Dev
Apollo-portal-1.9.2
的插件页面,为其进口网络治理插件批改配置,Rainbond 内置的微服务框架,通过设定的域名(Domains)来定义上游服务的拜访地址。以Apollo-portal-1.9.2
为例,须要配置到Apollo-config-Dev
Apollo-admin-Dev
的拜访域名。
配置实现后点击 更新配置, Apollo-portal-1.9.2
就能够通过 apollo-config-dev 这个域名拜访到 Apollo-config-Dev
。
同理,Apollo-config-Dev
须要配置到 Apollo-admin-Dev
的拜访域名。配置实现后更新配置。
- 批改
Apollo-portal-1.9.2
的配置,来退出新的DEV
环境。
批改环境变量 APOLLO_PORTAL_ENVS
的值,退出 dev
环境。
批改配置文件 /apollo-portal/config/apollo-env.properties
,写入 dev
环境的 meta 地址。
更新 Apollo-portal-1.9.2
组件,使所有配置失效。查看零碎信息,验证环境退出实现。