patroni-postgresql-cluster (#13)

* Описана инфрастуктура кластера

* Добавлена роль etcd

* Добавлена роль haproxy

* Добавлена роль keepalived

* Добавлена роль ntp_install

* Добавлена роль patroni

* Добавлена групповые переменные

---------

Co-authored-by: Fedor Batonogov <f.batonogov@yandex.ru>
This commit is contained in:
github-actions[bot]
2024-06-18 10:37:21 +03:00
committed by GitHub
parent 5b7920bdca
commit f8fe304cd9
43 changed files with 930 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
---
# defaults file for keepalived
unit_file: keepalived.master.conf.j2

View File

@@ -0,0 +1,7 @@
---
- name: Перезапускаю keepalived.service
ansible.builtin.systemd:
name: keepalived.service
state: restarted
enabled: true
daemon_reload: true

View File

@@ -0,0 +1,7 @@
- name: Наливаю конфигурацию keepalived
ansible.builtin.template:
src: "{{ unit_file }}"
dest: /etc/keepalived/keepalived.conf
mode: "644"
notify:
- Перезапускаю keepalived.service

View File

@@ -0,0 +1,7 @@
---
- name: Устанавливаю keepalived
ansible.builtin.apt:
name:
- keepalived
state: present
update_cache: true

View File

@@ -0,0 +1,10 @@
---
# tasks file for keepalived
- name: Устанавливаю keepalived
ansible.builtin.import_tasks: install.yml
- name: Наливаю конфигурацию
ansible.builtin.include_tasks: config.yml
- name: Запускаю сервис
ansible.builtin.include_tasks: start.yml

View File

@@ -0,0 +1,5 @@
- name: Настраиваю keepalived.service
ansible.builtin.systemd:
name: keepalived.service
state: started
enabled: true

View File

@@ -0,0 +1,14 @@
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id {{ virtual_router_id }}
priority 100 # PAY ATTENTION ON PRIORITY!!
authentication {
auth_type PASS
auth_pass {{ lookup('password', 'secrets/keepalived/' + virtual_ip + ' length=64') }}
}
virtual_ipaddress {
{{ virtual_ip }} dev eth0
}
}

View File

@@ -0,0 +1,14 @@
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id {{ virtual_router_id }}
priority 101 # PAY ATTENTION ON PRIORITY!!
authentication {
auth_type PASS
auth_pass {{ lookup('password', 'secrets/keepalived/' + virtual_ip + ' length=64') }}
}
virtual_ipaddress {
{{ virtual_ip }} dev eth0
}
}