服务配置管理
本文介绍平台的服务配置的管理原理。
大部分服务的配置信息有三个来源:
- 命令行参数
- 配置文件,配置文件路径一般在 /etc/yunion/<service_name>.conf
- Keystone中保存的服务配置
如果一个参数在三个来源都有设置,则越排在后的配置来源优先级最高。
命令行参数
服务配置首先通过命令行参数设置,如果存在 --config 的配置,则会加载 --config 指定的配置文件的内容,根据配置文件的内容设置参数。
以下配置项是只能通过命令行指定的参数:
| 配置项 | 类型 | 说明 |
|---|---|---|
| config | string | 指定配置文件路径 |
| help | bool | 显示帮助信息并退出 |
| version | bool | 显示版本信息并退出 |
| pid_file | string | pid文件路径 |
配置文件
配置文件格式可以是Key=Value的方式设置参数,也可以是YAML的格式。配置文件的配置项在服务器启动时由服务程序从配置文件中一次性读取,程序启动后对配置文件的修改不会被动态加载。
部分服务则会进一步地从keystone的服务配置中加载配置信息,并且监听keystone的服务配置的变化,动态地更新服务配置。
并不是所有配置项都能从keystone的服务配置中动态加载。以下配置项是只能通过命令行参数或者文件配置指定的参数。这些配置项主要包含服务的认证信息,数据库配置信息等。
| 配置项 | 类型 | 说明 |
|---|---|---|
| region | string | 服务实例归属区域的名称, 一般为 region0 |
| application_id | string |