Oefenweb.keepalived

keepalived

CI Ansible Galaxy

在类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_delayterminate_delay

  • keepalived_vrrp_track_processes.key.full_command: [可选]: 通常进程字符串与进程名称匹配,如 /proc/PID/statusName 行所示,除非指定参数

  • 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 个 IP

  • keepalived_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

反馈、错误报告、请求等...

欢迎 反馈!

关于项目

Set up keepalived in Debian-like systems

安装
ansible-galaxy install Oefenweb.keepalived
许可证
mit
下载
72k
拥有者