Аналог функционала --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 шт):

Автор решения: Артемий Шувалов
  1. Нужно чтобы разрешён был TTY(это позволит интерактивно проводить дебаг);
  2. kubectl -n {my_namespcae} attach {pod_name} -i

P.S. Штатно в docker также можно подключаться к работающему процессу в контейнере через docker attach {container_id/name}

→ Ссылка