Módulos do Skaffold no Cloud Code para VS Code

O Skaffold é uma ferramenta de linha de comando que facilita o desenvolvimento contínuo de aplicativos nativos do Kubernetes. O Skaffold lida com o fluxo de trabalho para criar, enviar e implantar o aplicativo e fornece elementos básicos para criar pipelines de CI/CD. O Skaffold é o mecanismo que alimenta o Cloud Code.

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

O Skaffold é compatível com a definição de várias dependências de configuração, colocadas juntas no mesmo arquivo skaffold.yaml e separadas por separadores de documentos YAML (---) ou em arquivos skaffold.yaml separados que são referenciados de um arquivo skaffold.yaml de nível superior. Uma configuração pode ser transformada em um módulo fornecendo a ele um nome 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 Skaffold

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

Primeiros passos com uma amostra dos módulos do Skaffold

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

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

Para uma amostra grande de aplicativo empresarial, desenvolvida usando várias tecnologias e linguagens, e usando módulos Skaffold, 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 baseado no Skaffold 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 Skaffold 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 (configs)
  • 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 Skaffold. Você quer garantir que não haja erros nas definições do módulo sem executar o Skaffold manualmente, como dependências cíclicas ou nomes de módulo não exclusivos. Use os ambientes de desenvolvimento integrado do Cloud Code para editar arquivos de configuração YAML do Skaffold.

A seguir

Receber suporte

Para enviar feedback, informar problemas no GitHub ou fazer uma pergunta no Stack Overflow.