- Обновлен README.md в dockerfiles/ с описанием образов - Улучшен docker-compose.yml для ansible-controller - Обновлена документация examples.md и universal-testing.md - Улучшен verify.yml для molecule тестирования - Добавлены новые функции и исправления Автор: Сергей Антропов Сайт: https://devops.org.ru
Docker образы для универсальной системы тестирования
Обзор
Эта директория содержит Docker образы для различных операционных систем и компонентов, используемых в универсальной системе тестирования Ansible ролей.
Структура
dockerfiles/
├── ansible-controller/     # Ansible контроллер с предустановленными коллекциями
├── alt-linux/             # ALT Linux с systemd
├── astra-linux/           # Astra Linux с systemd
├── redos/                 # RED OS с systemd
├── Makefile               # Команды для сборки образов
└── README.md              # Документация
Доступные образы
ansible-controller
- Базовый образ: quay.io/ansible/creator-ee:latest
- Описание: Ansible контроллер с предустановленными коллекциями
- Компоненты:
- Ansible с коллекциями (community.docker, community.general, ansible.posix)
- Docker CLI
- kubectl
- Helm
- Kind
- Istio CLI
- Дополнительные роли (geerlingguy.docker, geerlingguy.kubernetes)
 
alt-linux
- Базовый образ: altlinux/p9
- Описание: ALT Linux с systemd
- Компоненты:
- systemd
- Docker
- Docker Compose
- Python3
- Пользователь ansible
 
astra-linux
- Базовый образ: astralinux/astra-1.7
- Описание: Astra Linux с systemd
- Компоненты:
- systemd
- Docker
- Docker Compose
- Python3
- Пользователь ansible
 
redos
- Базовый образ: redos/redos:9
- Описание: RED OS с systemd
- Компоненты:
- systemd
- Docker
- Docker Compose
- Python3
- Пользователь ansible
 
Использование
Сборка всех образов
make docker-build
Сборка конкретного образа
make docker-build IMAGE=ansible-controller
Отправка образов в registry
make docker-push
Очистка образов
make docker-clean
Информация об образах
make docker-info
Настройка registry
По умолчанию образы собираются с тегом localhost:5000/имя:latest. Для изменения registry:
make docker-build REGISTRY=my-registry.com
make docker-push REGISTRY=my-registry.com
Использование в preset'ах
После сборки образов их можно использовать в preset'ах:
# molecule/presets/my-preset.yml
images:
  debian: "ghcr.io/ansible-community/molecule-ubuntu-systemd:jammy"
  rhel: "quay.io/centos/centos:stream9-systemd"
  alt: "localhost:5000/alt-linux:latest"
  astra: "localhost:5000/astra-linux:latest"
  redos: "localhost:5000/redos:latest"
hosts:
  - name: alt-server
    family: alt
    groups: [servers]
  - name: astra-server
    family: astra
    groups: [servers]
  - name: redos-server
    family: redos
    groups: [servers]
Лучшие практики
1. Версионирование образов
make docker-build VERSION=v1.0.0
2. Использование registry
make docker-push REGISTRY=my-registry.com VERSION=v1.0.0
3. Очистка старых образов
make docker-clean
Troubleshooting
Проблемы с сборкой
- Проверьте доступность базовых образов
- Убедитесь, что Docker запущен
- Проверьте права доступа к Docker
Проблемы с registry
- Убедитесь, что registry доступен
- Проверьте аутентификацию
- Проверьте права на push
Проблемы с образами
- Проверьте размер образов
- Убедитесь, что все зависимости установлены
- Проверьте совместимость с базовыми образами
Заключение
Эти Docker образы предоставляют готовую среду для тестирования Ansible ролей на различных операционных системах. Используйте их в своих preset'ах для создания универсальной системы тестирования.