/puppet-keepalived

Puppet module to manage keepalived

Primary LanguagePuppet

Keepalived puppet module

Module to manage keepalived on Debian/Ubuntu.

Example

Loadbalancer

class {
  "keepalived":
    email => "root@example.com"; # array also allowed
}

keepalived::vrrp_sync_group {
  "yuxCluster":
    members => [ "gw" ];
}

keepalived::vrrp_instance {
  "gw":
    kind              => "MASTER",
    interface         => "eth1",
    password          => "ThisIsAPassword",
    virtual_router_id => 1,
    virtual_addresses => [
                          "10.10.10.1 dev eth1",
                          "10.12.12.1 dev eth0",
                          "ffff::1 dev eth1"
                         ];
}

keepalived::virtual_server {
  'mx1 smtp':
    ip       => '10.10.10.1',
    port     => 25,
    lb_kind  => 'DR',
    protocol => 'TCP';
}

Host behind loadbalancer

@@keepalived::real_server {
  "${hostname} smtp":
    ip                  => '10.10.10.2',
    port                => 25,
    check_type          => 'SMTP',
    virtual_server_name => 'mx1 smtp',
    virtual_server_ip   => '10.10.10.1',
    virtual_server_port => 25;
}