一、背景信息

当前文档描述如何通过云原生应用管理平台 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-devapollo-admin-dev来分别访问 Apollo-config-Dev Apollo-admin-Dev 组件。

  1. 再部署一套 Apollo 集群,并去除新集群中 Apollo-portal-1.9.2 ApolloPortalDB组件。为了便于管理,修改 Apollo-config-1.9.2 Apollo-admin-1.9.2 组件的名称。添加 Apollo-portal-1.9.2Apollo-config-Dev Apollo-admin-Dev 的依赖。拓扑展示如下:

注意,这个步骤会触发连接信息环境变量冲突的情况,记得为 Apollo-config-Dev Apollo-admin-Dev 组件的对内端口,重新定义你喜欢的名字。

  1. 环境配置 页面,修改 Apollo-config-Dev 的配置文件 /apollo-configservice/config/application-github.properties ,将 config 和 admin 的服务地址修改成为预期的值。

  1. 分别进入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 的访问域名。配置完成后更新配置。

  1. 修改 Apollo-portal-1.9.2 的配置,来加入新的 DEV 环境。

修改环境变量 APOLLO_PORTAL_ENVS 的值,加入 dev 环境。

修改配置文件 /apollo-portal/config/apollo-env.properties ,写入 dev 环境的 meta 地址。

更新 Apollo-portal-1.9.2 组件,使所有配置生效。查看系统信息,验证环境加入完成。

在Rainbond上部署高可用Apollo集群的更多相关文章

  1. 【云原生 · Kubernetes】部署高可用kube-scheduler集群

    个人名片: 因为云计算成为了监控工程师‍ 个人博客:念舒_C.ying CSDN主页️:念舒_C.ying 部署高可用kube-scheduler集群 13.1 创建 kube-scheduler 证 ...

  2. 【云原生 · Kubernetes】部署高可用 kube-controller-manager 集群

    个人名片: 因为云计算成为了监控工程师‍ 个人博客:念舒_C.ying CSDN主页️:念舒_C.ying 部署高可用 kube-controller-manager 集群 12.1 创建 kube- ...

  3. 基于kubeasz部署高可用k8s集群

    在部署高可用k8s之前,我们先来说一说单master架构和多master架构,以及多master架构中各组件工作逻辑 k8s单master架构 提示:这种单master节点的架构,通常只用于测试环境, ...

  4. hype-v上centos7部署高可用kubernetes集群实践

    概述 在上一篇中已经实践了 非高可用的bubernetes集群的实践 普通的k8s集群当work node 故障时是高可用的,但是master node故障时将会发生灾难,因为k8s api serv ...

  5. K3S系列文章-使用AutoK3s在腾讯云上安装高可用K3S集群

    开篇 <K3s 系列文章> <Rancher 系列文章> 方案 在腾讯云上安装 K3S 后续会在这套 K3S 集群上安装 Rancher 方案目标 高可用 3 台master ...

  6. 基于saltstack自动化部署高可用kubernetes集群

    SaltStack自动化部署HA-Kubernetes 本项目在GitHub上,会不定期更新,大家也可以提交ISSUE,地址为:https://github.com/skymyyang/salt-k8 ...

  7. Rancher 2.2.2 - HA 部署高可用k8s集群

    对于生产环境,需以高可用的配置安装 Rancher,确保用户始终可以访问 Rancher Server.当安装在Kubernetes集群中时,Rancher将与集群的 etcd 集成,并利用Kuber ...

  8. kubeadm部署高可用K8S集群(v1.14.2)

    1. 简介 测试环境Kubernetes 1.14.2版本高可用搭建文档,搭建方式为kubeadm 2. 服务器版本和架构信息 系统版本:CentOS Linux release 7.6.1810 ( ...

  9. 基于Containerd安装部署高可用Kubernetes集群

    转载自:https://blog.weiyigeek.top/2021/7-30-623.html 简述 Kubernetes(后续简称k8s)是 Google(2014年6月) 开源的一个容器编排引 ...

  10. Kubeadm部署高可用K8S集群

    一 基础环境 1.1 资源 节点名称 ip地址 VIP 192.168.12.150 master01 192.168.12.48 master02 192.168.12.242 master03 1 ...

随机推荐

  1. centos8 \CentOS 9 Stream rpm 安装mysql8.0.28

    centos8 rpm 安装mysql8.0.28 检查 检测系统是否自带安装 MySQL 命令如下: rpm -qa | grep mysql 如果如下存在已安装的包,就需要卸载 mysql80-c ...

  2. MyBatis 核心配置讲解(上)

    大家好,我是王有志,一个分享硬核 Java 技术的互金摸鱼侠. 前两篇的文章中我们分别介绍了 MyBatis 和 MyBaits 的应用组成,到这里基础篇的内容就结束了. 从今天开始,我们正式进入 M ...

  3. 力扣92(java&python)-反转链表Ⅱ(中等)

    题目: 给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right .请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 . ...

  4. Apsara Stack 技术百科 | 联结良性生态,筑千行百业的数字基石

    ​简介:作为现今IT领域最重要的课题:基础设施云化,离不开与伙伴的携手合作,如何让云上解决方案能充分释放价值的同时形成一个相互依存的自循环生态系统,混合云君来跟你聊聊! ​ 生态系统这个词在维基百科上 ...

  5. 深度解析|基于 eBPF 的 Kubernetes 一站式可观测性系统

    ​简介:阿里云 Kubernetes 可观测性是一套针对 Kubernetes 集群开发的一站式可观测性产品.基于 Kubernetes 集群下的指标.应用链路.日志和事件,阿里云 Kubernete ...

  6. 浏览器扩展开发-Firefox临时载入附加组件(图)

    科普:[FE] Quasar BEX 热加载区别: Chrome vs Firefox 1. 2.  3. Thats all. Refer:Firefox扩展开发 Link:https://www. ...

  7. [ML] 机器学习的 7 步流程

    Gathering Data. Preparing that Data. Choosing a Model. Training. Evaluation. Hyperparameter Tuning. ...

  8. WPF 通过 GifBitmapDecoder 调用 WIC 解析 Gif 和进行动画播放的简单方法

    本文告诉大家如何在 WPF 里,通过 GifBitmapDecoder 调用 WIC 层来解析 GIF 图片,然后采用动画的方式进行播放 在上一篇博客告诉大家,可以通过 GifBitmapDecode ...

  9. WPF 实现自定义的笔迹橡皮擦

    本文来告诉大家使用比较底层的方法来实现 WPF 的笔迹橡皮擦 在 WPF 里面,对于笔迹来说,应该放在 Stroke 类里面,而不是作为点的集合存储.在 Stroke 类里面将作为管理笔迹的类提供笔迹 ...

  10. WPF 解决 Skia 因为找不到字体而绘制不出中文字符

    在 WPF 使用 Skia 做渲染工具,如果绘制的中文都是方块,也许是字体的问题.字体的问题是 Skia 没有找到字体,本文告诉大家如何修复 在 Skia 使用特定字体,可以使用 SkiaSharp ...