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
- Anthos Config Management
- Cloud Build
- Config Connector
- Knative (em inglês)
- Kubernetes
- Kustomize (em inglês)
- Migrate para Anthos
- Skaffold
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.
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.
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.
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.
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.
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.
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.
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 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 ,
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.
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 , disponível na biblioteca. Escolha a opção Dif para abrir uma visualização de comparação e comparar dois arquivos de esquema.
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 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.