- Обновлен README.md в dockerfiles/ с описанием образов - Улучшен docker-compose.yml для ansible-controller - Обновлена документация examples.md и universal-testing.md - Улучшен verify.yml для molecule тестирования - Добавлены новые функции и исправления Автор: Сергей Антропов Сайт: https://devops.org.ru
4.7 KiB
4.7 KiB
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'ах для создания универсальной системы тестирования.