Apollo配置中心

GItHub:https://github.com/apolloconfig/apollo

官方文档:https://www.apolloconfig.com/#/zh/usage/apollo-user-guide

官方初始化Sql

https://github.com/apolloconfig/apollo-quick-start/tree/master/sql

 

优秀部署文章:https://blog.csdn.net/weixin_43515220/article/details/113623874

一、概念信息

1. 关键概念

为了避免参数变化引起的频繁的程序改动,通常我们在应用程序中将常用的一些系统参数、启动参数、数据库参数等等写到配置文件或其他的存储介质里面。

Apollo中的几个核心概念:

  1. application (应用):当前使用apollo的集中配置管理的应用程序
  2. environment (环境):生产、测试、开发环境等。或者操作系统的环境:windows、linux等。
  3. xxxxxxxxxx ​yaml
  4. namespace (命名空间):多个应用之间存在公共应用组件,为公共应用组件配置设置namespace(标签)。方便其他应用引用其配置。

2. 特性

 

Apollo主要模块

  1. Config Service

    提供配置获取、配置更新推送的接口; 主要服务于Apollo客户端;

     

  2. Admin Service

    提供配置管理、修改、发布等接口; 主要服务于Portal;

     

  3. Meta Server

    为Portal提供获取 Admin Service 服务列表; 为Client提供获取 Config Service 服务列表;

     

  4. Eureka

    提供服务注册和发现功能(基于Eureka和Spring Cloud Netflix); Config Service和Admin Service会向Eureka注册服务,并保持心跳; 为了简单起见,目前Eureka在部署时和Config Service是在一个JVM进程中的(通过Spring Cloud Netflix);

     

  5. Portal

    提供Web界面供用户管理配置; 通过Meta Server获取Admin Service服务列表(IP+Port),通过IP+Port访问服务; 在Portal侧做load balance、错误重试;

     

  6. Client

    Apollo提供的客户端程序,为应用提供配置获取、实时更新等功能; 通过Meta Server获取Config Service服务列表(IP+Port),通过IP+Port访问服务; 在Client侧做load balance、错误重试;

     

     

二、k8s分布式部署

1. 环境要求:

2. Apollo部署内容分布

修改values.yaml文件中的配置

修改values.yaml文件中的配置

因服务不能对外访问,需要增加yaml配置对外映射服务端口

仅对 apollo-configservice、apollo-potal 两个服务对外映射

3. 后记命令

三、Apollo使用

1. Apollo使用方式

portal为界面管理地址为{IP}+{apllo-svc-portal-node-port服务对外映射端口号}

界面登录默认账号:apollo

界面登录默认密码:admin

config为客户端调用 地址为{IP}+{apllo-svc-config-node-port服务对外映射端口号}

2. Apollo初始化

  1. 右侧菜单系统参数 输入organizations 查询部门参数创建新部门
  2. 添加设置AppId: tsmicronet

默认application 私有 properties 命名空间

此命名空间是本AppId下通用的

需要手动创建通用配置

 

创建identityserver 私有 json 命名空间

3. Dapr中的配置

创建初始化秘钥文件,并执行。