Cloud Shell용 Cloud Code에서 기존 애플리케이션 사용

Cloud Code는 백그라운드에서 사용하는 Skaffold를 활용하여 애플리케이션을 실행하거나 디버그합니다.

이미 Kubernetes 매니페스트와 Dockerfile을 사용하여 이미지를 빌드하도록 구성된 기존 애플리케이션이 있는 경우이를 Cloud Code로 열고 사용할 수 있습니다.

추가 구성으로는 skaffold 구성cloudcode.kubernetes 유형의 시작 구성만 있으면 됩니다. Cloud Code는 애플리케이션을 처음 실행하거나 디버그할 때 이러한 구성을 만드는 과정을 안내합니다.

구성 설정

애플리케이션에 Dockerfile이 있지만 필요한 Skaffold 및 실행 구성이 없으면 다음 단계를 완료합니다.

  1. Cloud Code 상태 표시줄에서 활성 프로젝트 이름을 클릭합니다.

    상태 표시줄의 활성 프로젝트 이름

  2. 표시되는 빠른 선택 메뉴에서 Kubernetes에서 실행 또는 Kubernetes에서 디버그를 선택합니다.

  3. Kubernetes의 실행/디버그 대화상자에서 원하는 빌더와 설정을 지정합니다. 또한 구성 이름을 맞춤설정할 수도 있습니다.

  4. 디버그 또는 실행을 클릭합니다.

    새로 생성된 skaffold.yamlcloudcode.kubernetes 실행 구성이 작업공간에 추가되고 앱이 실행되거나 디버깅할 준비가 됩니다.

이미 skaffold.yaml이 있는 애플리케이션의 구성 설정

애플리케이션에 이미 skaffold.yaml 파일이 있으면 다음 단계를 따르세요.

  1. Cloud Code 상태 표시줄에서 활성 프로젝트 이름을 클릭합니다.

    상태 표시줄의 활성 프로젝트 이름

  2. 표시되는 빠른 선택 메뉴에서 Kubernetes에서 실행 또는 Kubernetes에서 디버그를 선택합니다.

  3. 작업공간에 skaffold.yaml 파일이 두 개 이상 있는 경우 원하는 skaffold.yaml 파일을 선택합니다.

  4. 선택한 skaffold.yaml 파일에 Skaffold 프로필이 2개 이상 있으면 원하는 Skaffold 프로필을 선택합니다.

    새로 만든 cloudcode.kubernetes 실행 구성이 작업공간(.vscode/launch.json)에 추가되고 앱이 실행되거나 디버깅할 준비가 됩니다.

수동으로 Skaffold 구성 만들기

커스텀 옵션을 정의하기 위해 Skaffold 구성을 수동으로 만들 수 있습니다. Cloud Code에서는 수동 Skaffold 구성 만들기를 지원하기 위해 라이브 템플릿 생성 기능이 지원됩니다.

Skaffold 구성을 수동으로 만들려면 다음 안내를 따르세요.

  1. 작업공간의 루트 디렉터리에 skaffold.yaml이라는 새 파일을 만듭니다.

  2. 파일에서 Command/Ctrl+Space를 눌러 스니펫 추천 목록을 확인한 후 Skaffold - 시작하기 스니펫을 선택합니다.

    수동으로 Skaffold 구성 만들기 intellisense

  3. image 필드에 프로젝트 이미지 이름을 입력하고 manifests 필드에 배포할 Kubernetes 리소스 목록을 입력합니다.

    Dockerfile 기반 빌드의 예:

    build:
      artifacts:
        - image: image_name
    deploy:
      kubectl:
        manifests:
          - k8s/web.yaml
          - k8s/backend.yaml
    

    컨텍스트마다 빌드, 테스트, 배포 구성을 정의하려면 Skaffold 프로필이 다를 수 있습니다. 다음 샘플은 Cloud Build로 이미지를 빌드하도록 Cloud Code를 구성하기 위한 Cloud Build 프로필을 보여줍니다.

    profiles:
    # use the cloudbuild profile to build images using Google Cloud Build
    - name: cloudbuild
      build:
        googleCloudBuild: {}
    

    전체 스키마 세부정보는 skaffold.yaml 참조를 확인하세요.

다음 단계