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

이미지를 빌드할 Kubernetes 매니페스트, Dockerfile 또는 Jib으로 구성된 기존 프로젝트가 있는 경우 플러그인으로 프로젝트를 열고 사용할 수 있습니다. 추가 구성으로는 자동으로 생성되거나 제공된 템플릿으로 만들 수 있는 Skaffold YAML 파일만 필요합니다.

Skaffold YAML을 구성한 후 프로젝트 이미지가 푸시될 위치로 컨테이너 이미지가 저장되는 위치를 지정해야 합니다.

자동 프로젝트 부트스트랩

프로젝트에 Kubernetes 매니페스트가 하나 이상 있어야 합니다. Cloud Code가 프로젝트에서 Kubernetes 매니페스트를 하나라도 발견하면 Cloud Code가 부트스트랩을 시도합니다.

Cloud Code가 기존 Skaffold 구성을 감지하지 못하면 구성을 설정하라는 메시지가 표시됩니다.

기본 요건

skaffold.yaml 파일을 만들고 필요한 구성을 실행하라는 메시지를 표시하려면 프로젝트가 다음 기본 요건을 충족해야 합니다.

  • (옵션 1) 프로젝트에 Dockerfile이 있고 Jib용으로 구성된 경우, 또는

  • (옵션 2) 프로젝트를 빌드팩을 사용하여 빌드할 수 있으며 Kubernetes 리소스가 있는 경우

Kubernetes 실행 구성 설정

기본 요건이 충족되면 Cloud Code에 skaffold.yaml 파일(아직 없는 경우)과 필요한 실행 구성을 만들라는 메시지가 표시됩니다.

Cloud Code Kubernetes 실행 구성을 만들 수 있는 링크가 포함된 알림

  1. 알림을 클릭합니다. 이렇게 하면 구성이 자동으로 생성됩니다(가능한 경우).

    여러 이미지 또는 빌더가 감지되어 자동 Skaffold 구성을 만들 수 없는 경우 Cloud Code에서 감지된 이미지와 빌더 간에 매핑을 제공하라는 대화상자를 표시합니다.

    Skaffold 구성에 사용할 빌드 설정 지정

    또는 도구 >Cloud Code >Kubernetes로 이동하여 Kubernetes 지원 추가를 선택해 Skaffold 구성을 설정할 수도 있습니다.

    이 옵션은 프로젝트의 Kubernetes 리소스를 분석하고 skaffold.yaml 파일(아직 없는 경우)과 필요한 실행 구성을 생성합니다. 이때 생성되는 실행 구성으로는 Kubernetes에서 프로젝트를 실행하기 위한 구성과 Kubernetes 클러스터 개발용 구성이 있습니다.

  2. 지원이 추가되면 새로 추가된 실행 구성을 사용하여 Kubernetes에서 프로젝트를 실행하고 디버깅할 수 있습니다.

수동으로 Cloud Code Skaffold 구성 만들기

skaffold.yaml 파일을 수동으로 만들거나 기존 파일을 프로젝트에 추가할 수 있습니다.

실시간 템플릿을 사용하여 skaffold.yaml 파일을 수동으로 만들려면 다음 단계를 따르세요.

  1. 프로젝트의 루트 디렉터리에 skaffold.yaml이라는 새 파일을 만듭니다(마우스 오른쪽 버튼으로 클릭 > New(새로 만들기) > File(파일)).

  2. 새 파일에 커서로 Ctrl+Space를 눌러서 라이브 템플릿 제안을 가져오고 원하는 Skaffold 템플릿을 선택합니다.

    Skaffold YAML 템플릿 사용

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

  4. Cloud Code에서 skaffold.yaml 파일을 유효한 것으로 확인하면 메시지를 클릭하여 Kubernetes 실행 구성을 만듭니다.

    Kubernetes 실행 대상 알림 만들기

Cloud Code Skaffold 구성 예시

  • Dockerfile 기반 빌드:

    build:
      artifacts:
        - image: image_name
    deploy:
      kubectl:
        manifests:
          - k8s/web.yaml
          - k8s/backend.yaml
    
  • Jib 플러그인이 있는 자바 Maven/Gradle 프로젝트에 대한 빌드 섹션(배포 섹션은 위 예시와 동일하게 유지됨):

    build:
    artifacts:
    - image: image_name
      jib: {}
    
  • 컨텍스트마다 빌드, 테스트, 배포 구성을 정의하려면 프로필이 다를 수 있습니다. 다음은 Cloud Build로 이미지를 빌드하도록 Cloud Build를 구성하기 위한 Cloud Build 프로필의 예시입니다.

    profiles:
    # use the cloudbuild profile to build images using Google Cloud Build
    - name: cloudbuild
      build:
        googleCloudBuild: {}
    
  • Helm을 사용하여 프로젝트를 배포하려면 Helm 문서를 참조하세요.

컨테이너 이미지가 저장되는 위치 지정

컨테이너 이미지 스토리지

애플리케이션을 배포하기 전에 프로젝트에 사용할 기본 이미지 저장소를 정의해야 합니다.

기본적으로 프로젝트는 Kubernetes 매니페스트에 지정된 이미지 이름을 사용하도록 구성됩니다. 이 이미지 사양을 맞춤설정할 수도 있습니다. 원하는 저장소(Artifact Registry, Container Registry, DockerHub, 비공개 저장소 등)를 설정한 후 실행 구성을 수정하고 이를 실행 구성 설정에서 기본 이미지 저장소로 지정합니다. Google Container Registry 이미지의 경우 Container Registry 저장소를 더 빨리 찾을 수 있도록 이 필드에 자동 완성 기능이 제공됩니다.

이러한 기능은 구성 수정 >Kubernetes에서 개발 >이미지 저장소 아래 상단 작업 표시줄의 실행/디버그 구성 대화상자에서 액세스할 수 있습니다.

'gcr.io/' 형식으로 설정되고 현재 프로젝트 및 활성 클러스터를 기반으로 자동 완성 옵션이 표시되는 실행 구성의 기본 이미지 저장소

컨테이너 이미지 환경설정 지정에 대한 자세한 내용은 컨테이너 이미지 설정 구성 가이드를 참조하세요.

빌드 설정

컨테이너 이미지를 설정하면 빌드 설정을 구성할 수 있습니다. Cloud Code는 Docker, Jib, Buildpacks 아티팩트 유형을 지원합니다.

실행 구성 설정의 빌드 / 배포 탭(구성 수정 > Develop on Kubernetes)에서 기본 프로필의 빌드 설정을 구성할 수 있습니다.

빌드/배포 탭에 표시된 빌드 설정

이미지의 빌드 설정을 지정하는 방법에 대한 자세한 내용은 컨테이너 이미지 빌드 환경설정 구성 가이드를 참조하세요.

다음 단계

지원 받기

IntelliJ IDE에서 의견을 제출하거나 문제를 신고하려면 도구 > Cloud Code > 도움말 / 정보 > 의견 제출 또는 문제 신고로 이동하여 GitHub에 문제를 신고하거나 Stack Overflow에서 질문합니다.