Аналог функционала --service-ports из Docker в Kubernetes
Появилась потребности пересесть на Kubernetes с просто работы с docker`ом.
При работе с Docker очень выручал параметр --service-ports.
docker-compose run --rm --service-ports my_service.
Это позволяло вести интерактивную отладку кода со всеми подключенными микросервисами в кластере.
То есть у меня есть приложение G, брокеры W1 и W2, и какой-нибудь ELS.
В такой среде с помощью --service-ports я мог запускать приложение G на локали, прежде установив точки остановы и вести интерактивный дебаг в терминале в нужном мне месте.
здесь подробнее о параметре --service-ports
Сейчас только осваиваю Kubernetes и не нахожу аналоги, чтобы запускать под в подобном режиме с возможностью, чтобы брейкпоинты отрабатывали(понятно что можно провалиться в под и схитрожопить оттуда, запустив там приложение вручную, - об этом есть статья) и была возможность дебаг вести в терминале. Как понимаю из документации docker, речь идёт о том, чтобы запустить сервис с сопоставлением портов между сервисом и другими контейнерами. Это позволяет также не ребилдить образы, а отлаживать код в параллельном режиме.
Буду благодарен тому, кто подскажет есть ли такое вообще в Kubernetes и как реализовать.
Разработка ведётся на Python 3.X
Ответы (1 шт):
- Нужно чтобы разрешён был TTY(это позволит интерактивно проводить дебаг);
kubectl -n {my_namespcae} attach {pod_name} -i
P.S. Штатно в docker также можно подключаться к работающему процессу в контейнере через docker attach {container_id/name}