Prohoster > Blog > quản lý > Cách mở đường hầm trong nhóm hoặc vùng chứa Kubernetes bằng tcpserver và netcat
Cách mở đường hầm trong nhóm hoặc vùng chứa Kubernetes bằng tcpserver và netcat
Ghi chú. bản dịch.: Эта практическая заметка от создателя LayerCI — отличная иллюстрация так называемых tips & tricks для Kubernetes (и не только). Предлагаемое здесь решение — лишь одно из немногих и, пожалуй, не самое очевидное (для некоторых случаев может подойти уже упомянутый в комментариях «родной» для K8s kubectl port-forward). Однако оно позволяет как минимум посмотреть на проблему с позиции применения классических утилит и их дальнейшего комбинирования — одновременно простого, гибкого и мощного (см. «другие идеи» в конце для вдохновения).
Представьте типичную ситуацию: вы хотите, чтобы порт на локальном компьютере волшебным образом перенаправлял трафик в pod/контейнер (или наоборот).
Возможные сценарии использования
Проверить, что возвращает HTTP endpoint /healthz pod’а в production-кластере.
Подключить TCP-отладчик к pod’у на локальной машине.
Получить доступ к production-базе из локальных инструментов для работы с БД без необходимости возиться с аутентификацией (обычно у localhost’а есть права root’а).
Запустить одноразовый скрипт миграции для данных в staging-кластере без необходимости создавать для него контейнер.
Подключить сессию VNC к pod’у с запущенным виртуальным рабочим столом (см. XVFB).
Несколько слов о необходимых инструментах
Tcpserver — Open Source-утилита, доступная в большинстве репозиториев пакетов Linux. Она позволяет открыть локальный порт и перенаправить на него трафик, получаемый через stdin/stdout от любой указанной команды: