피드로 돌아가기
Running Kubernetes in Docker (KIND) Locally While Your Cluster Lives in Google Cloud Shell
Dev.toDev.to
DevOps

로컬PC 자원 부족 문제를 KIND와 Cloud Shell 조합으로 해결하는 개발 환경 구축 가이드

Running Kubernetes in Docker (KIND) Locally While Your Cluster Lives in Google Cloud Shell

M. Oly Mahmud2026년 3월 31일2intermediate

Context

로컬 개발 머신의 컴퓨팅 자원이 Kubernetes 클러스터 실행에 부족한 문제가 있다. Google Cloud Shell은 충분한 컴퓨팅 자원을 제공하지만 장기 실행 클러스터 운영에 적합하지 않다.

Technical Solution

  • KIND 클러스터 구성 파일에 extraPortMappings을 설정하여 80, 443 포트를 Cloud Shell에 노출한다.
  • Cloud Shell 환경에서 kind create cluster 명령으로 KIND 클러스터를 생성한다.
  • kind export kubeconfig로 생성된 kubeconfig 파일을 my-cluster-config.yaml로 내보낸다.
  • gcloud cloud-shell scp 명령으로 kubeconfig 파일을 로컬 머신으로 복사한다.
  • gcloud cloud-shell ssh에 -L 옵션을 사용하여 로컬 포트 46151을 원격 46151로 포워딩하는 SSH 터널을 설정한다.
  • 로컬 환경에서 KUBECONFIG 환경변수를 설정하고 kubectl get nodes로 클러스터 연결을 확인한다.
  • kubectl apply로 Nginx Deployment와 NodePort Service를 배포한다.

Impact

SSH 터널이 Cloud Shell 세션 활성 상태로 유지되는 동안 포워딩이 지속된다.

Key Takeaway

Cloud Shell의 컴퓨팅 자원을 활용하면 로컬 머신에 Docker Desktop 오버헤드 없이 Kubernetes 개발이 가능하다.


컴퓨팅 자원 제한 로컬PC에서 KIND 클러스터 실행 시 Cloud Shell에 클러스터를 구축하고 SSH 터널 포워딩으로 kubectl을 로컬에서 제어하는 방식으로 리소스 문제를 해결한다

원문 읽기