Implemente uma app Kubernetes através do desenvolvimento remoto

Esta página mostra como começar rapidamente a usar o Cloud Code para VS Code com um ambiente de desenvolvimento remoto no Cloud Shell.

Neste início rápido, vai ignorar a configuração e clonar um projeto para o seu espaço de trabalho de desenvolvimento remoto com um clique num botão, criar um cluster, executar uma app Kubernetes neste cluster, depurar o código em execução, ver registos da sua aplicação em direto e associar um terminal ao seu contentor em execução.

Antes de começar

Para configurar recursos de apoio técnico e aceder ao Cloud Shell, o ambiente de programação remoto que usa neste início rápido, no VS Code, conclua os seguintes passos: Google Cloud

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, 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.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, 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.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Instale o Visual Studio Code no seu computador, se ainda não o fez.
  7. Instale a extensão do Visual Studio Code Remote - SSH.
  8. Instale o Git. O Git é necessário para copiar exemplos para o seu computador.
  9. Instale o plug-in Cloud Code se ainda não o fez.
  10. Iniciar o Cloud Code

    Quando abre o Visual Studio Code ligado a um ambiente de programação remoto no Cloud Shell, o ambiente tem todas as ferramentas de que precisa para programar aplicações Kubernetes.

    1. Para começar a trabalhar no seu local de trabalho de desenvolvimento remoto, escolha o seu idioma preferencial para o projeto clonado e, em seguida, clique no botão Abrir com o Cloud Code:

      O VS Code é iniciado e clona um projeto para o seu espaço de trabalho de desenvolvimento remoto.

    2. Se ainda não tiver os pré-requisitos configurados, é-lhe pedido que os instale.

    Crie um cluster do GKE

    Para criar um cluster padrão do Google Kubernetes Engine (GKE), siga estes passos:

    1. Clique em Cloud Code e expanda a secção Kubernetes.

    2. Clique em adicionar 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, selecione 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 Code abra a consolaGoogle Cloud .

    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 atualizar 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.

    Execute e veja a sua app

    Agora que está tudo configurado, pode executar a aplicação e vê-la em direto. O Cloud Code monitoriza o seu sistema de ficheiros para detetar alterações, de modo que possa editar e voltar a executar a sua app praticamente em tempo real.

    Para executar a aplicação, siga estes passos:

    1. Na barra de estado do Cloud Code, clique no nome do projeto ativo.

      Nome do projeto ativo na barra de estado

    2. No menu de seleção rápida apresentado, selecione Executar no Kubernetes.

    3. Confirme se quer usar o contexto do cluster atual ou mudar para um diferente.

    4. Se lhe for pedido, escolha um registo de imagens para enviar as imagens. Se estiver a criar um novo registo de imagens com gcr.io/PROJECT_ID, certifique-se de que o registo de imagens está no mesmo projeto que o cluster.

      É apresentada uma janela de saída onde pode acompanhar o progresso da sua aplicação em execução. Também vê uma stream em direto dos registos dos pods em execução no resultado do terminal.

    5. Depois de a aplicação estar em execução no Kubernetes, a janela de saída apresenta um endereço IP. Para usar este endereço IP associado para aceder à sua aplicação, prima Ctrl/Cmd e clique no endereço.

    Sugestões de resolução de problemas

    Se estiver a usar um cluster pré-existente, para definir o cluster como ativo e obter as credenciais do cluster, siga estes passos:

    1. Clique em Cloud Code e expanda a secção Kubernetes.

    2. Clique com o botão direito do rato no nome do cluster e, de seguida, clique em Definir como cluster ativo.

    Depure a sua app

    Para depurar a sua aplicação, siga estes passos:

    1. Na barra de estado do Cloud Code, clique no nome do projeto ativo.

      Nome do projeto ativo na barra de estado

    2. No menu de seleção rápida apresentado, selecione Depurar no Kubernetes.

    3. Se lhe for pedido, autentique as suas credenciais para executar e depurar uma aplicação localmente.

    4. Se lhe for pedido, confirme se quer usar o contexto do cluster atual ou mudar para um contexto preferencial.

      O Cloud Code usa as configurações cloudcode.kubernetes no seu ficheiro .vscode/launch.json para executar a sua aplicação e anexar-lhe uma sessão de depuração.

      O Cloud Code cria os seus contentores, envia-os para o registo, aplica configurações do Kubernetes ao cluster e devolve o endereço IP que pode usar para procurar a sua aplicação em direto.

    5. Antes de a sessão do depurador ser anexada, é-lhe pedido que confirme ou introduza o diretório no contentor remoto onde o programa a depurar se encontra, ou prima ESC para ignorar a depuração do contentor.

    6. Para adicionar um ponto de interrupção à linha n.º 9, abra src/app.js e, de seguida, clique na margem do editor.

      Os círculos preenchidos a vermelho significam pontos de interrupção ativos, enquanto os círculos vazios a cinzento significam pontos de interrupção desativados. Para um controlo mais preciso dos breakpoints, pode usar a secção Breakpoints na vista Debug do VS Code.

      Secção de pontos de interrupção no painel do lado esquerdo da vista de depuração que permite adicionar, remover e desativar pontos de interrupção

      Quando envia um novo pedido à sua aplicação, o depurador pausa no primeiro ponto de interrupção ativo.

      No exemplo seguinte, em Local na secção Variáveis, repare que o valor de res._contentLength; para Hello, world! é 13.

      A app foi pausada no ponto de interrupção e as secções de variáveis e pilha de chamadas foram preenchidas com valores no âmbito

    7. Edite a string que está a ser enviada na linha 8 para Hello, goodbye! e, em seguida, reinicie a ação Depurar no Kubernetes.

      Depois de a app ser recriada e reimplementada, tome nota do valor atualizado de res._contentLength.

      A app foi pausada no ponto de interrupção com valores atualizados

    Depois de iniciar a sessão de depuração, o painel Sessões de desenvolvimento apresenta a vista de registo estruturado. Quando uma tarefa começa, é apresentada com um semicírculo rotativo progress_activity.

    Se uma tarefa for bem-sucedida, é apresentada uma marca de verificação check_circle junto ao passo.

    Para ver os detalhes de um passo, clique no passo no painel Sessão de desenvolvimento. O painel Output apresenta o passo na saída de registo.

    Abra um terminal no contentor

    Para abrir um terminal no contentor, siga estas instruções:

    1. Clique em Cloud Code e expanda a secção Kubernetes.

    2. Expanda as seguintes secções:

      • A secção do cluster preferido
      • A secção Namespaces e, de seguida, a secção do namespace preferido
      • A secção Pods e, em seguida, a secção do seu pod preferido
      • A secção Contentores

        Pods do Cloud Code

    3. Clique com o botão direito do rato no contentor no qual quer abrir um terminal e, de seguida, clique em Obter terminal.

      Esta ação inicia um terminal. Agora, tem acesso a uma shell no contentor em execução.

    Limpar

    Depois de parar a aplicação, todos os recursos do Kubernetes implementados durante a execução são eliminados automaticamente.

    Para evitar incorrer em custos para a sua conta por outros recursos usados neste início rápido, certifique-se de que elimina o projeto ou o cluster que criou se quiser reutilizar o projeto.

    Para eliminar o cluster:

    1. Clique em Cloud Code e, de seguida, expanda o explorador Kubernetes.
    2. Passe o ponteiro do rato sobre o nome do cluster e, de seguida, clique em open_in_new Abrir na Google Cloud consola.
    3. Clique em Eliminar e, de seguida, em Eliminar.

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

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    O que se segue?