Oefenweb.keepalived
keepalived
在类Debian系统中安装最新版本或特定版本的 Keepalived。
需求
git
(将被安装)build-essential
(将被安装)automake
(将被安装)libtool
(将被安装)pkg-config
(将被安装)libssl-dev
(将被安装)
使用 keepalived_install_method: native
时:
keepalived
(将被安装)procps
(将被安装)
变量
keepalived_git_repo
: [默认:https://github.com/acassen/keepalived.git
]: Keepalived Git 仓库keepalived_version
: [默认:v2.2.8
]: 要安装的 Keepalived 版本keepalived_install_method
: [默认git
]: 安装 Keepalived 的方法(例如,native
(来自 Ubuntu 仓库),git
)keepalived_install
: [默认:[]
]: 要安装的其他软件包(例如,['libnl-3-dev', 'libnl-genl-3-dev', 'libnl-route-3-dev', 'libnfnetlink-dev']
)keepalived_configure_options
: [默认:[]
]: 传递给./configure
的选项keepalived_options
: [默认:[]
]: 传递给keepalived
的选项keepalived_options.{n}.name
: [必需]: 选项名称(例如,log-facility
)keepalived_options.{n}.value
: [可选]: 选项值(例如,7
)keepalived_ip_nonlocal_bind
: [默认:1
]: 允许绑定非本地 IP 地址,即未分配给本地系统上的设备的地址keepalived_create_keepalived_script_user
: [默认:false
]: 是否创建keepalived_script
用户,详见keepalived_global_defs_script_user
keepalived_global_defs_notification_email
: [默认:['[email protected]']
]: 发送警报的电子邮件地址keepalived_global_defs_notification_email_from
: [默认:'[email protected]'
]: 在标题中显示的发件人地址keepalived_global_defs_smtp_server
: [默认:'127.0.0.1'
]: SMTP 服务器 IP 地址keepalived_global_defs_smtp_connect_timeout
: [默认:30
]: SMTP 服务器连接超时(以秒为单位)keepalived_global_defs_script_user
: [可选]: 指定运行脚本的默认用户/组。如果未指定组,则使用用户的组。如果未指定此选项,用户默认为keepalived_script
。如果该用户存在,否则为root
(自1.3.0
起,例如,'nobody nogroup'
)keepalived_global_defs_enable_script_security
: [可选]:如果路径的任意部分可由非root
用户写入,则不要作为root
运行配置为运行的脚本(自1.3.0
起,例如true
)keepalived_global_defs_raw
: [可选]: 添加到global_defs
配置部分的原始参数的可选列表keepalived_vrrp_script_map
: [默认:{}
]: 脚本声明keepalived_vrrp_script_map.key
: [必需]: 文件的标识符(例如,check-haproxy
)keepalived_vrrp_script_map.key.src
: [必需]: 要复制的文件的本地路径,可以是绝对路径或相对路径(例如,../../../files/keepalived/usr/local/bin/check-haproxy
)keepalived_vrrp_script_map.key.dest
: [必需]: 要复制的文件的远程路径(例如,/usr/local/bin/check-haproxy
)keepalived_vrrp_script_map.key.owner
: [可选,默认root
]: 应拥有该文件的用户名称keepalived_vrrp_script_map.key.group
: [可选,默认root
]: 应拥有该文件的组名称keepalived_vrrp_script_map.key.mode
: [可选,默认0750
]: 文件的模式keepalived_vrrp_scripts
: [默认:{}
]: VRRP 脚本声明keepalived_vrrp_scripts.key
: VRRP 脚本的名称keepalived_vrrp_scripts.key.script
: 定期运行的脚本keepalived_vrrp_scripts.key.weight
: [可选]: 调整优先级的检查权重keepalived_vrrp_scripts.key.interval
: [可选]: 检查的间隔(以秒为单位)keepalived_vrrp_scripts.key.timeout
: [可选]: 脚本被视为失败的时间(秒)keepalived_vrrp_scripts.key.rise
: [可选]: OK 转换所需的成功次数keepalived_vrrp_scripts.key.fall
: [可选]: KO 转换所需的成功次数keepalived_vrrp_track_processes
: [默认:{}
]: VRRP 进程声明keepalived_vrrp_track_processes.key
: VRRP 脚本的名称keepalived_vrrp_track_processes.key.process
: 要监视的进程(带可选参数)keepalived_vrrp_track_processes.key.param_match
: [可选]: 如果匹配参数,则指定为partial
匹配(即,前 n 个参数完全匹配),或initial
匹配,即最后一个参数可能比配置的参数长keepalived_vrrp_track_processes.key.weight
: [可选]: 调整优先级的检查权重keepalived_vrrp_track_processes.key.quorum
: [可选]: 成功所需的最小进程数keepalived_vrrp_track_processes.key.quorum_max
: [可选]: 成功所需的最大进程数keepalived_vrrp_track_processes.key.fork_delay
: [可选]: 在获得进程法定人数后延迟的时间keepalived_vrrp_track_processes.key.terminate_delay
: [可选]: 在法定人数失去后延迟的时间keepalived_vrrp_track_processes.key.delay
: [可选]: 设置fork_delay
和terminate_delay
keepalived_vrrp_track_processes.key.full_command
: [可选]: 通常进程字符串与进程名称匹配,如/proc/PID/status
中Name
行所示,除非指定参数keepalived_vrrp_instances
: [默认:{}
]: VRRP 实例声明keepalived_vrrp_instances.key
: VRRP 实例的名称keepalived_vrrp_instances.key.interface
: VRRP 绑定的接口keepalived_vrrp_instances.key.state
: 启动默认状态(MASTER|BACKUP
)。一旦其他机器启动,将进行选举,优先级最高的机器将成为MASTER
keepalived_vrrp_instances.key.priority
: 选举MASTER
时,优先级最高(0...255
)获胜keepalived_vrrp_instances.key.virtual_router_id
: 用于区分在同一网卡(即同一套接字)上运行的多个 VRRPD 实例的任意唯一编号(0...255
)keepalived_vrrp_instances.key.advert_int
: [可选]: 广播间隔(以秒为单位)keepalived_vrrp_instances.key.smtp_alert
: [可选]: 在状态转换期间是否发送电子邮件通知keepalived_vrrp_instances.key.authentication
: [可选]: 身份验证块keepalived_vrrp_instances.key.authentication.auth_type
: 简单密码或 IPSEC AH(PASS|AH
)keepalived_vrrp_instances.key.authentication.auth_pass
: 密码字符串(最多 8 个字符)keepalived_vrrp_instances.key.virtual_ipaddresses
: VRRP IP 地址块keepalived_vrrp_instances.key.virtual_ipaddresses_excluded
: 不包含在 VRRP 数据包中的 IP 地址块,以支持超过 20 个 IPkeepalived_vrrp_instances.key.virtual_routes:
: [可选]: VIP 添加时添加的虚拟路由列表keepalived_vrrp_instances.key.nopreempt
: [可选]: VRRP 通常会在优先级较低的机器上线时抢占。此选项允许优先级较低的机器保持主角色,即使更高优先级的机器重新上线也如此。注意:要使其工作,此项的初始状态必须为BACKUP
keepalived_vrrp_instances.key.preempt_delay
: [可选]: 启动后秒数,直到抢占(如果未被nopreempt
禁用)。范围:0(默认)到 1000 注意:要使其工作,此项的初始状态必须为BACKUP
keepalived_vrrp_instances.key.track_interfaces
: [可选]: 我们监视的接口状态keepalived_vrrp_instances.key.track_scripts
: [可选]: 我们监视的脚本状态keepalived_vrrp_instances.key.track_processes
: [可选]: 我们监视的进程状态keepalived_vrrp_instances.key.notify
: [可选]: 服务器状态变化时调用的脚本keepalived_vrrp_instances.key.notify_user
: [可选]: 指定运行此脚本的用户/组(自1.3.0
起,例如,'nobody nogroup'
)keepalived_vrrp_instances.key.notify_backup
: [可选]: 服务器状态变化时调用的脚本(变为BACKUP
)keepalived_vrrp_instances.key.notify_backup_user
: [可选]: 指定运行此脚本的用户/组(自1.3.0
起)keepalived_vrrp_instances.key.notify_fault
: [可选]: 服务器状态变化时调用的脚本(变为FAULT
)keepalived_vrrp_instances.key.notify_fault_user
: [可选]: 指定运行此脚本的用户/组(自1.3.0
起)keepalived_vrrp_instances.key.notify_master
: [可选]: 服务器状态变化时调用的脚本(变为MASTER
)keepalived_vrrp_instances.key.notify_master_user
: [可选]: 指定运行此脚本的用户/组(自1.3.0
起)keepalived_vrrp_instances.key.unicast_peer
: [可选]: 如果您希望覆盖参与的单播对等方,请列出 IP 地址(如果您不想使用组播)keepalived_vrrp_instances.key.unicast_src_ip
: [可选]: 用于组播或单播 VRRP 数据包的 IP 源地址keepalived_vrrp_instances.key.vmac_xmit_base
: [默认:false
]: 强制 VRRP 在发送自己的数据包时使用物理接口 MAC 地址作为源。keepalived_vrrp_instances.key.raw_options
: [可选]: 添加到 VRRP 实例的原始参数的可选列表keepalived_vrrp_sync_groups
: [默认:{}
]: VRRP 组实例声明keepalived_vrrp_sync_groups.key
: VRRP 组实例的名称keepalived_vrrp_sync_groups.key.instances:
: 此组的 VRRP 实例列表keepalived_vrrp_sync_groups.notify_master
: [可选]: VRRP 组更改状态时调用的脚本(变为MASTER
)keepalived_vrrp_sync_groups.key.notify_backup
: [可选]: VRRP 组更改状态时调用的脚本(变为BACKUP
)keepalived_vrrp_sync_groups.key.notify_fault
: [可选]: VRRP 组更改状态时调用的脚本(变为FAULT
)
依赖项
无
示例(HAProxy)
---
- hosts: all
roles:
- oefenweb.keepalived
vars:
keepalived_options:
- name: log-detail
keepalived_vrrp_scripts:
chk_haproxy:
script: '/usr/bin/pgrep haproxy'
weight: 2
interval: 1
keepalived_vrrp_instances:
VI_1:
interface: eth1
state: MASTER
priority: 101
virtual_router_id: 51
authentication:
auth_type: PASS
auth_pass: '4Apr3C*d'
virtual_ipaddresses:
- '10.0.0.10/24 dev eth1 label eth1:1'
track_interfaces:
- eth0 weight 10
track_scripts:
- chk_haproxy
raw_options:
- dont_track_primary
许可
MIT
作者信息
Mischa ter Smitten
反馈、错误报告、请求等...
欢迎 反馈!
ansible-galaxy install Oefenweb.keepalived