빠른 시작: Cloud Code로 Kubernetes 앱 실행

이 페이지에서는 Cloud Code를 시작하는 방법을 설명합니다.

이 빠른 시작에서는 시작 'Hello World' 템플릿을 사용하여 새 Kubernetes 애플리케이션 설정, 클러스터 만들기, 클러스터에서 앱 실행, 앱을 반복적으로 개발할 수 있도록 꾸준히 재빌드 촉진, 실행 중인 코드 디버깅을 수행하고, 라이브 애플리케이션에서 로그 스트리밍을 쉽게 확인할 수 있습니다.

Cloud Code로 새로운 Hello World 앱 만들기

시작하기 전에

Google Cloud를 사용하려면 Google Cloud 프로젝트를 만들고 결제를 사용 설정해야 합니다.

또는 다른 Cloud Platform에서 호스팅되는 클러스터 또는 로컬 Kubernetes 클러스터를 minikubeDocker Desktop과 같은 도구와 함께 사용할 수 있습니다.

플러그인 설치

Cloud Code 플러그인을 설치하는 방법은 다음과 같습니다.

  1. 아직 설치하지 않았다면 JetBrains IDE 버전 2020.1 이상(예: IntelliJ Ultimate/Community, PyCharm Professional/Community, WebStorm, GoLand)을 설치합니다.
  2. 모든 Cloud Platform의 경우 Docker 클라이언트(Docker 레지스트리로 인증됨)가 머신의 PATH에 설치되어 있는지 확인합니다(해당 폴더는 PATH 내의 디렉터리 아래에 표시되어야 함). docker -v를 실행하여 Docker가 이미 설치되어 있는지 확인합니다.

    Cloud Code는 IDE에서 kubectl, Skaffold, Cloud SDK 종속 항목을 자동으로 설치 및 관리합니다.

  3. IntelliJ IDEA 또는 기타 지원되는 JetBrains IDE를 엽니다.

  4. 플러그인 마켓플레이스에서 Cloud Code 플러그인을 검색하고 설치합니다.

    플러그인 마켓플레이스는 다음 메뉴를 통해 액세스할 수 있습니다.

    • Windows 또는 Linux: File(파일) > Settings(설정) > Plugins(플러그인)
    • macOS: IntelliJ IDEA > Preferences(환경설정) > Plugins(플러그인)

    필요한 경우 IDE를 다시 시작하여 플러그인을 활성화하라는 메시지가 표시됩니다.

애플리케이션 만들기

기존 샘플을 사용하여 새 애플리케이션을 만들려면 다음 단계를 따릅니다.

  1. IDE에서 File(파일) > New Project(새 프로젝트)를 열고 Cloud Code: Kubernetes를 선택합니다.
  2. 시작 애플리케이션 목록에서 Hello World 템플릿을 선택합니다. 사용 가능한 템플릿 목록: Python, Go, NodeJS, 자바 hello world, 방명록 애플리케이션
  3. IntelliJ IDEA를 사용하는 경우 컨테이너 이미지가 저장되는 위치를 지정하라는 메시지가 표시됩니다.

    gcr.io/{gcp-project-name} 또는 docker.io/{account} 형식을 사용하여 필드에서 기본 이미지 저장소를 지정합니다.

    선택한 컨테이너 레지스트리에 따라 적절한 형식을 선택합니다.

    • GKE를 사용하는 경우 Google Container Repository에 이미지를 저장할 수 있습니다.

      또한 필드에 자동 완성 기능이 제공되므로 원하는 Google Cloud 프로젝트(그리고 해당하는 경우 현재의 활성 클러스터)와 관련된 이미지를 쉽게 찾을 수 있습니다. 클러스터가 없거나 이 빠른 시작을 위해 새 클러스터를 원하는 경우 이 빠른 시작의 다음 섹션에서 클러스터를 만들어보세요.

      다음 형식을 사용합니다.

      gcr.io/{project-name}: 여기서 {project-name}은 Google Cloud 프로젝트의 이름(클러스터가 포함되어 있거나 클러스터를 만들려는 위치)입니다.

    • Docker Hub에 이미지를 저장하기로 선택하는 경우(비공개 Docker Hub 저장소를 사용하는 경우 적절히 인증해야 합니다) 다음 형식을 사용하세요.

      docker.io/{account} 여기서 {account}는 Docker Hub 계정의 이름입니다.

    • Minikube 또는 Docker Desktop과 같은 로컬 클러스터에서 실행 중인 경우 이 단계를 건너뛰고 다음을 클릭합니다.

  4. 프로젝트 이름을 선택합니다.

    Finish(마침)를 클릭하면 Cloud Code에서 선택한 템플릿을 클론하고 새로 만든 프로젝트를 사용합니다.

    • 자바 템플릿의 경우 Maven 프로젝트를 가져와서 pom.xml을 동기화하라는 메시지가 표시됩니다. Maven 프로젝트로 추가를 클릭하세요.

      비관리형 pom.xml 알림

      또한 변경사항 가져오기를 클릭하여 필요한 Maven 프로젝트를 가져옵니다.

      Maven 변경사항 가져오기 알림

