VS Code용 Cloud Code에서 로컬 개발에 minikube 사용

Cloud Code는 minikube를 자동으로 설치하고 관리합니다. 종속 항목 관리를 선택 해제한 경우 PATH에 minikube 바이너리를 추가합니다.

시작하기 전에

  1. Cloud Code가 샘플 클론과 같은 Git 작업을 수행할 수 있도록 Git을 설치합니다.
  2. 아직 설치하지 않은 경우 Cloud Code 플러그인을 설치합니다.

템플릿에서 애플리케이션 만들기

Cloud Code에는 빠른 시작을 위한 코드 샘플 템플릿 모음이 포함되어 있습니다. 기존 샘플을 사용하여 Kubernetes 애플리케이션을 만들려면 다음 단계를 따르세요.

  1. 명령어 팔레트를 시작한 다음(Ctrl/Cmd+Shift+P를 누르거나 보기 > 명령어 팔레트를 클릭) Cloud Code: New Application을 실행합니다.
  2. 샘플 유형으로 Kubernetes 애플리케이션을 선택합니다.
  3. 사용할 수 있는 옵션(NodeJS, Go, Python, 자바) 중에서 사용할 언어에 맞는 샘플을 선택합니다.
  4. 로컬 머신에서 원하는 애플리케이션 위치를 선택한 후 새 애플리케이션 만들기를 클릭하여 저장합니다.

    Cloud Code는 선택한 샘플을 클론하여 사용할 새로운 프로젝트를 엽니다.

샘플 애플리케이션 구조

모든 언어 샘플 애플리케이션의 구조는 거의 동일합니다. 이 구조가 지원되는 유일한 구조는 아니지만 시작 시 권장되는 구조입니다.

예를 들어 Node.js 방명록 애플리케이션 구조는 다음과 같습니다.

.
|---- .vscode
|      └---- launch.json
|---- kubernetes-manifests
|     |---- guestbook-backend.deployment.yaml
|     |---- guestbook-backend.service.yaml
|     |---- guestbook-frontend.deployment.yaml
|     |---- guestbook-frontend.service.yaml
|     |---- mongo.deployment.yaml
|     └---- mongo.service.yaml
|---- src
|     |---- backend
|     |     |---- Dockerfile
|     |     |---- index.js
|     |     |---- app.js
|     |     └---- package.json
|     |---- frontend
|           |---- Dockerfile
|           |---- index.js
|     |     |---- app.js
|           └---- package.json
└---- skaffold.yaml

이 Kubernetes 방명록 Node.js 샘플 앱을 자세히 살펴보면 다음과 같은 몇 가지 핵심 파일과 용도가 있습니다.

  • .vscode
    • extensions.json: 이 프로젝트를 열면 관련 확장 프로그램 다운로드를 요청하는 메시지 표시
    • launch.json: Kubernetes 애플리케이션을 실행하거나 디버깅하는 cloudcode.kubernetes 유형의 실행 구성
    • tasks.json: Visual Studio Code 태스크의 구성 정보
  • kubernetes-manifests
    • guestbook-backend.deployment.yaml: 백엔드 노드의 포드 사양
    • guestbook-frontend.deployment.yaml: 프런트엔드 노드의 포드 사양
    • mongo.deployment.yaml: 데이터베이스의 포드 사양
  • src
    • (backend|frontend)/app.js: 웹 서버 로직이 있는 Node.js 코드
    • (backend|frontend)/Dockerfile: 프로그램용 컨테이너 이미지 빌드에 사용
  • skaffold.yaml: Cloud Code가 Kubernetes 애플리케이션을 빌드, 배포, 디버그하는 데 사용되는 Skaffold의 구성 파일

자체 애플리케이션 사용

기존 프로젝트를 사용하는 단계는 기존 Kubernetes 애플리케이션과 함께 Cloud Code 사용을 참조하세요.

Kubernetes 컨텍스트 설정

애플리케이션을 실행하기 전 원하는 Kubernetes 컨텍스트에 앱을 배포하도록 설정되었는지 확인합니다. 이는 구성에서 지정할 수 있습니다.

구성

Cloud Code: Develop on Kubernetes 실행 구성을 사용하는 경우 사용 가능한 설정을 구성하여 배포를 맞춤설정할 수 있습니다.

구성을 추가하거나 수정하려면 실행 > 구성 열기로 이동한 다음 구성을 수정하거나 추가합니다.

minikube 클러스터 생성 및 배포

minikube 클러스터 시작

Cloud Code는 minikube를 자동으로 설치하고 관리합니다. 종속 항목 관리를 선택 해제한 경우 PATH에 minikube 바이너리를 추가합니다.

  1. 명령어 팔레트를 실행(Ctrl/Cmd+Shift+P를 누르거나 보기 > 명령어 팔레트 클릭)한 다음 Cloud Code: Control minikube 명령어를 실행합니다.
  2. 제어할 Minikube 클러스터(프로필) 선택에 대해 minikube를 클릭한 다음 시작을 클릭합니다.

minikube에서 실행

  1. 명령어 팔레트를 시작하고 Cloud Code: Run on Kubernetes를 실행합니다.
  2. 현재 컨텍스트(minikube)를 사용하여 앱을 실행하나요?에서 를 클릭합니다.
  3. Cloud Code는 minikube 클러스터에서 앱을 실행합니다. 메시지가 표시되면 Cloud Shell에서 사용자 인증 정보를 사용하여 Google Cloud API를 호출할 수 있도록 승인합니다.

    Cloud Code개발 세션 섹션에서 배포 세부정보를 확인합니다.

  4. 개발 세션 섹션에서 Portfoward URL을 클릭하여 URL을 확인한 후 URL 링크를 클릭하여 실행 중인 애플리케이션에서 브라우저를 엽니다.

컨테이너로 대화형 터미널 열기

  1. Cloud Code를 클릭한 다음 개발 세션 탐색기를 펼칩니다.
  2. 배포된 리소스를 펼친 후 포드를 펼칩니다.
  3. 컨테이너를 마우스 오른쪽 버튼으로 클릭한 후터미널 가져오기를 클릭합니다.

minikube 클러스터 일시중지 또는 중지

  1. 명령어 팔레트를 실행(Ctrl/Cmd+Shift+P를 누르거나 보기 > 명령어 팔레트 클릭)한 다음 Cloud Code: Control minikube 명령어를 실행합니다.
  2. 제어할 Minikube 클러스터(프로필) 선택 옵션이 채워지면 minikube를 클릭한 다음 중지 또는 일시중지를 클릭합니다.

다른 클라우드 제공업체의 클러스터 만들기 및 추가

온프레미스 클러스터를 사용하거나 Azure 또는 AWS와 같은 다른 제공업체의 클러스터를 사용하는 경우 제공업체의 도구를 사용하여 클러스터를 만들고 KubeConfig에 추가합니다.

다른 로컬 클러스터 작업

Docker Desktop(Mac 또는 Windows)을 사용하는 경우 minikube 외에도 Cloud Code로 작업할 수도 있습니다.

Cloud Code를 로컬 클러스터와 함께 사용하려면 기본 구성(예: ~/.kube/config)에 로컬 클러스터가 포함되어 있는지 확인합니다. 이 클러스터는 현재 컨텍스트로 설정되어야 합니다.

예를 들어 Docker Desktop에서 로컬 클러스터 docker-for-desktop을 사용하는 경우 다음 명령어를 실행하여 원하는 클러스터를 설정합니다.

kubectl config use-context docker-for-desktop

다음 단계

지원받기

의견을 보내려면 GitHub에서 문제를 보고하거나 Stack Overflow에서 질문하세요.