Esta página foi traduzida pela API Cloud Translation.
Switch to English

Como trabalhar com arquivos YAML do Google Cloud e do Kubernetes

O Cloud Code foi projetado para ajudar na edição de arquivos de configuração relacionados ao Kubernetes e ao Google Cloud, incluindo validação baseada em esquema, diagnóstico e documentação rápida.

Arquivos de configuração YAML compatíveis

Além disso, o Cloud Code também é compatível com CRDs populares do Kubernetes, como o Kubeflow, pronto para uso.

Como usar esquema personalizado

Além disso, com o Cloud Code, é possível fornecer seu próprio esquema CRD com as configurações do IntelliJ (File > Settings > Tools > Cloud Code > Kubernetes ou para Mac OS X, IntelliJ IDEA > Preferências > Ferramentas > Cloud Code > Kubernetes e navegue até a seção Locais do esquema CRD.

É possível apontar para um arquivo local ou um URL. Os URLs que apontam para github.com são convertidos automaticamente em raw.githubusercontent.com.

Como extrair o esquema de um cluster

Quando você muda para um cluster que executa o Kubernetes v1.16 e versões posteriores no Kubernetes Explorer, o Cloud Code extrai automaticamente o esquema de todos os CRDs instalados.

Compatibilidade adicional com o Skaffold

O Skaffold é o mecanismo subjacente que alimenta o Cloud Code, o que ajuda a criar, enviar e implantar seu aplicativo, além de fornecer suporte para a criação de pipelines de CI/CD.

O Cloud Code é compatível com o gerenciamento de arquivos de configuração do Skaffold. Ao abrir um projeto, o Cloud Code detecta esquemas do Skaffold que não estão atualizados e solicita (por meio do log de eventos) quando uma atualização de versão do esquema do Skaffold está disponível para o YAML do Skaffold atual.

Notificação no log de eventos solicitando que o usuário faça upgrade da versão do esquema do Skaffold porque os arquivos YAML dele não são da versão mais recente

Outra opção é navegar até Ferramentas > Cloud Code > Kubernetes e selecionar Verificar atualizações de esquemas do Skaffold para conferir se há upgrades de esquema disponíveis.

Como configurar com snippets

Os snippets prontos para uso no esquema YAML comum (usando Ctrl+Space para visualizar opções) tornam mais fácil iniciar um novo arquivo YAML ou adicionar um arquivo existente sem erros, basta seguir as práticas recomendadas. Além disso, é mais fácil trabalhar com campos repetitivos. Basta preencher um, e o Cloud Code incluirá as instâncias restantes.

Como usar snippets com campos repetitivos

Atualmente, os seguintes snippets são oferecidos:

  • Cloud Build - Cloud Run deployment
  • Cloud Build - Docker container build
  • Cloud Build - GKE deployment
  • Cloud Build - GKE Skaffold deployment
  • Cloud Build - Go build
  • Cloud Build - Terraform plan + apply
  • Config Connector - BigQueryDataset
  • Config Connector - BigQueryTable
  • Config Connector - BigtableCluster
  • Config Connector - BigtableInstance
  • Config Connector - PubSubSubscription
  • Config Connector - PubSubTopic
  • Config Connector - RedisInstance
  • Config Connector - SpannerInstance
  • Kubernetes - ConfigMap
  • Kubernetes - Deployment
  • Kubernetes - Ingress
  • Kubernetes - Pod
  • Kubernetes - Service
  • Migrate for Anthos - Export
  • Migrate for Anthos - PersistentVolumeClaim
  • Migrate for Anthos - StatefulSet
  • Skaffold - Bazel
  • Skaffold - Getting-started
  • Skaffold - Helm deployment
  • Skaffold - Kaniko

Como concluir com contexto

Com base no esquema atual, o Cloud Code fornecerá conclusões contextuais para ajudar você a escolher a opção certa.

Conclusões contextuais do esquema do Kubernetes

Como validar o esquema YAML

O Cloud Code é compatível com a validação de esquema sinalizando tags e valores inválidos nos arquivos YAML e sugerindo correções, quando possível.

Valor do campo de nome sublinhado em vermelho para destacar um valor inválido de "1234". Estados de texto ao passar o cursor: "Tipo incorreto. String esperada."

Como validar arquivos YAML do Skaffold

O Cloud Code fornece suporte adicional de edição de arquivos de configuração do Skaffold e modelos inteligentes, permitindo validar facilmente seus arquivos skaffold.yaml. Consulte este guia sobre como usar um app com o Cloud Code.

Modelos yaml do Skaffold

Como concluir arquivos de configuração do Skaffold com contexto

Com base no esquema atual, o Cloud Code fornece conclusões contextuais e documentações relevantes para ajudar você a escolher a opção certa.

Conclusões do Skaffold

Como ativar a sincronização de arquivos Skaffold e Hot Reload

Para melhorar a eficiência do fluxo de trabalho de desenvolvimento local e evitar ter que recriar, reimplantar e reiniciar os pods, o Skaffold é compatível com a cópia de arquivos alterados para um contêiner implantado. Isso significa que, ao fazer alterações em arquivos de código estático e de origem, é possível ver as alterações entrarem em vigor em questão de segundos, gerando um loop de feedback acelerado.

Para arquivos estáticos (como arquivos HTML e CSS), esse comportamento de cópia do arquivo é chamado de sincronização de arquivos.

Para arquivos de código-fonte, esse comportamento é conhecido como recarregamento quente e funciona para os seguintes tipos de arquivo:

  • Vá para: *.go
  • Java: *.java, *.kt, *.scala, *.groovy, *.clj
  • NodeJS: *.js, *.mjs, *.cafe, *.litcoff, *.json

Com a atualização a quente configurada, o Skaffold detecta alterações nos arquivos compatíveis e as sincroniza no contêiner em execução no cluster, ignorando a necessidade de recriar a imagem e a reinicialização do pod. Porém, mudanças em outros tipos de arquivo acionam a reconstrução de imagens.

A sincronização automática de arquivos e a atualização a quente são ativadas por padrão quando você está trabalhando com o Buildpacks como seu builder de preferência. Para outros builders, como o Docker, especifique uma seção sync no skaffold.yaml para o artefato que você está personalizando.

Sua configuração de sincronização pode ser um dos seguintes (em ordem de preferência):

  • auto (somente para artefatos do Jib e Buildpacks)
  • infer
  • manual

Se você especificasse uma sincronização manual para sincronizar todos os arquivos HTML /static-html com a pasta static no contêiner, o skaffold.yaml conteria esta seção sync:

build:
  artifacts:
    - image: gcr.io/k8s-skaffold/node-example
      context: node
      sync:
        manual:
          - src: 'static-html/*.html'
            dest: static

Para ter uma visão detalhada da sincronização de arquivos e especificar regras de sincronização, consulte o Guia do Skaffold sobre sincronização de arquivos (em inglês).

Como descobrir definições usando a documentação rápida

Ao destacar uma linha no arquivo de configuração e acessar Visualizar > Documentação rápida, o Cloud Code exibe os documentos relevante de um recurso.

Documentação rápida

Como inspecionar o YAML para problemas de estrutura e validação

O Cloud Code oferece suporte a inspeção de problemas comuns de esquema e fornece erros descritivos.

Como inspecionar arquivos YAML

Como aplicar um arquivo YAML

Para executar kubectl apply -f para aplicar uma alteração de configuração usando o arquivo atual, use o ícone de ações da kubectl actionscone de ações da kubectl, disponível na área de desenvolvimento integrado e selecione Apply. Isso abre uma visualização diferente para que você analise as alterações antes de clicar em Aplicar.

Opção de aplicação destacada na lista de ações da kubectl

Diferença entre arquivos YAML

Para ver as diferenças entre um arquivo YAML no controle de origem e outro implantado, use o ícone de ações da kubectl actionscone de ações da kubectl, disponível na biblioteca. Escolha a opção Dif para abrir uma visualização de comparação e comparar dois arquivos de esquema.

Opção de diferença destacada na lista de ações da kubectl

Como executar uma simulação de um arquivo YAML

Para executar uma simulação do arquivo e verificar a validade dele, use o ícone de inicialização do kubectlactionscone de ações da kubectl , disponíveis na calha do ambiente de desenvolvimento integrado, para selecionarSimulação no servidor ouSimulação no cliente para começar. Isso executa kubectl apply -f dry-run=server (ou kubectl apply -f dry-run=client, para a opção Client) e notifica você se o arquivo puder ser criado com sucesso na janela do Terminal.

A opção de simulação no servidor aparece destacada na lista de ações do kubectl.

Como receber suporte

Para enviar feedback, relate um problema no GitHub ou faça uma pergunta no Stack Overflow.