服务器工具变量{ #dhis2_server_tools_variables }¶
Ansible 使用变量来处理系统差异。在 dhis2-server-tools、 中定义了 PostgreSQL、dhis2 实例、代理和监控系统的特定变量。虽然 变量,但我们主要是在 "dhis2-server-tools "中定义它们。 主要在 dhis2-server-tools/deploy/inventory/hosts 文件中定义、 文件中定义,该文件由 hosts.template. 创建,可根据环境自定义这些变量。
在清单主机文件中,主机按 [group_names] 分组,在我们的案例中,我们有 数据库]、[实例]、[网络]和[监控]组。 属于[所有]组。要将 变量绑定到一个特定组,请将它们放在[group_name:vars]下,例如 、 [实例:vars]。如果要将变量应用于特定主机,可将其追加到 host 行。 添加到主机行。例如,要将database_host和dhis2_version添加到 instances 组中的 dhis 主机,请使用以下格式:
实例
dhiss ansible_host=172.19.2.11 database_host=postgres dhis2_version=2.39
inventory/host_vars/ 目录中创建一个文件,文件名与 inventory/hosts 文件中的主机名相同。 目录中创建一个文件,文件名与inventory/hosts文件中的主机名相同。这种方法的 这种方法的好处是可以使用 ansible-vault 加密文件,以增加安全性。 安全性。在 host_vars 目录中定义的变量将优先于在 inventory/hosts 目录中定义的变量。 目录中定义的变量优先于 inventory/hosts 文件中定义的变量。 touch inventory/host_vars/dhis
vim inventory/host_vars/dhis
yaml 语法添加变量,如下所示 ansible_host: 172.19.2.11
数据库主机: postgres
dhis2_version: 2.39
以下是可用配置参数及其默认值的列表{ #heres-the-list-of-available-configuration-parameters-and-their-default-values }¶
一般变量{ #dhis2_server_tools_general_variables }¶
| 变量 | 评论 |
|---|---|
时区 | 列出所有可用的时区 与timedatectl list-timezones 示例
|
ansible_connection | 取决于Architecture 。 采用,默认为lxd 选项
|
lxd_network | 在此定义创建容器的网络、 默认为172.19.2.1/24 |
lxd_bridge_interface | 创建的 lxd 网桥名称,默认为lxdbr1 |
实例变量{ #dhis2_server_tools_instance_variables }¶
| 变量 | 评论 |
|---|---|
fqdn | 这是用于访问 dhis2 应用程序的域 严格要求用于 Letsencrypt 工作 |
创建数据库 | 是否应创建数据库 选项:
|
数据库主机 | 用作数据库服务器的主机 默认= postgres |
dhis2_war_file | dhis2 war 文件的源文件,可以是远程文件,也可以是本地文件。 本地文件 示例
|
dhis2_version | 您可以只指定 dhis2 的主要版本,它将从 最新稳定版本https://releases.dhis2.org 。 如果您的 同时定义了 dhis2_war_file 和dhis2_version 定义,则dhis2_war_file 将胜出、 示例
|
heap_memory_size | 这是 tomcat Java 堆内存大小, 示例 heap_memory_size=2G |
dhis2_auto_upgrade | 当有更新的补丁版本时,启用 DHIS2 自动升级。 选项:
启用前,请确保已备份实例数据库。 |
应用程序监控 | 启用应用程序监控。目前支持glowroot 。选项:
示例: app_monitoring=glowroot |
PostgreSQL 变量{ #dhis2_server_tools_postgresql_variables }¶
| 变量 | 评论 |
|---|---|
| postgresql_version | 要安装的 PostgreSQL 版本。新安装的默认版本为 16。 |
| 最大连接数 | 允许的最大数据库连接数。 |
| 共享缓冲区 | PostgreSQL 的共享缓冲区。建议使用:0.25 x Available_RAM`。 |
pg_work_mem | 每次查询的工作内存。建议使用:(0.25 x Available_RAM) / max_connections`。 |
| 维护工作存储器 | 用于创建索引等维护任务的内存。尽可能合理分配。 |
| 有效缓存大小 | 约为 (Available_RAM - maintenance_work_mem - max_connections * work_mem) `的 80%。 |
代理变量¶
| 变量 | 评论 |
|---|---|
电子邮件 | 使用 Letsencrypt 时必须填写 |
代理 | 您选择的代理软件 选项
|
SSL_TYPE | 该参数用于指定是使用 letsencrypt 还是你自己的customssl 证书,选项
|
munin_base_path | 访问 munin 的基本路径,例如 https://domain.example.com/munin_base_path 默认为munin |
munin_users | 允许登录 munin 的用户及其相应密码的列表: 例如
默认用户名和密码分别为 admin 和 district。 |
| 变量 | 评论 |
|---|---|
| 电子邮件 | 如果使用 Let's Encrypt,则必须填写。 |
| 代理 | 选项: - nginx ←(默认) - apache2 |
SSL_TYPE | 选择使用 "letsencrypt "还是 "customssl "证书。 选项: - letsencrypt ←(默认) - customssl |
munin_base_path | 访问 Munin 的基本路径,如 https://domain.example.com/munin_base_path。默认为 munin。 |
munin_users | 允许登录 Munin 的用户和密码列表。请参阅下面的示例。 |
示例: ``yaml munin_users: - name: admin password: admin_password - 名称: user2 password: user2_passsword ```
备份相关变量{ #backup-related-variables }¶
这些变量与 PostgreSQL 数据库主机有关,包含敏感信息。 敏感信息。建议使用 ansible-vault 加密来保护它们。您可以 可以灵活地在不同位置定义这些变量,但 建议放在 host_vars 目录下的 host 文件中、 如下所示:
dhis2-server-tools/deploy/inventory/host_vars/postgres
| 变量 | 评论 |
|---|---|
s3_access_key | 这是需要与对象存储交互的云用户或编程实体(如应用程序)的唯一标识符。 |
| `s3_secret_key`` | 这是一条与访问密钥相关联的秘密信息。它用于对向对象存储空间(可能还有其他服务)发出的请求进行数字签名。该密钥必须保密,因为它代表访问密钥对请求进行验证和授权。 |
s3_cluster_id | 对象存储的群集 URL 对每个数据中心都是唯一的。不同的数据中心有唯一的群集 ID。请参阅 Linode 的 Linode Object Storage Guide。 |
| s3_bucket | 这是一种容器或存储资源,用于在对象存储环境中存储文件。 |