hifis.keepalived
Keepalived角色
:warning: 此项目已存档! :warning:
此角色已迁移到我们的 hifis.toolkit
集合中:
- https://github.com/hifis-net/ansible-collection-toolkit
- https://galaxy.ansible.com/ui/repo/published/hifis/toolkit/
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'
许可证
作者信息
A role to set up Keepalived in a high availability and scalability context.
ansible-galaxy install hifis.keepalived