GKE에서 App Engine 앱 실행

이 가이드에서는 GKE에서 App Engine 가변형 환경 애플리케이션을 실행하는 방법을 보여줍니다. GKE에서 앱을 실행하려면 Dockerfile을 만들고, 해당 Dockerfile을 사용하여 컨테이너를 빌드한 후 GKE에서 컨테이너를 실행해야 합니다. 코드를 변경할 필요는 없습니다.

시작하기 전에

이 페이지의 안내를 따르기 전에 다음 단계를 수행하세요.

  1. App Engine 가변형 환경에서 애플리케이션이 성공적으로 배포 및 실행되는지 확인합니다.

  2. 이 안내에서는 App Engine 앱에 사용한 프로젝트와 동일한 프로젝트를 사용합니다. 원하는 경우, 언제든지 새 프로젝트를 생성 및 사용할 수 있습니다.

  3. GKE, Cloud Build APIs를 사용 설정합니다.

    APIs 사용 설정

  4. Google Cloud SDK를 다운로드 및 설치한 후 gcloud 도구를 초기화합니다.
    SDK 다운로드

  5. Kubernetes kubectl 도구를 다운로드하여 설치합니다.

  6. 또는 git 및 Cloud SDK가 설치되어 제공되는 Google Cloud Shell과 언어 지원 및 코드 편집기와 같은 다양한 기타 기능을 사용할 수 있습니다.

  7. git을 다운로드 및 설치합니다.

    App Engine 앱용 Dockerfile 만들기

    앱에 사용할 Dockerfile을 만들려면 다음 안내를 따르세요.

    1. 애플리케이션 기본 디렉토리로 변경합니다.
    2. 다음 명령어를 실행하여 앱의 Dockerfile을 만듭니다.
      gcloud beta app gen-config --custom
      app.yaml의 런타임 필드를 커스텀으로 변경하라는 메시지가 표시되면 Y를 선택하여 확인합니다.

    Dockerfile에서 컨테이너 빌드

    컨테이너를 빌드하려면 다음 단계를 따르세요.

    1. 현재 디렉토리가 Dockerfile이 포함된 App Engine 애플리케이션 디렉토리인지 확인합니다.

    2. gcloud 도구에서 사용하는 기본 프로젝트를 GKE에서 앱을 실행하는 데 사용 중인 프로젝트를 가리키도록 변경합니다.

      gcloud config set project [YOUR-PROJECT-ID]
      

      [YOUR-PROJECT-ID]를 GKE 프로젝트 ID로 바꿉니다.

    3. 다음 명령어를 사용하여 컨테이너를 빌드합니다.

      gcloud builds submit --tag gcr.io/[YOUR-PROJECT-ID]/[YOUR-CONTAINER-NAME] .
      

      [YOUR-PROJECT-ID]를 GKE 프로젝트의 프로젝트 ID로 바꾸고, [YOUR-CONTAINER-NAME]을 앱 컨테이너에 사용할 컨테이너의 이름으로 바꿉니다.

    4. 컨테이너가 빌드될 때까지 기다립니다. 시간이 다소 걸릴 수 있습니다. 성공적으로 완료되면 다음과 같은 메시지가 표시됩니다.

      Created [https://cloudbuild.googleapis.com/v1/projects/YOUR-PROJECT-ID/builds/xxxxxxx-xxxx-xxx-xxx-xxxxxxxxxxxx].
      Logs are permanently available at [https://console.developers.google.com/logs/viewer?resource=build&project=YOUR-PROJECT-ID&filters=text:xxxx-xxx-xxx-xxxxxxxxxxxx]].
      
      ID  CREATE_TIME DURATION  SOURCE                                                     IMAGES                               STATUS
      xxxxxxx-xxxx-xxx-xxx-xxxxxxxxxxxx  2017-03-04T00:42:10+00:00  1M32S     gs://YOUR-PROJECT-ID_cloudbuild/source/xxxxxxx.08.tgz  gcr.io/YOUR-PROJECT-ID/YOUR-CONTAINER-NAME  SUCCESS<
      

      컨테이너 이름을 기록합니다. GKE에서 컨테이너 실행 시 이름을 지정해야 합니다.

    GKE에서 앱 실행

    애플리케이션이 포함된 컨테이너를 실행하려면 다음 단계를 따르세요.

    1. 클러스터를 만듭니다. 몇 분 정도 걸릴 수 있습니다.

      gcloud container clusters create [YOUR-CLUSTER-NAME]
      

      [YOUR-CLUSTER-NAME]을 클러스터에 지정할 이름으로 바꿉니다.

    2. 명령줄에서 컴퓨팅 영역을 설정합니다.

      gcloud config set compute/zone us-central1-b
      
    3. GKE kubectl 도구가 승인되었는지 확인합니다.

      gcloud container clusters get-credentials [YOUR-CLUSTER-NAME]
      

      표시되는 메시지에 따라 도구를 승인합니다.

    4. 앱이 포함된 컨테이너를 실행합니다.

      kubectl run [YOUR-DEPLOYMENT-NAME] --image=gcr.io/[YOUR-PROJECT-ID]/[YOUR-CONTAINER-NAME] --port=8080
      

      [YOUR-DEPLOYMENT-NAME]을 배포에 사용할 이름으로 바꾸고, [YOUR-PROJECT-ID]을 GKE 프로젝트 ID로 바꾸고, [YOUR-CONTAINER-NAME]을 앱을 만든 컨테이너 이름으로 바꿉니다.

    5. 공개 액세스가 가능하도록 컨테이너를 노출합니다.

      kubectl expose deployment [YOUR-DEPLOYMENT-NAME] --type="LoadBalancer"
      

      [YOUR-DEPLOYMENT-NAME]을 이전 단계에서 사용한 이름으로 바꿉니다. 외부 IP를 확인하려면 몇 분 정도 기다려야 할 수 있습니다.

    6. 앱의 외부 IP 주소를 확인합니다.

      kubectl get service [YOUR-DEPLOYMENT-NAME]
      

      [YOUR-DEPLOYMENT-NAME]을 이전 단계에서 사용한 이름으로 바꿉니다. EXTERNAL IP 필드가 비어 있으면 잠시 기다린 후 명령어를 다시 호출합니다.

    7. GKE에서 실행 중인 앱을 봅니다.

      http://EXTERNAL-IP:8080
      

      EXTERNAL-IP를 이전 단계에서 가져온 외부 IP 주소로 바꿉니다.

    GKE에 App Engine Python 앱을 성공적으로 배포 및 실행했습니다.

    다음 단계

    Kubernetes 및 kubectl 명령어에 대해 자세히 알아보세요. Google Kubernetes Engine은 컨테이너 관리, 배포, 확장에 Kubernetes를 사용합니다. Kubernetes에 대한 자세한 내용은 외부 Kubernetes 사이트를 참조하세요.

    이 가이드에서는 Kubernetes 클러스터 관리를 위한 명령줄 인터페이스인 kubectl을 사용합니다. kubectl에 대한 자세한 내용은 kubectl 참조를 확인하세요.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Python 문서용 App Engine 가변형 환경