配置项
介绍Pigsty中的配置项及其分类
配置项分类
Pigsty的配置项总计168个,按照领域分为以下10大类。
No | 类目 | 英文 | 大类 | 数量 | 功能 |
---|---|---|---|---|---|
1 | 连接参数 | connect | 基础设施 | 1 | 代理服务器配置,管理对象的连接信息 |
2 | 本地仓库 | repo | 基础设施 | 1 | 定制本地Yum源,离线安装包 |
3 | 节点供给 | node | 基础设施 | 30 | 在普通节点上配置基础设施 |
4 | 基础设施 | meta | 基础设施 | 23 | 在元节点上安装启用基础设施服务 |
5 | 元数据库 | dcs | 基础设施 | 8 | 在所有节点上配置DCS服务(consul/etcd) |
6 | PG安装 | pg-install | 数据库 | 11 | 安装PostgreSQL数据库 |
7 | PG供给 | pg-provision | 数据库 | 31 | 拉起PostgreSQL数据库集群 |
8 | PG模板 | pg-template | 数据库 | 19 | 定制PostgreSQL数据库内容 |
9 | 监控系统 | monitor | 数据库 | 18 | 安装Pigsty数据库监控系统 |
10 | 服务供给 | service | 数据库 | 17 | 通过Haproxy或VIP对外暴露数据库服务 |
配置项粒度
Pigsty的参数可以在不同的粒度进行配置。
Pigsty默认提供三种粒度:全局,集群,实例。
在Pigsty的配置文件中,配置项 可以出现在三种位置。
粒度 | 范围 | 优先级 | 说明 | 位置 |
---|---|---|---|---|
Global | 全局 | 低 | 在同一套部署环境内一致 | all.vars.xxx |
Cluster | 集群 | 中 | 在同一套集群内保持一致 | all.children.<cls>.vars.xxx |
Instance | 实例 | 高 | 最细粒度的配置层次 | all.children.<cls>.hosts.<ins>.xxx |
每一个配置项都由一对键值组成。键是配置项的名称,值是配置项的内容。值的类型各异
集群vars
中定义的配置项会以同名键覆盖的方式覆盖全局配置项,实例中定义的配置项又会覆盖集群配置项与全局配置项。因此用户可以有的放矢,可以在不同层次,不同粒度上针对具体集群与具体实例进行精细配置。
除了配置项粒度中指定的三种配置粒度,Pigsty配置项目中还有两种额外的优先级。
- 默认:当一个配置项在全局/集群/实例级别都没有出现时,将使用默认配置项。默认值的优先级最低,所有配置项都有默认值。
- 参数:当用户通过命令行传入参数时,参数指定的配置项具有最高优先级,将覆盖一切层次的配置。一些配置项只能通过命令行参数的方式指定与使用。
层级 | 来源 | 优先级 | 说明 | 位置 |
---|---|---|---|---|
Default | 默认 | 最低 | 代码逻辑定义的默认值 | roles/<role>/default/main.yml |
Global | 全局 | 低 | 在同一套部署环境内一致 | all.vars.xxx |
Cluster | 集群 | 中 | 在同一套集群内保持一致 | all.children.<cls>.vars.xxx |
Instance | 实例 | 高 | 最细粒度的配置层次 | all.children.<cls>.hosts.<ins>.xxx |
Argument | 参数 | 最高 | 通过命令行参数传入 | -e |
配置项列表
类目 | 名称 | 类型 | 层级 | 说明 |
---|---|---|---|---|
连接参数 | proxy_env | dict |
G | 代理服务器配置 |
本地仓库 | repo_enabled | bool |
G | 是否启用本地源 |
本地仓库 | repo_name | string |
G | 本地源名称 |
本地仓库 | repo_address | string |
G | 本地源外部访问地址 |
本地仓库 | repo_port | number |
G | 本地源端口 |
本地仓库 | repo_home | string |
G | 本地源文件根目录 |
本地仓库 | repo_rebuild | bool |
A | 是否重建Yum源 |
本地仓库 | repo_remove | bool |
A | 是否移除已有Yum源 |
本地仓库 | repo_upstreams | object[] |
G | Yum源的上游来源 |
本地仓库 | repo_packages | string[] |
G | Yum源需下载软件列表 |
本地仓库 | repo_url_packages | string[] |
G | 通过URL直接下载的软件 |
节点供给 | nodename | string |
I | 若指定,覆盖机器HOSTNAME |
节点供给 | node_dns_hosts | string[] |
G | 写入机器的静态DNS解析 |
节点供给 | node_dns_server | enum |
G | 如何配置DNS服务器? |
节点供给 | node_dns_servers | string[] |
G | 配置动态DNS服务器 |
节点供给 | node_dns_options | string[] |
G | 配置/etc/resolv.conf |
节点供给 | node_repo_method | enum |
G | 节点使用Yum源的方式 |
节点供给 | node_repo_remove | bool |
G | 是否移除节点已有Yum源 |
节点供给 | node_local_repo_url | string[] |
G | 本地源的URL地址 |
节点供给 | node_packages | string[] |
G | 节点安装软件列表 |
节点供给 | node_extra_packages | string[] |
C/I/A | 节点额外安装的软件列表 |
节点供给 | node_meta_packages | string[] |
G | 元节点所需的软件列表 |
节点供给 | node_disable_numa | bool |
G | 关闭节点NUMA |
节点供给 | node_disable_swap | bool |
G | 关闭节点SWAP |
节点供给 | node_disable_firewall | bool |
G | 关闭节点防火墙 |
节点供给 | node_disable_selinux | bool |
G | 关闭节点SELINUX |
节点供给 | node_static_network | bool |
G | 是否使用静态DNS服务器 |
节点供给 | node_disk_prefetch | string |
G | 是否启用磁盘预读 |
节点供给 | node_kernel_modules | string[] |
G | 启用的内核模块 |
节点供给 | node_tune | enum |
G | 节点调优模式 |
节点供给 | node_sysctl_params | dict |
G | 操作系统内核参数 |
节点供给 | node_admin_setup | bool |
G | 是否创建管理员用户 |
节点供给 | node_admin_uid | number |
G | 管理员用户UID |
节点供给 | node_admin_username | string |
G | 管理员用户名 |
节点供给 | node_admin_ssh_exchange | bool |
G | 在实例间交换管理员SSH密钥 |
节点供给 | node_admin_current_pk | bool |
A | 将当前用户的公钥加入管理员账户 |
节点供给 | node_admin_pks | string[] |
G | 可登陆管理员的公钥列表 |
节点供给 | node_ntp_service | enum |
G | NTP服务类型:ntp或chrony |
节点供给 | node_ntp_config | bool |
G | 是否配置NTP服务? |
节点供给 | node_timezone | string |
G | NTP时区设置 |
节点供给 | node_ntp_servers | string[] |
G | NTP服务器列表 |
基础设施 | ca_method | enum |
G | CA的创建方式 |
基础设施 | ca_subject | string |
G | 自签名CA主题 |
基础设施 | ca_homedir | string |
G | CA证书根目录 |
基础设施 | ca_cert | string |
G | CA证书 |
基础设施 | ca_key | string |
G | CA私钥名称 |
基础设施 | nginx_upstream | object[] |
G | Nginx上游服务器 |
基础设施 | dns_records | string[] |
G | 动态DNS解析记录 |
基础设施 | prometheus_data_dir | string |
G | Prometheus数据库目录 |
基础设施 | prometheus_options | string |
G | Prometheus命令行参数 |
基础设施 | prometheus_reload | bool |
A | Reload而非Recreate |
基础设施 | prometheus_sd_method | enum |
G | 服务发现机制:static|consul |
基础设施 | prometheus_scrape_interval | interval |
G | Prom抓取周期 |
基础设施 | prometheus_scrape_timeout | interval |
G | Prom抓取超时 |
基础设施 | prometheus_sd_interval | interval |
G | Prom服务发现刷新周期 |
基础设施 | grafana_url | string |
G | Grafana地址 |
基础设施 | grafana_admin_password | string |
G | Grafana管理员密码 |
基础设施 | grafana_plugin | enum |
G | 如何安装Grafana插件 |
基础设施 | grafana_cache | string |
G | Grafana插件缓存地址 |
基础设施 | grafana_customize | bool |
G | 是否定制Grafana |
基础设施 | grafana_plugins | string[] |
G | 安装的Grafana插件列表 |
基础设施 | grafana_git_plugins | string[] |
G | 从Git安装的Grafana插件 |
基础设施 | loki_clean | bool |
A | 是否在安装Loki时清理数据库目录 |
基础设施 | loki_data_dir | string |
G | Loki的数据目录 |
元数据库 | service_registry | enum |
G/C/I | 服务注册的位置 |
元数据库 | dcs_type | enum |
G | 使用的DCS类型 |
元数据库 | dcs_name | string |
G | DCS集群名称 |
元数据库 | dcs_servers | dict |
G | DCS服务器名称:IP列表 |
元数据库 | dcs_exists_action | enum |
G/A | 若DCS实例存在如何处理 |
元数据库 | dcs_disable_purge | bool |
G/C/I | 完全禁止清理DCS实例 |
元数据库 | consul_data_dir | string |
G | Consul数据目录 |
元数据库 | etcd_data_dir | string |
G | Etcd数据目录 |
PG安装 | pg_dbsu | string |
G/C | PG操作系统超级用户 |
PG安装 | pg_dbsu_uid | number |
G/C | 超级用户UID |
PG安装 | pg_dbsu_sudo | enum |
G/C | 超级用户的Sudo权限 |
PG安装 | pg_dbsu_home | string |
G/C | 超级用户的家目录 |
PG安装 | pg_dbsu_ssh_exchange | bool |
G/C | 是否交换超级用户密钥 |
PG安装 | pg_version | string |
G/C | 安装的数据库大版本 |
PG安装 | pgdg_repo | bool |
G/C | 是否添加PG官方源? |
PG安装 | pg_add_repo | bool |
G/C | 是否添加PG相关源? |
PG安装 | pg_bin_dir | string |
G/C | PG二进制目录 |
PG安装 | pg_packages | string[] |
G/C | 安装的PG软件包列表 |
PG安装 | pg_extensions | string[] |
G/C | 安装的PG插件列表 |
PG供给 | pg_cluster | string |
C | PG数据库集群名称 |
PG供给 | pg_seq | number |
I | PG数据库实例序号 |
PG供给 | pg_role | enum |
I | PG数据库实例角色 |
PG供给 | pg_hostname | bool |
G/C | 将PG实例名称设为HOSTNAME |
PG供给 | pg_nodename | bool |
G/C | 将PG实例名称设为Consul节点名 |
PG供给 | pg_exists | bool |
A | 标记位,PG是否已存在 |
PG供给 | pg_exists_action | enum |
G/A | PG存在时如何处理 |
PG供给 | pg_disable_purge | enum |
G/C/I | 禁止清除存在的PG实例 |
PG供给 | pg_data | string |
G | PG数据目录 |
PG供给 | pg_fs_main | string |
G | PG主数据盘挂载点 |
PG供给 | pg_fs_bkup | path |
G | PG备份盘挂载点 |
PG供给 | pg_listen | ip |
G | PG监听的IP地址 |
PG供给 | pg_port | number |
G | PG监听的端口 |
PG供给 | pg_localhost | string |
G/C | PG使用的UnixSocket地址 |
PG供给 | pg_upstream | string |
I | 实例的复制上游节点 |
PG供给 | pg_backup | bool |
I | 是否在实例上存储备份 |
PG供给 | pg_delay | interval |
I | 若实例为延迟从库,采用的延迟时长 |
PG供给 | patroni_mode | enum |
G/C | Patroni配置模式 |
PG供给 | pg_namespace | string |
G/C | Patroni使用的DCS命名空间 |
PG供给 | patroni_port | string |
G/C | Patroni服务端口 |
PG供给 | patroni_watchdog_mode | enum |
G/C | Patroni Watchdog模式 |
PG供给 | pg_conf | enum |
G/C | Patroni使用的配置模板 |
PG供给 | pg_encoding | string |
G/C | PG字符集编码 |
PG供给 | pg_locale | enum |
G/C | PG使用的本地化规则 |
PG供给 | pg_lc_collate | enum |
G/C | PG使用的本地化排序规则 |
PG供给 | pg_lc_ctype | enum |
G/C | PG使用的本地化字符集定义 |
PG供给 | pgbouncer_port | number |
G/C | Pgbouncer端口 |
PG供给 | pgbouncer_poolmode | enum |
G/C | Pgbouncer池化模式 |
PG供给 | pgbouncer_max_db_conn | number |
G/C | Pgbouncer最大单DB连接数 |
PG模板 | pg_init | string |
G/C | 自定义PG初始化脚本 |
PG模板 | pg_replication_username | string |
G | PG复制用户 |
PG模板 | pg_replication_password | string |
G | PG复制用户的密码 |
PG模板 | pg_monitor_username | string |
G | PG监控用户 |
PG模板 | pg_monitor_password | string |
G | PG监控用户密码 |
PG模板 | pg_admin_username | string |
G | PG管理用户 |
PG模板 | pg_admin_password | string |
G | PG管理用户密码 |
PG模板 | pg_default_roles | role[] |
G | 默认创建的角色与用户 |
PG模板 | pg_default_privilegs | string[] |
G | 数据库默认权限配置 |
PG模板 | pg_default_schemas | string[] |
G | 默认创建的模式 |
PG模板 | pg_default_extensions | extension[] |
G | 默认安装的扩展 |
PG模板 | pg_offline_query | bool |
I | 是否允许离线查询 |
PG模板 | pg_reload | bool |
A | 是否重载数据库配置(HBA) |
PG模板 | pg_hba_rules | rule[] |
G | 全局HBA规则 |
PG模板 | pg_hba_rules_extra | rule[] |
C/I | 集群/实例特定的HBA规则 |
PG模板 | pgbouncer_hba_rules | rule[] |
G/C | Pgbouncer全局HBA规则 |
PG模板 | pgbouncer_hba_rules_extra | rule[] |
G/C | Pgbounce特定HBA规则 |
PG模板 | pg_databases | database[] |
G/C | 业务数据库定义 |
PG模板 | pg_users | user[] |
G/C | 业务用户定义 |
监控系统 | exporter_install | enum |
G/C | 安装监控组件的方式 |
监控系统 | exporter_repo_url | string |
G/C | 监控组件的YumRepo |
监控系统 | exporter_metrics_path | string |
G/C | 监控暴露的URL Path |
监控系统 | node_exporter_enabled | bool |
G/C | 启用节点指标收集器 |
监控系统 | node_exporter_port | number |
G/C | 节点指标暴露端口 |
监控系统 | node_exporter_options | string |
G/C | 节点指标采集选项 |
监控系统 | pg_exporter_config | string |
G/C | PG指标定义文件 |
监控系统 | pg_exporter_enabled | bool |
G/C | 启用PG指标收集器 |
监控系统 | pg_exporter_port | number |
G/C | PG指标暴露端口 |
监控系统 | pg_exporter_url | string |
G/C | 采集对象数据库的连接串(覆盖) |
监控系统 | pgbouncer_exporter_enabled | bool |
G/C | 启用PGB指标收集器 |
监控系统 | pgbouncer_exporter_port | number |
G/C | PGB指标暴露端口 |
监控系统 | pgbouncer_exporter_url | string |
G/C | 采集对象连接池的连接串 |
监控系统 | promtail_enabled | bool |
G/C | 是否启用Promtail日志收集服务 |
监控系统 | promtail_clean | bool |
G/C/A | 是否在安装promtail时移除已有状态信息 |
监控系统 | promtail_port | number |
G/C | promtail使用的默认端口 |
监控系统 | promtail_status_path | string |
G/C | 保存Promtail状态信息的文件位置 |
监控系统 | promtail_send_url | string |
G/C | 用于接收日志的loki服务endpoint |
服务供给 | pg_weight | number |
I | 实例在负载均衡中的相对权重 |
服务供给 | pg_services | service[] |
G | 全局通用服务定义 |
服务供给 | pg_services_extra | service[] |
C | 集群专有服务定义 |
服务供给 | haproxy_enabled | bool |
G/C/I | 是否启用Haproxy |
服务供给 | haproxy_reload | bool |
A | 是否重载Haproxy配置 |
服务供给 | haproxy_admin_auth_enabled | bool |
G/C | 是否对Haproxy管理界面启用认证 |
服务供给 | haproxy_admin_username | string |
G/C | HAproxy管理员名称 |
服务供给 | haproxy_admin_password | string |
G/C | HAproxy管理员密码 |
服务供给 | haproxy_exporter_port | number |
G/C | HAproxy指标暴露器端口 |
服务供给 | haproxy_client_timeout | interval |
G/C | HAproxy客户端超时 |
服务供给 | haproxy_server_timeout | interval |
G/C | HAproxy服务端超时 |
服务供给 | vip_mode | enum |
G/C | VIP模式:none |
服务供给 | vip_reload | bool |
G/C | 是否重载VIP配置 |
服务供给 | vip_address | string |
G/C | 集群使用的VIP地址 |
服务供给 | vip_cidrmask | number |
G/C | VIP地址的网络CIDR掩码 |
服务供给 | vip_interface | string |
G/C | VIP使用的网卡 |
最后修改 2021-05-06: update v0.9 config entries (9dd4f4c)