--- #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"]