Módulos do Skaffold no Cloud Code para VS Code

O Cloud Code para VS Code usa arquivos de configuração `skaffold.yaml` para oferecer uma experiência de desenvolvimento perfeita para aplicativos do Kubernetes, automatizando muitas das tarefas envolvidas na criação e implantação de aplicativos do Kubernetes. Isso permite que o Cloud Code lide com o fluxo de trabalho para criar, enviar e implantar seu aplicativo e fornece elementos básicos para criar pipelines de CI/CD.

Os projetos geralmente começam a usar uma única configuração de skaffold.yaml para descrever como criar e implantar o aplicativo. À medida que um projeto cresce, pode ser útil dividir o pipeline de aplicativos em partes separadas.

O Cloud Code permite definir várias dependências de configuração, que podem ser colocadas juntas no mesmo arquivo skaffold.yaml e separadas usando separadores de documentos YAML (---) ou colocadas em arquivos skaffold.yaml separados que são referenciados de um arquivo skaffold.yaml de nível superior. Uma configuração pode ser feita em um módulo, basta dar um nome a ela usando o campo .metadata.name.

O uso de módulos permite desenvolver e depurar partes do aplicativo de maneira independente. As dependências podem ser definidas entre arquivos de configuração e módulos específicos. Para saber as etapas de uso desse recurso, consulte Como desenvolver partes de um aplicativo de maneira independente.

Como depurar aplicativos com módulos

Você pode desenvolver e depurar iterativamente todo o aplicativo ou um conjunto de módulos definidos. O Cloud Code gerencia as dependências do módulo e a ordem de implantação delas.

Primeiros passos com uma amostra de módulos

Para selecionar módulos para seu aplicativo, consulte Como criar módulos selecionados e as respectivas dependências.

Se você não tiver usado módulos e quiser testar o recurso com uma amostra, consulte o Exemplo de livro de visitas, que é modularizado em frontend e backend.

Para uma amostra grande de aplicativo empresarial, desenvolvida usando várias tecnologias e linguagens, e usando módulos, consulte a amostra do Bank of Anthos.

Casos de uso comuns

Esta seção descreve alguns exemplos de casos de uso comuns que demonstram cenários diferentes de quando e como você pode usar módulos no seu ambiente de desenvolvimento integrado.

Desenvolvimento de microsserviço

Você é um desenvolvedor de front-end que trabalha principalmente no módulo frontend. Como um microsserviço, frontend não tem uma dependência explícita do código ou da biblioteca no repositório backend, mas é necessário que backend seja implantado e executado no cluster.

Use o projeto que contém uma definição de módulo frontend para implantar e depurar de um ambiente de desenvolvimento integrado do Cloud Code para um cluster de desenvolvimento compartilhado em que a equipe de back-end também implanta o serviço. A equipe de DevOps mantém esse cluster compartilhado.

Você não trabalha nem depura o código backend nem atualiza as configurações do Kubernetes na maioria das vezes. O Cloud Code cria e implanta outras configurações que a frontend exige. Você define a configuração de implantação do Cloud Code para iterar apenas no módulo frontend.

Também é possível implantar frontend e backend em um cluster local para ter uma experiência iterativa mais rápida.

Desenvolvimento e depuração de microsserviços entre limites

Quando vários microsserviços precisam ser depurados juntos, é possível:

  • Abra o diretório pai em que todos os subdiretórios com o código-fonte dos módulos estão localizados um em relação ao outro
  • Selecione o arquivo raiz skaffold.yaml para implantação (configurações)
  • Defina a configuração de implantação do Cloud Code para iterar somente em módulos frontend e backend disponíveis localmente (e no respectivo módulo de configuração do Kubernetes quando houver alterações).

Também é possível ter um arquivo skaffold.yaml raiz separado para desenvolvimento local que inclua um servidor de dados estático.

Edição de YAML do módulo inteligente

Você é engenheiro de DevOps e cria um repositório de modelos para a equipe de desenvolvedores de microsserviços que usa módulos. Você quer garantir que não haja erros nas definições do módulo. Você usa ambientes de desenvolvimento integrado do Cloud Code para editar arquivos de configuração skaffold.yaml.

A seguir

Receber suporte

Acesse o GitHub para enviar feedback e informar problemas ou o Stack Overflow (ambos em inglês) para fazer perguntas.