Como executar aplicativos do App Engine no GKE

Neste guia, mostramos como executar um aplicativo de ambiente flexível do App Engine no GKE. Para executar o aplicativo no GKE, crie um Dockerfile para ele, crie um contêiner usando esse Dockerfile e execute o contêiner no GKE. Nenhuma alteração de código é necessária.

Antes de começar

Antes de seguir as instruções desta página, realize as etapas abaixo:

  1. Verifique se o aplicativo foi implantado e está sendo executado corretamente no ambiente flexível do App Engine.

  2. Nessas instruções, você usará o mesmo projeto que utilizou no seu app do App Engine. É sempre possível criar e usar um projeto novo se você quiser.

  3. Ative a(s) GKE, Cloud Build APIs necessária(s).

    Ativar a(s) APIs

  4. Faça o download do Google Cloud SDK e instale-o. Depois, inicialize a ferramenta gcloud:
    Fazer download do SDK

  5. Faça o download e instale a ferramenta kubectl do Kubernetes.

  6. Se preferir, use o Google Cloud Shell. Ele já vem com o git e o SDK do Cloud instalados, além de muitos outros recursos, como compatibilidade com linguagens e editores de código.

  7. Faça o download do Git e instale-o.

    Como criar um Dockerfile para um aplicativo do App Engine

    Para criar um Dockerfile para seu app, siga as instruções abaixo:

    1. Mude para o diretório principal do aplicativo.
    2. Crie um Dockerfile para seu app. Basta executar o comando a seguir:
      gcloud beta app gen-config --custom
      Quando aparecer uma solicitação para alterar o campo do ambiente de execução no app.yaml para "custom", selecione Y para confirmar.

    Como criar um contêiner do Dockerfile

    Para criar um contêiner, siga as instruções abaixo:

    1. Verifique se você está no diretório do aplicativo do App Engine que contém o Dockerfile.

    2. Altere o projeto padrão usado pela ferramenta gcloud para que ele aponte para o projeto que você está usando para executar o aplicativo no GKE:

      gcloud config set project [YOUR-PROJECT-ID]
      

      Substitua [YOUR-PROJECT-ID] pelo código de projeto do GKE.

    3. Crie o contêiner usando o comando a seguir:

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

      Substitua [YOUR-PROJECT-ID] pelo código do seu projeto do GKE e substitua [YOUR-CONTAINER-NAME] pelo nome do contêiner que você quer usar como contêiner do aplicativo.

    4. Aguarde até que o contêiner seja criado. Isso pode demorar algum tempo. Se o contêiner for criado com êxito, será exibida uma mensagem semelhante a esta:

      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<
      

      Observe o nome do contêiner: você precisa especificá-lo ao executar o contêiner no GKE.

    Como executar seu aplicativo no GKE

    Para executar o contêiner que contém seu aplicativo, siga estas etapas:

    1. Crie o cluster (isso pode levar alguns minutos):

      gcloud container clusters create [YOUR-CLUSTER-NAME]
      

      Substitua [YOUR-CLUSTER-NAME] pelo nome que quer dar ao cluster.

    2. Na linha de comando, defina sua zona de computação:

      gcloud config set compute/zone us-central1-b
      
    3. Verifique se a ferramenta kubectl do GKE está autorizada:

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

      Siga as instruções para autorizar a ferramenta.

    4. Execute o contêiner que contém seu aplicativo:

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

      Substitua [YOUR-DEPLOYMENT-NAME] pelo nome que você quer usar para a implantação, substitua [YOUR-PROJECT-ID] pelo código do projeto do GKE e substitua [YOUR-CONTAINER-NAME] pelo nome do contêiner que você criou para o aplicativo.

    5. Exponha o contêiner a acesso público:

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

      Substitua [YOUR-DEPLOYMENT-NAME] pelo nome que você usou nas etapas anteriores. Talvez seja necessário aguardar alguns minutos para que o IP externo fique visível.

    6. Veja o endereço IP externo do aplicativo:

      kubectl get service [YOUR-DEPLOYMENT-NAME]
      

      Substitua [YOUR-DEPLOYMENT-NAME] pelo nome que você usou nas etapas anteriores. Se o campo EXTERNAL IP estiver vazio, espere um pouco. Depois, chame novamente o comando.

    7. Veja o aplicativo em execução no GKE:

      http://EXTERNAL-IP:8080
      

      Substitua EXTERNAL-IP pelo endereço IP externo que você conseguiu na etapa anterior.

    Parabéns, você implantou e executou o aplicativo App Engine Python no GKE com êxito!

    A seguir

    Talvez você queira saber mais sobre Kubernetes e o comando kubectl. O Google Kubernetes Engine usa o Kubernetes para gerenciar, implantar e escalar contêineres. Veja mais informações sobre Kubernetes neste site externo.

    Este guia de início rápido usa kubectl, a interface de linha de comando para o gerenciamento de clusters do Kubernetes. Para mais informações sobre a ferramenta kubectl, consulte a referência dela (em inglês).

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentos do ambiente flexível do App Engine para Python