소개
KubeVPN은 Kubernetes 클러스터 네트워크에 원활하게 연결되는 클라우드 네이티브 개발 환경을 제공하는 오픈소스 도구입니다. Kubernetes 서비스 이름이나 Pod/Service IP를 사용하여 원격 클러스터 리소스에 쉽게 접근하고, 서비스 메시를 통해 클러스터 서비스의 인바운드 트래픽을 로컬 PC로 가로채어 로컬 개발 및 테스트를 가능하게 합니다.
상세정보
원격 Kubernetes 클러스터 네트워크 연결
로컬 PC에서 Kubernetes 클러스터의 네트워크에 연결하여 서비스 이름이나 Pod IP, Service IP를 사용해 클러스터 리소스에 접근할 수 있습니다.
역방향 프록시 및 트래픽 가로채기
로컬 PC에서 실행 중인 애플리케이션으로 원격 Kubernetes 서비스의 인바운드 트래픽을 가로채어 개발 및 테스트를 진행할 수 있습니다. 서비스 메시를 활용해 특정 헤더를 가진 트래픽만 로컬로 라우팅하는 것도 가능합니다.
로컬 Docker에서 Kubernetes Pod 실행
Kubernetes Pod를 로컬 Docker 컨테이너에서 동일한 환경 변수, 볼륨 및 네트워크 설정으로 실행하여 실제 클러스터 환경과 동일한 조건에서 개발할 수 있습니다.
클러스터 네트워크에 연결
다음 명령어를 사용하여 Kubernetes 클러스터 네트워크에 연결합니다.
kubevpn connect
연결 상태를 확인하려면 kubevpn status 명령어를 사용합니다.
역방향 프록시 설정
로컬 애플리케이션으로 트래픽을 가로채려면 kubevpn proxy deployment/[name] 명령어를 사용합니다. 특정 헤더를 가진 트래픽만 가로채려면 --headers 옵션을 추가합니다.
로컬 Docker에서 Pod 실행
로컬 Docker 환경에서 Pod를 실행하려면 kubevpn run deployment/[name] 명령어를 사용합니다.
이런 경우에 유용합니다
- Kubernetes 클러스터에서 실행 중인 서비스를 로컬 환경에서 디버깅해야 할 때
- 로컬 개발 환경과 프로덕션 Kubernetes 클러스터의 네트워크 환경을 동일하게 유지해야 할 때
- 다수의 Kubernetes 클러스터에 동시에 접속하여 작업해야 할 때
- 서비스 메시를 활용한 특정 트래픽 라우팅이 필요한 테스트 환경 구축 시
지원 환경·시스템 요구사항
KubeVPN은 Windows, macOS, Linux 플랫폼을 지원합니다. Kubernetes 클러스터에 대한 접근 권한과 kubectl 설정 파일(.kube/config)이 필요합니다. 로컬 Docker 기반 개발을 위해서는 Docker가 설치되어 있어야 합니다.
시스템 요구사항
KubeVPN을 사용하려면 Kubernetes 클러스터에 대한 접근 권한이 필요합니다. 로컬에서 실행 시 Docker가 설치되어 있어야 하며, `kubevpn run` 명령어를 사용할 때는 루트 권한이 필요할 수 있습니다.


