hifis.keepalived
Keepalivedの役割
:warning: このプロジェクトはアーカイブされています! :warning:
この役割は、hifis.toolkit
コレクションに移行されました:
- https://github.com/hifis-net/ansible-collection-toolkit
- https://galaxy.ansible.com/ui/repo/published/hifis/toolkit/
高可用性およびスケーラビリティの文脈でKeepalivedを設定するためのAnsible役割です。
- 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 役割とともに使用することを意図していますが、限定されるものではありません。
例のPlaybook
- 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