Crie e implemente uma app Web contentorizada

Saiba como criar uma app Web contentorizada com o Cloud Shell Editor, testá-la localmente e, em seguida, implementá-la num cluster do Google Kubernetes Engine (GKE).


Para seguir orientações passo a passo para esta tarefa diretamente no editor do Cloud Shell, clique em Orientar-me:

Visita guiada


Antes de começar

  1. In the Google Cloud console, go to the project selector page.

    Go to project selector

  2. Select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

Crie a sua app Web

Use o editor do Cloud Shell como ambiente para criar a sua app. O editor vem pré-carregado com as ferramentas necessárias para o desenvolvimento na nuvem.

Para criar a sua app:

  1. Inicie o editor do Cloud Shell.

  2. Se lhe for pedido que autorize o Cloud Code a usar as suas credenciais para fazer uma chamada à API Google Cloud, clique em Autorizar.

  3. Abra o menu Cloud Code a partir da barra de estado.

  4. Selecione Nova aplicação.

  5. Selecione Aplicação Kubernetes como o tipo de app de exemplo.

  6. Na lista de apps Kubernetes de exemplo, selecione Go:Hello World.

  7. Selecione uma pasta para a localização da app e, de seguida, clique em Criar nova aplicação.

O editor do Cloud Shell carrega a sua app num novo espaço de trabalho. Depois de recarregar, a sua app fica acessível com a vista do explorador.

Teste a sua app num cluster local

Agora que criou a sua app, pode executá-la num cluster Kubernetes local no Cloud Shell:

  1. Para abrir um terminal do Cloud Shell, clique em Terminal > Novo terminal.
  2. Para iniciar o cluster minikube local, na linha de comandos do terminal, execute o seguinte comando:

    minikube start
    

    A configuração do cluster minikube pode demorar um minuto.

  3. Se lhe for pedido que autorize o Cloud Shell a fazer chamadas à API Cloud, clique em Autorizar.

    Depois de configurar o cluster, é apresentada uma mensagem semelhante à seguinte:

    Done! kubectl is now configured to
    use "minikube" cluster...
    

Depois de configurar o cluster local, crie e execute esta app:

  1. Inicie o menu Cloud Code na barra de estado.
  2. Selecione Executar no Kubernetes.
  3. Se lhe for pedido, confirme que quer usar o contexto do minikube atual.

    Este processo demora alguns minutos e pode ver o estado da implementação na vista Sessões de desenvolvimento.

    Se clicar em diferentes nós na vista Sessões de desenvolvimento, são apresentados excertos de registos relativos à fase de implementação selecionada.

  4. Depois de a app terminar a compilação e a implementação, encontre o nó de encaminhamento de portas para o seu serviço: na vista Sessões de desenvolvimento, expanda URLs de encaminhamento de portas > service > go-hello-world-external.

  5. Para iniciar a sua app, mantenha o ponteiro sobre go-hello-world-external e, de seguida, clique em Abrir URL.

Edite a sua app

Para compreender os componentes da app Hello World, consulte o diagrama no ficheiro readme.md da app. A um nível elevado, a app consiste no seguinte:

  • Uma app Web básica go-hello-world, main.go, que devolve uma resposta com o modelo "Está em execução!" a todos os pedidos recebidos.
  • Um serviço de go-hello-world-externalbalanceador de carga, hello.service.yaml, que expõe a app descrevendo um serviço do Kubernetes.

Para modificar a app:

  1. Modifique o ficheiro main.go para imprimir "It's redeployed!". O ficheiro é guardado automaticamente.
  2. Dê à sua app um minuto para terminar a compilação e a implementação, e monitorize o progresso da app à medida que é recompilada através da vista Sessões de desenvolvimento.

  3. Depois de a app terminar a compilação e a implementação, encontre o nó de encaminhamento de portas para o seu serviço: sessões de desenvolvimento > URLs de encaminhamento de portas > serviço > go-hello-world-external.

  4. Para iniciar a app, mantenha o ponteiro sobre go-hello-world-external e clique em Abrir URL.

Veja os registos de apps

Para analisar a sua app enquanto está em execução, use o visualizador de registos para monitorizar os respetivos registos:

  1. Inicie o Log Viewer abrindo a paleta de comandos (acessível com Ctrl/Cmd+Shift+P ou Ver > Paleta de comandos) e, em seguida, executando Cloud Code: Ver registos.

    Esta vista permite-lhe filtrar e navegar pelos registos da sua app.

  2. Especifique os filtros de Implementação para ver os registos da sua app, go-hello-world.

  3. Mude para o separador com a sua app que mostra "Foi reimplementada!" Atualize a página no navegador e, em seguida, volte ao separador do Cloud Shell.

  4. Para ver os registos recém-gerados no Log Viewer, clique em Atualizar.

Crie um cluster do Google Kubernetes Engine

Para criar um novo cluster do Google Kubernetes Engine para implementar a sua app:

  1. Clique em Ícone do Cloud Code Cloud Code e, de seguida, expanda a secção Kubernetes.

  2. Clique em Adicionar um cluster ao KubeConfig e, de seguida, clique em Google Kubernetes Engine no menu Seleção rápida.

  3. Quando lhe for pedido para ativar container.googleapis.com, clique em Sim.

  4. Clique em + Criar um novo cluster do GKE.

  5. Escolha Padrão como tipo de cluster.

  6. Clique em Abrir para permitir que o Cloud Shell abra a Google Cloud consola.

  7. Na Google Cloud consola, use o projeto que criou, defina a zona como us-central1-a e defina o nome do cluster como my-first-cluster.

  8. Clique em Criar. A criação do cluster demora alguns minutos.

  9. Depois de criar o cluster, no menu Seleção rápida, clique em Atualize a vista do cluster do Kubernetes Atualizar.

  10. Depois de o nome do novo cluster aparecer na lista, clique no nome do cluster. O novo cluster é adicionado à configuração e configurado para ser o contexto ativo.

Implemente a sua app num cluster do GKE

Para implementar a sua app no novo cluster:

  1. No menu Cloud Code, acessível através da barra de estado, selecione Executar no Kubernetes.

  2. Confirme o cluster recém-criado como o contexto da sua app.

  3. Confirme a opção predefinida para o seu registo de imagens.

  4. Dê à sua app um minuto para terminar a compilação e a implementação, e monitorize o progresso da app à medida que é recompilada através da vista Sessões de desenvolvimento.

  5. Depois de a app terminar a compilação e a implementação, encontre o nó de encaminhamento de portas para o seu serviço: na vista Sessões de desenvolvimento, expanda URLs de encaminhamento de portas > service > go-hello-world-external.

  6. Para iniciar a sua app, mantenha o ponteiro sobre go-hello-world-external e clique em Abrir URL.

Limpar

Para eliminar apenas o cluster que criou para este início rápido:

  1. Passe o ponteiro do rato sobre o nome do cluster e, de seguida, clique em Ícone de consola Google Cloud aberto Abrir na Google Cloud consola.
  2. Clique em Eliminar e, de seguida, em Eliminar.

Para eliminar o seu projeto (e os recursos associados, incluindo todos os clusters):

  1. Aceda à página Projetos na Google Cloud consola:

    Aceda à página Projetos

  2. Selecione o projeto que criou para este início rápido e, de seguida, clique em Eliminar.

  3. Introduza o ID do projeto para confirmar e, de seguida, clique em Encerrar.

    Esta ação encerra o projeto e agenda a sua eliminação.

O que se segue?