클러스터 만들기

이 빠른 시작에 사용할 수 있는 Kubernetes 도구(예를 들어 kubectl)에서 작동하도록 클러스터를 이미 구성한 경우에는 애플리케이션 개발로 이동하세요.

애플리케이션을 개발하려면 minikube에서 로컬로 호스팅되거나 Google Kubernetes Engine 클러스터와 같은 클라우드 플랫폼을 사용하는 연결된 Kubernetes 클러스터가 필요합니다. 이 빠른 시작에서 사용할 클러스터가 없는 경우 클라우드 플랫폼별 안내에 따라 클러스터를 만드세요.

Google Cloud를 사용하도록 선택하면 Cloud Code 터미널 또는 Cloud Console을 사용하여 GKE 클러스터를 만들 수 있습니다.

Cloud Code 터미널 사용

  1. IDE에서 프로젝트 창을 열면 IDE 하단의 사이드바 또는 도구 메뉴 도구를 사용하여 Cloud Code 터미널에 액세스할 수 있습니다. Cloud Code > 도구 > Cloud Code 터미널.

  2. 아직 설정하지 않았으면 기본 프로젝트를 설정합니다.

    gcloud config set project PROJECT_ID
    
  3. 클러스터 만들기:

    gcloud container clusters create CLUSTER_NAME --zone=COMPUTE_ZONE
    

    예를 들어 us-central1-a 영역에 test-cluster라는 클러스터를 만들려면 gcloud container clusters create test-cluster --zone=us-central1-a를 실행합니다.

    추가 클러스터 맞춤설정에 대한 상세 내용은 명령어 참조 문서를 참고하세요.

  4. 클러스터를 만든 후 다음을 실행하여 이를 로컬 kubeconfig 파일에 추가합니다.

    gcloud container clusters get-credentials CLUSTER_NAME --zone=COMPUTE_ZONE
    

    이렇게 하면 지정된 클러스터가 활성 컨텍스트로 설정됩니다.

Cloud Console 사용

  1. Google Kubernetes Engine 메뉴를 엽니다.

    Google Kubernetes Engine 메뉴 열기

  2. 만들기를 클릭합니다.

  3. 원하는 클러스터 유형(스탠더드 또는 Autopilot)을 선택하고 구성을 클릭합니다.

  4. 원하는 클러스터 이름과 위치를 선택합니다.

  5. 만들기를 클릭하여 클러스터 만들기를 마칩니다.

    필드 맞춤설정에 대한 자세한 내용은 GKE 가이드를 참조하세요.

  6. 클러스터를 만든 후 다음을 실행하여 이를 로컬 kubeconfig 파일에 추가합니다.

    gcloud container clusters get-credentials CLUSTER_NAME --zone=COMPUTE_ZONE
    

    이렇게 하면 지정된 클러스터가 활성 컨텍스트로 설정됩니다.

애플리케이션 개발

Kubernetes에서 애플리케이션 개발을 시작하려면 다음 안내를 따릅니다.

  1. Cloud Platform에서 호스팅된 클러스터에서 실행 중인 경우 Kubernetes에서 개발에 대한 컨테이너 이미지가 저장되는 위치를 정의했는지 확인합니다.
  2. 탐색 메뉴의 실행/디버그 구성 선택기에서 Kubernetes에서 개발 실행 대상을 선택합니다.

    이렇게 하면 모든 코드 변경사항이 자동으로 새 버전의 애플리케이션에 빌드, 푸시, 배포됩니다.

    Kubernetes 배포 실행 구성

    Kubernetes에서 개발실행 작업 아이콘에 대한 실행 작업을 클릭하여 Kubernetes 클러스터에서 개발 주기를 시작합니다.

  3. 출력 창에서 수신 애플리케이션 로그를 봅니다.

    배포가 시작되면 배포된 애플리케이션에 전달된 포트 목록이 표시됩니다.

    Kubernetes 애플리케이션에서 스트리밍 로그 보기

  4. 배포가 성공하면 이제 로컬 URL을 사용하여 서비스에 액세스할 수 있다는 알림이 나타납니다. 이벤트 로그를 열려면 보기를 클릭합니다.

    이제 이벤트 로그에서 실제 앱에 액세스할 수 있는 URL을 볼 수 있다는 알림

    이벤트 로그에서 링크를 클릭하여 실행 중인 애플리케이션으로 브라우저를 엽니다.

    이벤트 로그를 사용하여 포트 전달 서비스 찾기

애플리케이션 디버깅

