ci в докере тесты для кластерной роли, в которой 1) участники кластера должны общаться по именам 2) в процессе настройки требуется запуск через systemd, и запись в sysctl/sysfs.
В теории, полагаю что делается это через dind и запуск c privileged, а на практике кто-то уже делал такое? это вообще реально или может там есть какие-то фунаментально нерешаемые проблемы?
Все работает. В platforms описываете нужные контейнеры, в них описываете отдельную сеть (docker_networks) и контейнеры спокойно видят друг друга по именам. Если нужно чтобы виделись по fqdn, то я рядом еще поднимал контейнер с dnsmasq с фиксированным адресом, а dns остальных нацеливал на него. Для systemd или ищете готовый образ кем-то сделанный, либо сами готовите. sysctl/sysfs будут нюансы скорей всего, т.к. даже в privileged mode вы запускаетесь через gitlab-runner и тут зависит от того, как вы это делаете.
Обсуждают сегодня