Исследование команды kubectl port-forward
Команда kubectl port-forward
позволяет перенаправить один или несколько локальных портов на под (pod), развертывание (deployment) или службу (service) в вашем кластере Kubernetes. Она обычно используется для тестирования и отладки служб без их внешнего доступа.
Запустите следующую команду, чтобы просмотреть доступные параметры для kubectl port-forward
:
kubectl port-forward -h
Вы увидите следующий вывод:
Перенаправить один или несколько локальных портов на под.
Используйте тип ресурса/имя, например, deployment/mydeployment, чтобы выбрать под. Если тип ресурса не указан, по умолчанию используется 'pod'.
Если есть несколько подов, соответствующих критериям, под будет выбран автоматически. Сеанс перенаправления завершается,
когда выбранный под завершает работу, и для возобновления перенаправления необходимо перезапустить команду.
Примеры:
## Прослушивать порты 5000 и 6000 локально, перенаправляя данные в/из портов 5000 и 6000 в поде
kubectl port-forward pod/mypod 5000 6000
## Прослушивать порты 5000 и 6000 локально, перенаправляя данные в/из портов 5000 и 6000 в поде, выбранном по развертыванию
kubectl port-forward deployment/mydeployment 5000 6000
## Прослушивать порт 8443 локально, перенаправляя на целевой порт (targetPort) порта службы с именем "https" в поде, выбранном по службе
kubectl port-forward service/myservice 8443:https
## Прослушивать порт 8888 локально, перенаправляя на порт 5000 в поде
kubectl port-forward pod/mypod 8888:5000
## Прослушивать порт 8888 на всех адресах, перенаправляя на порт 5000 в поде
kubectl port-forward --address 0.0.0.0 pod/mypod 8888:5000
## Прослушивать порт 8888 на локальном хосте и выбранном IP-адресе, перенаправляя на порт 5000 в поде
kubectl port-forward --address localhost,10.19.21.23 pod/mypod 8888:5000
## Прослушивать случайный порт локально, перенаправляя на порт 5000 в поде
kubectl port-forward pod/mypod :5000