애플리케이션을 디버깅하는 방법은 다음과 같습니다.

  1. Cloud Platform에서 호스팅된 클러스터에서 실행 중인 경우 Kubernetes에서 개발에 대한 컨테이너 이미지가 저장되는 위치를 정의했는지 확인합니다.
  2. Develop on Kubernetes를 위한 디버그 작업 실행 작업 아이콘을 클릭하여 Kubernetes 클러스터의 디버그 모드에서 개발 주기를 시작합니다.

    디버그 모드에서 Kubernetes 클러스터 개발 주기 시작

  3. Cloud Code에서 디버그 세션을 연결합니다. 성공하면 디버그 도구 창이 열리고 콘솔 탭에서 연결을 확인합니다.

    이제 라이브 Kubernetes 클러스터를 디버깅할 수 있습니다.

  4. 중단점을 추가하려는 코드의 실행줄에서 여백을 클릭합니다.

    붉은색으로 채워진 원은 활성 중단점을 나타내며 윤곽선이 붉고 가운데가 빈 원은 사용하지 않는 중단점을 나타냅니다.

  5. 애플리케이션에 새 요청을 보내면 원하는 행에서 일시중지됩니다.

    Kubernetes 디버거 세션

  6. 디버깅 세션을 종료하려면 Develop on Kubernetes 실행 구성의 중지 아이콘을 클릭합니다.

애플리케이션 실행

Kubernetes에서 애플리케이션을 실행하려면 다음 안내를 따릅니다.

  1. Kubernetes에서 실행에 대한 컨테이너 이미지가 저장되는 위치를 정의했는지 확인합니다.
  2. 원하는 Kubernetes 컨텍스트로 앱을 배포하도록 설정되었는지 확인합니다.

    탐색 메뉴의 실행/디버그 구성 선택기에서 구성 수정...을 선택합니다. Kubernetes에서 실행 구성의 실행 탭에서 배포 환경설정을 지정할 수 있습니다.

  3. 이제 애플리케이션을 배포할 준비가 되었으므로 탐색 메뉴의 실행/디버그 구성 선택기에서 Kubernetes에서 실행을 선택하여 애플리케이션을 배포합니다.

    Kubernetes 배포 실행 구성

  4. Kubernetes에서 실행실행 작업 아이콘을 클릭합니다.

  5. Kubernetes에서 개발하는 것처럼 출력 창에서 수신되는 애플리케이션 로그를 볼 수 있습니다.

  6. 배포가 성공하면 이제 로컬 URL을 사용하여 서비스에 액세스할 수 있다는 알림이 나타납니다. 이벤트 로그를 열려면 보기를 클릭합니다.

    이벤트 로그에서 애플리케이션이 제공되는 포트를 찾습니다. 링크를 클릭하여 실행 중인 애플리케이션으로 브라우저를 엽니다.

  7. 새로 배포된 애플리케이션에 액세스하려면 http://localhost:{port-number}를 방문합니다.

    'Hello World!'를 표시하는 http://localhost:{port-number}의 애플리케이션

로그 보기

애플리케이션을 개발하고 실행하는 동안 터미널 출력 내에서 실행 중인 pod의 실시간 로그 스트림을 볼 수 있지만 Kubernetes 탐색기로 이동하여 특정 pod의 로그를 볼 수도 있습니다.

특정 포드의 로그를 보려면 다음 단계를 따릅니다.

  1. Kubernetes 탐색기로 이동합니다. 오른쪽 측면 패널에서 또는 Tools(도구) > Cloud Code > Kubernetes > View Cluster Explorer(클러스터 탐색기 보기)를 사용해 액세스할 수 있습니다.

    오른쪽 작업 표시줄의 탭에서 Kubernetes 탐색기 패널이 열립니다.

  2. 로그를 보려는 pod를 선택합니다.

  3. pod를 마우스 오른쪽 버튼으로 클릭하고 Stream Logs(스트림 로그)를 선택합니다. 또는 pod에서 실행되는 개별 컨테이너의 로그를 스트리밍할 수 있습니다.

    이렇게 하면 Kubernetes 탐색기 콘솔에 로그가 출력됩니다.

    마우스 오른쪽 버튼 클릭 메뉴를 사용하여 pod에서 로그를 스트리밍하여 Kubernetes 탐색기 콘솔에 로그 출력

삭제

이 빠른 시작에서 사용한 리소스 비용이 계정에 청구되지 않도록 하려면 만든 클러스터와 프로젝트를 삭제해야 합니다.

Google Cloud를 사용 중이며 프로젝트 및 GKE 클러스터를 포함한 관련 리소스를 삭제하려는 경우는 다음을 따릅니다.

  • Cloud Console의 프로젝트 페이지로 이동합니다.

    프로젝트 페이지로 이동

  • 이 빠른 시작에서 만든 프로젝트를 선택하고 옆의 휴지통 아이콘을 클릭하여 삭제합니다.

    그러면 프로젝트가 종료되고 삭제 일정이 예약됩니다.

다음 단계

지원 받기

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