- Созданы пресеты для тестирования с собственными образами: - custom-minimal.yml - минимальный тест (4 хоста) - custom-images.yml - полный тест (все образы) - custom-performance.yml - тест производительности (8 хостов) - Обновлен molecule.yml для поддержки собственных образов - Добавлен скрипт test-custom-images.sh для автоматизации тестирования - Добавлены команды в Makefile: - make custom-images test [minimal|full|performance] - make custom-images check - проверка наличия образов - make custom-images build - сборка всех образов - Поддержка образов: ansible-controller, alt-linux, astra-linux, redos, rhel, centos, alma, rocky Автор: Сергей Антропов Сайт: https://devops.org.ru
102 lines
3.0 KiB
YAML
102 lines
3.0 KiB
YAML
---
|
||
#description: Пресет для тестирования производительности на собственных образах (8 хостов)
|
||
# Автор: Сергей Антропов
|
||
# Сайт: https://devops.org.ru
|
||
|
||
docker_network: ansible-lab-performance
|
||
generated_inventory: "{{ molecule_ephemeral_directory }}/inventory/hosts.ini"
|
||
|
||
# Собственные образы AnsibleTemplate для тестирования производительности
|
||
images:
|
||
ansible-controller: "inecs/ansible-lab:ansible-controller-latest"
|
||
alt-linux: "inecs/ansible-lab:alt-linux-latest"
|
||
astra-linux: "inecs/ansible-lab:astra-linux-latest"
|
||
rhel: "inecs/ansible-lab:rhel-latest"
|
||
centos: "inecs/ansible-lab:centos-latest"
|
||
alma: "inecs/ansible-lab:alma-latest"
|
||
rocky: "inecs/ansible-lab:rocky-latest"
|
||
|
||
systemd_defaults:
|
||
privileged: true
|
||
command: "/sbin/init"
|
||
volumes:
|
||
- "/sys/fs/cgroup:/sys/fs/cgroup:ro"
|
||
tmpfs: ["/run", "/run/lock"]
|
||
capabilities: ["SYS_ADMIN"]
|
||
|
||
# Кластер для тестирования производительности
|
||
hosts:
|
||
# Ansible Controller
|
||
- name: ansible-controller
|
||
family: debian
|
||
groups: [controller, ansible, management]
|
||
image: "{{ images.ansible-controller }}"
|
||
volumes:
|
||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||
- "{{ molecule_ephemeral_directory }}/ansible:/ansible"
|
||
|
||
# Web серверы на разных ОС
|
||
- name: web-alt
|
||
family: alt
|
||
groups: [web, alt, performance]
|
||
image: "{{ images.alt-linux }}"
|
||
publish: ["80:80", "443:443"]
|
||
environment:
|
||
- NGINX_WORKER_PROCESSES=4
|
||
- NGINX_WORKER_CONNECTIONS=1024
|
||
|
||
- name: web-rhel
|
||
family: rhel
|
||
groups: [web, rhel, performance]
|
||
image: "{{ images.rhel }}"
|
||
publish: ["8080:80", "8443:443"]
|
||
environment:
|
||
- NGINX_WORKER_PROCESSES=4
|
||
- NGINX_WORKER_CONNECTIONS=1024
|
||
|
||
# App серверы на разных ОС
|
||
- name: app-centos
|
||
family: centos
|
||
groups: [app, centos, performance]
|
||
image: "{{ images.centos }}"
|
||
publish: ["8081:8080"]
|
||
environment:
|
||
- JAVA_OPTS="-Xmx2g -Xms1g"
|
||
|
||
- name: app-alma
|
||
family: alma
|
||
groups: [app, alma, performance]
|
||
image: "{{ images.alma }}"
|
||
publish: ["8082:8080"]
|
||
environment:
|
||
- JAVA_OPTS="-Xmx2g -Xms1g"
|
||
|
||
# Database серверы на разных ОС
|
||
- name: db-rocky
|
||
family: rocky
|
||
groups: [database, rocky, performance]
|
||
image: "{{ images.rocky }}"
|
||
publish: ["5432:5432"]
|
||
environment:
|
||
- POSTGRES_SHARED_BUFFERS=256MB
|
||
- POSTGRES_EFFECTIVE_CACHE_SIZE=1GB
|
||
|
||
- name: db-astra
|
||
family: astra
|
||
groups: [database, astra, performance]
|
||
image: "{{ images.astra-linux }}"
|
||
publish: ["5433:5432"]
|
||
environment:
|
||
- POSTGRES_SHARED_BUFFERS=256MB
|
||
- POSTGRES_EFFECTIVE_CACHE_SIZE=1GB
|
||
|
||
# Load balancer на ALT Linux
|
||
- name: lb-alt
|
||
family: alt
|
||
groups: [loadbalancer, haproxy, alt, performance]
|
||
image: "{{ images.alt-linux }}"
|
||
publish: ["80:80", "443:443", "8404:8404"]
|
||
environment:
|
||
- HAPROXY_MAXCONN=4096
|
||
- HAPROXY_NBTHREAD=4
|