SSH Local Port Forwarding

흑두루미·2026년 6월 8일

환경 제약

  1. Kubernetes 내부 Service는 외부에서 직접 접근 불가
  2. Worker Node가 Private 성격
  3. 보안그룹/방화벽에서 일부 포트만 허용
  4. Grafana/ArgoCD/Kiali는 ClusterIP 또는 내부 서비스
  5. 내 PC는 Kubernetes 내부망에 직접 붙어있지 않음

SSH 터널링 / Port Forwarding 활용

실습 환경에서는 Kubernetes 내부 서비스가 외부에 직접 노출되어 있지 않았기 때문에,
Grafana, ArgoCD, Kiali, Prometheus와 같은 관리 UI에 직접 접근할 수 없었음

이를 해결하기 위해 kubectl port-forward와 SSH Local Port Forwarding을 함께 사용

예를 들어 Grafana의 경우 Kubernetes 내부 Service를 로컬 포트로 포워딩

kubectl port-forward -n monitoring svc/monitoring-grafana 3000:80

이후 내 PC에서 직접 접근이 어려운 경우 SSH 터널링을 사용하여 서버의 localhost 포트를 내 PC로 가져옴

ssh -L 3000:localhost:3000 root@<서버공인IP>

이 구조를 통해 외부에 서비스를 직접 노출하지 않고도 안전하게 내부 관리 UI에 접근할 수 있었음

불필요하게 NodePort나 LoadBalancer를 열지 않아도 된다는 장점이 있음

0개의 댓글