Files
DevOpsLab/molecule/presets/custom-performance.yml
Сергей Антропов 3b2533c8ee Добавлена поддержка собственных образов для molecule тестирования
- Созданы пресеты для тестирования с собственными образами:
  - 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
2025-10-25 15:46:05 +03:00

102 lines
3.0 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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