hifis.keepalived

Keepalived角色

:warning: 此项目已存档! :warning:

此角色已迁移到我们的 hifis.toolkit 集合中:

CI状态 Ansible角色: hifis.keepalived Ansible角色下载 Apache-2.0许可 最新版本

Ansible角色用于在高可用性和可扩展性环境中设置Keepalived。

当前支持的平台有:meta/main.yml

  • Ubuntu 22.04 LTS
  • Ubuntu 20.04 LTS

要求

无。

角色变量

必填变量(默认未设置)

Keepalived实例单播对等IP地址

设置Keepalived实例的单播对等IP地址:

keepalived_unicast_peers: 
  - '192.168.33.15'
  - '192.168.33.16'

Keepalived实例虚拟IP地址

设置Keepalived实例的虚拟IP地址:

keepalived_virtual_ip_address: '192.168.33.100'

可选: 虚拟IP地址配置列表

如果需要配置多个虚拟IP地址,可以定义此可选变量。此变量优先于 keepalived_virtual_ip_address

keepalived_virtual_ipaddress_configs:
  - "10.0.10.15 dev eth0"
  - "10.0.11.15 dev eht1"

其他默认变量

Keepalived版本

指定Keepalived的版本:

keepalived_version: '2.2.8'

Keepalived依赖的列表

需要安装的Keepalived依赖项列表:

keepalived_dependencies:
  - 'build-essential'
  - 'curl'
  - 'gcc'
  - 'libssl-dev'
  - 'libnl-3-dev'
  - 'libnl-genl-3-dev'
  - 'libsnmp-dev'

Keepalived可执行文件路径

Keepalived可执行文件的路径:

keepalived_executable_path: '/usr/local/sbin/keepalived'

Keepalived下载URL

可以下载Keepalived的URL:

keepalived_download_url: 'https://www.keepalived.org/software/keepalived-{{ keepalived_version }}.tar.gz'

Keepalived配置文件模板名称

Keepalived配置文件的模板名称:

keepalived_conf_template: 'keepalived.conf.j2'

Keepalived配置目录

包含Keepalived配置文件的目录:

keepalived_conf_dir: '/etc/keepalived'

Keepalived配置文件路径

Keepalived配置文件的路径:

keepalived_conf_file_path: '/etc/keepalived/keepalived.conf'

Keepalived sysconfig文件路径

Keepalived sysconfig文件的路径:

keepalived_sysconfig_file_path: "/etc/keepalived/keepalived.sysconfig"

Systemd服务模板文件名称

Systemd服务的模板文件名称:

keepalived_service_template: 'keepalived.service.j2'

Keepalived服务文件路径

Keepalived服务文件的路径:

keepalived_service_file_path: '/etc/systemd/system/keepalived.service'

Keepalived PID文件路径

Keepalived PID文件的路径:

keepalived_pid_file_path: "/run/keepalived/keepalived.pid"

配置通知邮件地址

配置通知邮件的接收者:

keepalived_notification_email: 'name@localhost'

配置通知发件人

配置通知邮件的发件人:

keepalived_notification_email_from: 'keepalived@localhost'

配置SMTP服务器

配置SMTP服务器的IP地址或FQDN:

keepalived_smtp_server: '127.0.0.1'

Keepalived实例状态MASTER或BACKUP

将Keepalived实例的状态设置为MASTER或BACKUP:

keepalived_state: 'BACKUP'

Keepalived实例优先级

设置Keepalived实例的优先级:

keepalived_priority: '99'

Keepalived最大自动提升优先级

Keepalived可以自动提升的最大优先级(必须在 [0, 99] 范围内或-1以禁用):

keepalived_max_auto_priority: '99'

Keepalived实例路由器ID

设置Keepalived路由器的唯一名称:

keepalived_router_id: 'KEEPALIVED_2'

Keepalived实例权重

通过此权重调整优先级:

keepalived_weight: '0'

Keepalived实例单播源IP地址

设置Keepalived实例的单播源IP地址:

keepalived_unicast_src_ip: '{{ ansible_default_ipv4.address }}'

Keepalived实例网络接口

设置与浮动IP地址关联的网络接口:

keepalived_interface: "{{ ansible_default_ipv4.interface }}"

Keepalived实例虚拟IP地址和网络接口

设置Keepalived实例的虚拟IP地址和网络接口:

keepalived_virtual_ipaddress_config: "{{ keepalived_virtual_ip_address }} dev {{ keepalived_interface }}"

Keepalived实例认证密码

设置Keepalived实例的认证密码:

keepalived_auth_pass: 'changeme'

启用脚本安全

启用脚本安全以防止非根用户写入路径的情况下脚本以根用户运行:

keepalived_set_script_security_flag: true

执行Keepalived脚本的用户

指定运行Keepalived脚本的用户名:

keepalived_script_user: 'haproxy'

执行Keepalived脚本的组

指定运行Keepalived脚本的组名:

keepalived_script_group: 'haproxy'

启用进程跟踪的标志

在Keepalived配置中启用进程跟踪:

keepalived_enable_process_tracking: true

定义要跟踪的进程

keepalived_track_process: 'haproxy'

启用要执行的脚本标志

启用Keepalived执行的脚本:

keepalived_activate_script: false

要执行的脚本名称

指定Keepalived执行的脚本名称:

keepalived_script_name: 'chk_haproxy_process'

要执行的脚本命令

指定Keepalived要执行的命令:

keepalived_script_command: '/usr/bin/killall -0 haproxy'

依赖项

无。

注意:此角色旨在与hifis.haproxy角色一起使用,但不局限于此。

示例剧本

- hosts: loadbalancers
  roles:
    - role: hifis.keepalived
      vars:
        keepalived_virtual_ip_address: '192.168.33.100'
        keepalived_unicast_peers:
          - '192.168.33.15'
          - '192.168.33.16'

许可证

Apache-2.0

作者信息

HIFIS软件服务团队

关于项目

A role to set up Keepalived in a high availability and scalability context.

安装
ansible-galaxy install hifis.keepalived
许可证
other
下载
26.6k
拥有者
Helmholtz Digital Services for Science — Collaboration made easy.