Módulos do Skaffold

O Skaffold é uma ferramenta de linha de comandos que facilita o desenvolvimento contínuo para aplicações nativas do Kubernetes. O Skaffold processa o fluxo de trabalho para criar, enviar e implementar a sua aplicação, e fornece bases para criar pipelines de CI/CD. O Skaffold é o motor que alimenta o Cloud Code.

Normalmente, os projetos do Skaffold começam a usar uma única configuração skaffold.yaml para descrever como criar e implementar a aplicação. À medida que um projeto cresce, pode ser útil dividir o pipeline de aplicações em partes separadas.

O Skaffold suporta a definição de várias dependências de configuração, colocadas em conjunto no mesmo ficheiro skaffold.yaml e separadas através de separadores de documentos YAML (---) ou colocadas em ficheiros skaffold.yaml separados que são referenciados a partir de um ficheiro skaffold.yaml de nível superior. Uma configuração pode ser transformada num módulo atribuindo-lhe um nome através do campo .metadata.name.

A utilização de módulos permite-lhe desenvolver e depurar partes da aplicação de forma independente. As dependências podem ser definidas entre ficheiros de configuração e módulos específicos.

Depurar aplicações com módulos do Skaffold

Pode desenvolver e depurar iterativamente toda a aplicação ou um conjunto dos módulos definidos. O Skaffold gere as dependências dos módulos e a respetiva ordem de implementação.

Introdução a um exemplo de módulos do Skaffold

Para selecionar módulos para a sua aplicação, consulte o artigo Desenvolver partes de uma aplicação de forma independente.

Se não usou módulos do Skaffold e quer testar a funcionalidade com um exemplo, consulte o exemplo do livro de visitas, que é modularizado em frontend e backend.

Para ver um exemplo de aplicação empresarial de grande escala, desenvolvido com várias tecnologias e linguagens, e que usa módulos do Skaffold, consulte o exemplo do Bank of Anthos.

Exemplos de utilização comuns

Esta secção descreve alguns exemplos de utilização comuns que demonstram diferentes cenários de quando e como pode usar módulos no seu IDE.

Desenvolvimento de microsserviços

É um programador de frontend que trabalha principalmente no módulo frontend. Como um microsserviço, o frontend não tem uma dependência explícita de código ou biblioteca no repositório backend, mas requer que o backend seja implementado e executado no cluster.

Usa o seu projeto baseado no Skaffold que contém uma definição de módulo frontend para implementar e depurar a partir de um IDE do Cloud Code para um cluster de desenvolvimento partilhado onde a equipa de back-end também implementa o respetivo serviço. A equipa de DevOps mantém este cluster partilhado.

Não trabalha nem depura código backend nem atualiza as configurações do Kubernetes na maioria das vezes. O Skaffold cria e implementa outras configurações que o frontend requer. Configura a configuração de implementação do Cloud Code para iterar apenas no módulo frontend.

Também pode implementar o frontend e o backend num cluster local para ter uma experiência iterativa mais rápida.

Depuração e desenvolvimento de microsserviços entre limites

Quando é necessário depurar vários microsserviços em conjunto, pode:

  • Abra o diretório principal onde todos os subdiretórios com o código fonte dos módulos estão localizados uns em relação aos outros
  • Selecione o ficheiro skaffold.yaml raiz para implementação (configurações)
  • Configure a configuração de implementação do Cloud Code para iterar apenas nos módulos frontend e backend que estão disponíveis localmente (e no respetivo módulo de configuração do Kubernetes quando existem alterações).

Também pode ter um ficheiro skaffold.yaml raiz separado para o desenvolvimento local que inclua um servidor de dados estático.

Edição de YAML de módulos inteligentes

É um engenheiro de DevOps a criar um repositório de modelos para a equipa de programadores de microsserviços que usa módulos do Skaffold. Quer garantir que não existem erros nas definições dos módulos sem executar o Skaffold manualmente (como dependências cíclicas ou nomes de módulos não únicos). Usa IDEs do Cloud Code para editar ficheiros de configuração YAML do Skaffold.

Obter apoio técnico

Para enviar feedback ou comunicar um problema no seu IDE IntelliJ, aceda a Tools > Cloud Code > Help / About > Submit feedback or report an issue para comunicar um problema no GitHub.