Some checks failed
Ansible Testing / lint (push) Has been cancelled
Ansible Testing / test (default) (push) Has been cancelled
Ansible Testing / test (minimal) (push) Has been cancelled
Ansible Testing / test (performance) (push) Has been cancelled
Ansible Testing / deploy-check (push) Has been cancelled
77 lines
2.3 KiB
YAML
77 lines
2.3 KiB
YAML
---
|
|
#description: Пресет для тестирования кластера etcd + PostgreSQL + Patroni (9 хостов)
|
|
# Автор: Сергей Антропов
|
|
# Сайт: https://devops.org.ru
|
|
|
|
docker_network: labnet
|
|
generated_inventory: "{{ molecule_ephemeral_directory }}/inventory/hosts.ini"
|
|
|
|
# systemd-ready образы
|
|
images:
|
|
alt: "inecs/ansible-lab:alt-linux-latest"
|
|
astra: "inecs/ansible-lab:astra-linux-latest"
|
|
rhel: "inecs/ansible-lab:rhel-latest"
|
|
centos7: "inecs/ansible-lab:centos7-latest"
|
|
centos8: "inecs/ansible-lab:centos8-latest"
|
|
centos9: "inecs/ansible-lab:centos9-latest"
|
|
alma: "inecs/ansible-lab:alma-latest"
|
|
rocky: "inecs/ansible-lab:rocky-latest"
|
|
redos: "inecs/ansible-lab:redos-latest"
|
|
ubuntu20: "inecs/ansible-lab:ubuntu20-latest"
|
|
ubuntu22: "inecs/ansible-lab:ubuntu22-latest"
|
|
ubuntu24: "inecs/ansible-lab:ubuntu24-latest"
|
|
debian9: "inecs/ansible-lab:debian9-latest"
|
|
debian10: "inecs/ansible-lab:debian10-latest"
|
|
debian11: "inecs/ansible-lab:debian11-latest"
|
|
debian12: "inecs/ansible-lab:debian12-latest"
|
|
|
|
systemd_defaults:
|
|
privileged: true
|
|
command: "/sbin/init"
|
|
volumes:
|
|
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
|
|
tmpfs: ["/run", "/run/lock"]
|
|
capabilities: ["SYS_ADMIN"]
|
|
|
|
# Описание кластера etcd + Patroni + HAProxy
|
|
hosts:
|
|
# ETCD кластер (5 узлов для высокой доступности)
|
|
- name: etcd1
|
|
family: debian12
|
|
groups: [etcd, cluster]
|
|
- name: etcd2
|
|
family: rhel
|
|
groups: [etcd, cluster]
|
|
- name: etcd3
|
|
family: debian12
|
|
groups: [etcd, cluster]
|
|
- name: etcd4
|
|
family: rhel
|
|
groups: [etcd, cluster]
|
|
- name: etcd5
|
|
family: debian12
|
|
groups: [etcd, cluster]
|
|
|
|
# Patroni кластер (3 узла PostgreSQL)
|
|
- name: patroni1
|
|
family: rhel
|
|
groups: [patroni, database, cluster]
|
|
- name: patroni2
|
|
family: debian12
|
|
groups: [patroni, database, cluster]
|
|
- name: patroni3
|
|
family: rhel
|
|
groups: [patroni, database, cluster]
|
|
|
|
# HAProxy для балансировки
|
|
- name: haproxy
|
|
family: debian12
|
|
groups: [haproxy, loadbalancer]
|
|
publish: ["5000:5000", "5001:5001"] # RW и RO порты
|
|
|
|
# DinD узел для тестирования Docker Compose внутри
|
|
- name: app-dind
|
|
type: dind
|
|
groups: [apps, docker]
|
|
publish: ["8080:8080"]
|