community.proxysql.proxysql_galera_hostgroups 模块 – 使用 proxysql 管理界面管理 Galera 主机组

注意

此模块是 community.proxysql 集合 (版本 1.6.0) 的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.proxysql。您需要其他要求才能使用此模块,有关详细信息,请参阅 需求

要在 playbook 中使用它,请指定:community.proxysql.proxysql_galera_hostgroups

概要

  • 与常规异步复制不同,Galera 主机组未在 mysql_replication_hostgroups 表中定义。相反,有一个单独的表专门用于 Galera 主机组。原因是需要更高级的拓扑支持才能适应 Galera 可用的部署选项(例如,受控的写入器数量、集群级复制阈值等)。

需求

在执行此模块的主机上需要以下需求。

  • PyMySQL

  • mysqlclient

参数

参数

注释

active

整数

启用 (1) 或禁用 (0) 定义的主机组配置。

选项

  • 0

  • 1 ← (默认)

backup_writer_hostgroup

整数 / 必需

包含所有作为备用写入器的 Galera 节点的组的 ID。

comment

字符串

可用于用户定义的任何用途的文本字段。

默认值: ""

config_file

路径

指定一个配置文件,从中读取 *login_user* 和 *login_password*。

默认值: ""

load_to_runtime

布尔值

动态加载配置到运行时内存。

选项

  • false

  • true ← (默认)

login_host

字符串

用于连接到 ProxySQL 管理界面的主机。

默认值: "127.0.0.1"

login_password

字符串

用于对 ProxySQL 管理界面进行身份验证的密码。

login_port

整数

用于连接到 ProxySQL 管理界面的端口。

默认值: 6032

login_unix_socket

字符串

用于连接到 ProxySQL 管理界面的套接字。

login_user

字符串

用于对 ProxySQL 管理界面进行身份验证的用户名。

max_transactions_behind

整数

ProxySQL 在拒绝节点以防止陈旧读取之前应允许的落后于集群的写入集的最大数量。

默认值: 0

max_writers

整数

写入器主机组中填充的读写实例的数量。

默认值: 1

offline_hostgroup

整数 / 必需

所有失败的节点都将被移动到的主机组的 ID。

reader_hostgroup

整数 / 必需

包含所有作为读取器的 Galera 节点的组的 ID。

save_to_disk

布尔值

将配置保存到磁盘上的 sqlite 数据库以持久化配置。

选项

  • false

  • true ← (默认)

state

字符串

present 时 - 添加 Galera 主机组,当 absent 时 - 删除 Galera 主机组。

选项

  • "present" ← (默认)

  • "absent"

writer_hostgroup

整数 / 必需

包含所有作为活动写入器的 Galera 节点的组的 ID。

writer_is_also_reader

整数

writer_is_also_reader - 0 `read_only=0` 的节点在拓扑更改后将同时放置在 writer_hostgroup 和 backup_writer_hostgroup 中,这些节点将被排除在 reader_hostgroup 之外。

writer_is_also_reader - 1 `read_only=0` 的节点在拓扑更改后将放置在 writer_hostgroup 或 backup_writer_hostgroup 中,并且都同时放置在 reader_hostgroup 中。

writer_is_also_reader - 2 只有在拓扑更改后放置在 backup_writer_hostgroup 中的 `read_only=0` 节点也会放置在 reader_hostgroup 中,即超过定义的 `max_writers` 的 `read_only=0` 节点。

选项

  • 0 ← (默认)

  • 1

  • 2

注释

注意

  • 支持 check_mode

示例

---
# This example adds a new galera hostgroup, it saves the mysql server config
# to disk and loads it to a runtime and also enables the config which has
# maximum of 2 writers from the writers_hostgroup.

- name: Add a galera hostgroup
  community.proxysql_galera_hostgroups:
    login_user: "admin"
    login_password: "admin"
    writer_hostgroup: 1
    backup_writer_hostgroup: 2
    reader_hostgroup: 3
    offline_hostgroup: 4
    active: 1
    max_writers: 2
    writer_is_also_reader: 0

# This example disables galera hostgroup by setting active to 0

- name: Disable a galera hostgroup
  community.proxysql_galera_hostgroups:
    login_user: "admin"
    login_password: "admin"
    writer_hostgroup: 1
    backup_writer_hostgroup: 2
    reader_hostgroup: 3
    offline_hostgroup: 4
    active: 0

# This example removes a galera hostgroup from configuration,
# saves the mysql server config to disk, and loads the mysql
# server config to runtime. It uses credentials in a supplied
# config file to connect to the proxysql admin interface.

- name: Remove a galera hostgroup
  community.proxysql_galera_hostgroups:
      config_file: '/tmp/proxysql.cnf'
      writer_hostgroup: 0
      backup_writer_hostgroup: 1
      reader_hostgroup: 2
      offline_hostgroup: 3
      active: 0
      state: absent

返回值

常见的返回值已在 此处 文档中说明,以下是此模块特有的字段。

描述

标准输出

字典

在 Proxysql 中修改或删除的 Galera hostgroup。

返回:创建/更新时将返回新修改的组,删除时将返回已删除的记录。

示例: {"changed": true, "galera_group": {"active": "1", "backup_writer_hostgroup": "1", "comment": "test", "max_transactions_behind": "0", "max_writers": "3", "offline_hostgroup": "3", "reader_hostgroup": "2", "writer_hostgroup": "0", "writer_is_also_reader": "1"}, "msg": "Updated galera hostgroups in check_mode", "state": "present"}

作者

  • Tomas Palevičius (@tompal3)