2019-04-12 16:29:11 +00:00
|
|
|
# Ansible role: Keepalived
|
|
|
|
|
|
|
|
[![Version](https://img.shields.io/badge/latest_version-1.0.0-green.svg)](https://git.yaegashi.fr/nishiki/ansible-role-keepalived/releases)
|
|
|
|
[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](https://git.yaegashi.fr/nishiki/ansible-role-keepalived/src/branch/master/LICENSE)
|
|
|
|
|
|
|
|
Install and configure Keepalived
|
|
|
|
|
|
|
|
## Requirements
|
|
|
|
|
|
|
|
* Ansible >= 2.7
|
2020-02-12 21:30:03 +00:00
|
|
|
* Debian Stretch and Buster
|
2019-04-12 16:29:11 +00:00
|
|
|
|
|
|
|
## Role variables
|
|
|
|
|
|
|
|
* `keepalived_mail_from` - from header for notification mail
|
|
|
|
* `keepalived_smtp_server` - the smtp server (default: `localhost`)
|
|
|
|
* `keepalived_notification_mails` - array with the mail to notify
|
|
|
|
* `keepalived_vrrp_instances` - array with the vrrp instances
|
|
|
|
|
|
|
|
```
|
|
|
|
- name: vip_ngninx
|
|
|
|
state: master
|
|
|
|
interface: eth0
|
|
|
|
virtual_router_id: 5
|
|
|
|
priority: 200
|
|
|
|
smtp_alert: true
|
|
|
|
authentication:
|
|
|
|
type: pass
|
|
|
|
pass: 12345678
|
|
|
|
virtual_ipaddresses:
|
|
|
|
- 172.255.0.254/32 dev eth0
|
|
|
|
track_scripts:
|
|
|
|
- check_nginx
|
|
|
|
notify:
|
|
|
|
master: /usr/bin/notification.sh
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
* `keepalived_vrrp_scripts` - array with the vrrp scripts
|
|
|
|
|
|
|
|
```
|
|
|
|
- name: check_nginx
|
|
|
|
script: /usr/local/bin/check_nginx
|
|
|
|
fall: 3
|
|
|
|
interval: 10
|
|
|
|
rise: 5
|
|
|
|
```
|
|
|
|
|
|
|
|
## How to use
|
|
|
|
|
|
|
|
```
|
|
|
|
- hosts: server
|
|
|
|
roles:
|
|
|
|
- keepalived
|
|
|
|
```
|
|
|
|
|
|
|
|
## Development
|
|
|
|
|
|
|
|
### Test syntax with yamllint
|
|
|
|
|
|
|
|
* install `python` and `python-pip`
|
|
|
|
* install yamllint `pip install yamllint`
|
|
|
|
* run `yamllint .`
|
|
|
|
|
|
|
|
### Test syntax with ansible-lint
|
|
|
|
|
|
|
|
* install `python` and `python-pip`
|
|
|
|
* install yamllint `pip install ansible-lint`
|
|
|
|
* run `ansible-lint .`
|
|
|
|
|
|
|
|
### Tests with docker
|
|
|
|
|
|
|
|
* install [docker](https://docs.docker.com/engine/installation/)
|
|
|
|
* install ruby
|
|
|
|
* install bundler `gem install bundler`
|
|
|
|
* install dependencies `bundle install`
|
|
|
|
* run the tests `kitchen test`
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
```
|
|
|
|
Copyright (c) 2019 Adrien Waksberg
|
|
|
|
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
You may obtain a copy of the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
|
|
|
```
|