Como executar um aplicativo do Kubernetes

Com o Cloud Code, é fácil executar seu aplicativo em um cluster do Kubernetes e visualizá-lo ao vivo, aproveitando skaffold dev. É possível executar o aplicativo em um cluster local (como minikube ou Docker Desktop), no Google Kubernetes Engine ou em qualquer outro provedor do Cloud.

Para otimizar seu loop de desenvolvimento ao detectar rapidamente alterações em arquivos de tipos compatíveis sem precisar recriar uma imagem, ative a sincronização de arquivos e a recarga dinâmica.

Como executar o aplicativo

  1. Abra a paleta de comandos (pressione Ctrl/Cmd+Shift+P) e execute o comando Cloud Code: Run on Kubernetes.
  2. Confirme se você quer usar o contexto do Kubernetes atual para executar o aplicativo (ou alternar para um preferido). Para mais informações sobre como configurar um contexto do Kubernetes, consulte Como configurar.
  3. Se o contexto do Kubernetes for um cluster remoto, será solicitado que você forneça um registro de imagem para enviar as imagens.

    Veja exemplos de como especificar onde as imagens de contêiner são armazenadas para alguns registros comuns:

    Docker Hub docker.io/{account}
    Verifique se você tem a autenticação correta se estiver usando um repositório particular do Docker Hub.
    Container Registry gcr.io/{project_id}

    O Cloud Code concatena esse registro de imagens com o nome da imagem especificado nos manifestos do Kubernetes para gerar o nome do repositório de imagens final.

    Para mais informações, consulte o guia de processamento de registros de imagem.

    Essa escolha é armazenada na configuração de inicialização cloudcode.kubernetes, encontrada em .vscode/launch.json.

    O Cloud Code cria os contêineres, os envia para o registro, aplica as configurações do Kubernetes ao cluster e aguarda o lançamento.

    Após a conclusão do lançamento, o Cloud Code encaminha automaticamente todas as portas de contêiner declaradas para sua máquina e exibe os URLs na janela de saída para que você possa navegar pelo aplicativo ativo.

  4. Após a conclusão da sessão, há mais opções de menu contextual disponíveis para monitorar seu aplicativo e os recursos dele usando a barra de status do Cloud Code, incluindo:

    • Abrir registros de implantação: abra os registros do aplicativo de uma implantação específica com o Visualizador de registros do Cloud Code
    • Open Service URL: abra o URL do serviço do aplicativo de um serviço específico em um navegador da Web.
    • Ativar/desativar o modo de exibição:alterne o modo de exibição da sessão atual. Por padrão, o Cloud Code monitora continuamente o sistema de arquivos em busca de alterações nos arquivos, como a configuração ou o código do Kubernetes, recria os contêineres e reimplanta o aplicativo no cluster para que o{ 101}as edições são refletidas quase em tempo real.
  5. Para interromper a execução do aplicativo, clique em cone de parada de depuração Stop na barra de ferramentas de depuração.

    Depois que você interrompe o aplicativo, todos os recursos implantados do Kubernetes são excluídos do cluster. É possível alterar esse comportamento usando a sinalização cleanUp na configuração de inicialização.

Como escolher um builder e um ambiente de compilação

Em um projeto que não contenha um arquivo skaffold.yaml na raiz ou que não faça referência a skaffold.yaml no arquivo .vscode/launch.json, é possível usar a IU do Cloud Code para escolher um builder e o ambiente de criação. A criação local é gratuita, já que ela usa seus próprios recursos. A criação com o Cloud Build é boa para máquinas mais lentas ou que não correspondem à arquitetura de processador do cluster de destino. Para informações sobre o custo de criação do aplicativo usando o Cloud Build, consulte Preços do Cloud Build.

Se você estiver usando uma das amostras, para usar a IU, exclua o arquivo skaffold.yaml antes de executar uma ação de compilação. Para ver as etapas de escolha de um builder e ambiente de criação sem a IU, consulte Como criar manualmente uma configuração do Skaffold.

  1. Em um projeto sem um arquivo skaffold.yaml, abra a paleta de comandos (pressione Ctrl/Cmd+Shift+P) e execute Cloud Code: Execute no Kubernetes ou Cloud Code: Debug no Kubernetes.

  2. Escolha um ambiente de criação.

    Se você escolher o Cloud Build, especifique o registro de imagens.

  3. Especifique um builder (Docker ou Buildpack) para cada imagem e as respectivas configurações.

  4. Marque ou desmarque qualquer uma das opções de configuração e clique em Depurar ou Executar.

As opções escolhidas são salvas em um arquivo skaffold.yaml, que podem ser editadas diretamente para personalização adicional.

Como personalizar a configuração de inicialização

Para configurar a execução do aplicativo, personalize o arquivo skaffold.yaml:

Também é possível configurar a inicialização especificando os seguintes campos na configuração cloudcode.kubernetes no seu arquivo .vscode/launch.json:

  • skaffoldConfig: especifique o arquivo de configuração do Skaffold que contém as configurações de compilação e implantação.
  • profile: especifique seu perfil Skaffold preferido. Se não for definido, o perfil padrão será usado.
  • imageRegistry: especifica o registro de imagens para onde as imagens serão enviadas.
  • watch: especifique se é preciso acompanhar as alterações no espaço de trabalho e execute novamente o aplicativo. A menos que seja explicitamente definido como falso, verdadeiro por padrão.
  • cleanUp: especificar se os recursos implantados do Kubernetes serão excluídos no cluster após o encerramento do aplicativo. A menos que seja explicitamente definido como falso, por padrão.
  • portForward: especifique se quer encaminhar portas para os recursos expostos do Kubernetes no cluster para a máquina local. A menos que seja explicitamente definido como falso, verdadeiro por padrão.