본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 시스템·유틸리티 · 윈도우즈 유틸

Kubevpn

0

KubeVPN은 Kubernetes 클러스터 네트워크에 원활하게 연결되는 클라우드 네이티브 개발 환경을 제공하는 오픈소스 도구입니다.

네트워크 터널로컬 개발서비스 메시클라우드 네이티브

소개

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` 명령어를 사용할 때는 루트 권한이 필요할 수 있습니다.