374 sintomas catalogados

Cada sintoma com causa provável e correção, ligado à lição da trilha Automação que explica o porquê. Descreva o sintoma para filtrar.

SintomaCausa provávelCorreçãoLição
Job falha com exit code 137Falta de memória (OOM Killer)Aumente o parâmetro memory no config.toml ou reduza concorrênciaAjustando CPU, memória e storage para builds intensivos
Erro 'no space left on device'Disco insuficiente para builds ou cacheLibere espaço ou aumente o discoAjustando CPU, memória e storage para builds intensivos
Builds lentos e load average altoCPU saturada por jobs concorrentesReduza o número de jobs paralelos ou aumente CPUsAjustando CPU, memória e storage para builds intensivos
Builds lentos mesmo em fibra dedicadaRunner ou storage em sub-rede diferente, latência altaRealinhe runner, storage e destino na mesma VLAN ou sub-redeAmbientes de build e deploy em fibra dedicada: lições aprend
Disco do runner lotando rapidamentePolítica de expiração de artefatos mal configuradaReduza o tempo de expiração dos artefatosAmbientes de build e deploy em fibra dedicada: lições aprend
Jobs rodando no ambiente erradoTags ou variáveis de ambiente ausentes ou incorretasRevise configuração de tags e variáveis nos runners e jobsAmbientes de build e deploy em fibra dedicada: lições aprend
Erro ao tentar commitar: 'Erro de sintaxe no playbook.'Playbook com erro de sintaxe bloqueado pelo hook.Corrija o erro de sintaxe e tente novamente.Ansible e Git: versionando infraestrutura como código
Conflito ao fazer merge de branchesAlterações simultâneas na mesma linha de um playbook.Edite o arquivo, resolva o conflito, adicione e faça commit.Ansible e Git: versionando infraestrutura como código
Arquivo sensível foi versionado por enganoFalta de configuração do .gitignore.Adicione o arquivo ao .gitignore e remova do histórico se necessário.Ansible e Git: versionando infraestrutura como código
Falha de conexão SSHChave SSH ausente ou permissões incorretasVerifique se a chave privada existe e está com permissão 600Ansible, YAML e SSH: o trio que move a automação moderna
Erro de sintaxe no playbookIndentação errada em YAMLRevise os espaços e evite tabulaçõesAnsible, YAML e SSH: o trio que move a automação moderna
Permissão negada ao instalar pacoteFalta de sudo no usuário remotoAdicione 'become: yes' no playbook e garanta privilégio sudoAnsible, YAML e SSH: o trio que move a automação moderna
Logs do Terraform não estão sendo geradosVariáveis de ambiente TF_LOG ou TF_LOG_PATH não definidas corretamenteRevise e exporte novamente as variáveis antes de executar o TerraformAuditoria e logs do Terraform: por onde passa o que pode dar
Arquivo de log cresce rapidamente e ocupa muito espaçoNível de log muito detalhado (DEBUG/TRACE) e ausência de rotaçãoReduza o nível de log e configure logrotateAuditoria e logs do Terraform: por onde passa o que pode dar
Logs não aparecem no sistema centralizadoAgente de coleta não configurado corretamente ou permissões insuficientesVerifique configuração do agente e permissões de leitura nos arquivos de logAuditoria e logs do Terraform: por onde passa o que pode dar
Runner não cria novas VMsCredenciais da nuvem inválidas ou permissões insuficientes.Revise as credenciais e permissões. Consulte a documentação do driver.Auto-scaling com Docker Machine e cloud providers
VMs não são destruídas após IdleTimeIdleTime mal configurado ou jobs presos em execução.Ajuste IdleTime e monitore jobs stuck.Auto-scaling com Docker Machine e cloud providers
Jobs falham por falta de imagem DockerImagem não disponível na VM criada.Garanta que a imagem base esteja correta no config.toml.Auto-scaling com Docker Machine e cloud providers
Workspace não pode ser excluídoAinda está selecionado ou há recursos pendentesSelecione outro workspace e destrua todos os recursos antes de excluirAutomação de ambientes efêmeros: do zero ao teardown sem int
Recursos não são destruídos no teardownPermissões insuficientes ou dependências não resolvidasRevise permissões do usuário e dependências no código TerraformAutomação de ambientes efêmeros: do zero ao teardown sem int
Pipeline trava na etapa de destroyTimeout ou deadlock em recursos da nuvemImplemente timeouts e revise dependências circularesAutomação de ambientes efêmeros: do zero ao teardown sem int
Playbook falha em alguns hostsPermissões insuficientes ou SSH indisponívelVerifique acesso root/sudo e conectividade SSHAutomação de compliance e auditoria em ambientes regulados
Relatórios não são salvosPermissões de escrita no destino ou erro de variávelCheque paths e permissões dos diretórios de destinoAutomação de compliance e auditoria em ambientes regulados
Execução de ferramenta externa falhaDependências ausentes ou caminhos incorretosInstale ferramentas necessárias e valide caminhos nos comandosAutomação de compliance e auditoria em ambientes regulados
Host da nuvem não aparece no inventárioPlugin dinâmico mal configurado ou credenciais inválidasRevise filtros e variáveis de ambiente, consulte a documentação do plugin.Automação de provisionamento em ambientes híbridos
Erro de permissão ao criar recursoChave de acesso insuficiente ou mal configuradaVerifique permissões do usuário na nuvem e variáveis de ambiente.Automação de provisionamento em ambientes híbridos
Playbook trava em task de nuvemLimite de API atingido ou dependência não satisfeitaInclua delays e retries, revise ordem das tasks.Automação de provisionamento em ambientes híbridos
Playbook falha com erro de autenticaçãoUsuário ou senha incorretos no inventárioRevise as credenciais e teste acesso SSH manualmenteAutomação de redes: switches, roteadores e firewalls
Erro 'src file not found' ao restaurar backupArquivo de backup não existe ou caminho incorretoVerifique o nome e o caminho do arquivo localmente antes de executarAutomação de redes: switches, roteadores e firewalls
Mudança não aplicada, mas Ansible retorna sucessoComando não suportado ou já presente na configuraçãoRevise a configuração atual do equipamento e ajuste o playbookAutomação de redes: switches, roteadores e firewalls
Playbook falha ao conectar via SSHChave SSH ausente ou permissão incorretaVerifique permissões e autorize a chave correta com o módulo authorized_keyAutomação de servidores Linux: do provisionamento à configur
Pacote não instalaRepositório desatualizado ou pacote inexistenteAtualize os repositórios com 'apt update' ou 'yum makecache' via Ansible antesAutomação de servidores Linux: do provisionamento à configur
Serviço não reinicia após alteraçãoHandler não foi acionadoConfirme se o task notifica corretamente o handlerAutomação de servidores Linux: do provisionamento à configur
Usuário não removidoUsuário está logado ou processo em execuçãoFinalize processos do usuário antes de removerAutomação de servidores Linux: do provisionamento à configur
Erro de conexão com o banco de dadosVariáveis de ambiente incorretas ou serviço PostgreSQL não iniciadoRevise o arquivo inventory e garanta que o PostgreSQL está rodandoAutomação distribuída: Ansible Tower e alternativas open sou
AWX não sobe após instalaçãoPortas ocupadas ou containers travadosVerifique com docker ps e libere as portas necessáriasAutomação distribuída: Ansible Tower e alternativas open sou
Playbook falha sem logs detalhadosPermissões insuficientes ou SSH mal configuradoAjuste as credenciais e revise as permissões dos hosts alvoAutomação distribuída: Ansible Tower e alternativas open sou
Erro de autenticação SSH no job do pipelineVariável de senha SSH não definida ou incorretaVerifique se a variável protegida SSH_PASS está cadastrada corretamente no CI/CDAutomação em pipelines: Ansible no CI/CD
Falha ao descriptografar arquivos com ansible-vaultSenha do vault não passada corretamente ao pipelineConfirme se VAULT_PASS está definida e usada como --vault-password-fileAutomação em pipelines: Ansible no CI/CD
Job de lint falha com erros de sintaxePlaybook com erros YAML ou práticas não recomendadasRevise o playbook e corrija os erros apontados pelo ansible-lintAutomação em pipelines: Ansible no CI/CD
Playbook não executa após o eventoWebhook não está chegando ao Ansible RulebookVerifique logs e conectividade entre o Alertmanager/Jenkins e o endpoint do Rulebook.Automação orientada a eventos e integração com outras ferram
Execuções duplicadas do playbookEventos múltiplos não filtradosImplemente debounce ou filtros nas regras.Automação orientada a eventos e integração com outras ferram
Falha de autenticação na integraçãoCredenciais incorretas ou ausentesRevise as configurações de autenticação entre as ferramentas.Automação orientada a eventos e integração com outras ferram
Jobs ficam muito tempo em pendingPoucos Runners ou concurrency baixoAumente o número de Runners ou o valor de concurrentBalanceamento de jobs e filas em ambientes de alta concorrên
Runner fica offline ou falha jobsExcesso de jobs para a capacidade do hostReduza o concurrent ou aumente recursos do hostBalanceamento de jobs e filas em ambientes de alta concorrên
Jobs são distribuídos de forma desigualTags mal configuradas ou Runners com capacidades diferentesPadronize tags e ajuste recursos dos RunnersBalanceamento de jobs e filas em ambientes de alta concorrên
Variável sensível aparece nos logsVariável não está marcada como masked ou valor não atende aos requisitos de maskingMarque como masked e garanta que o valor atenda aos critérios do GitLab (consulte a documentação)Boas práticas para variáveis, tokens e permissões
Job falha ao acessar recurso externoToken expirado ou com permissões insuficientesGere novo token com escopos corretos e atualize a variávelBoas práticas para variáveis, tokens e permissões
Pipeline em branch não protegida acessa segredosVariável não está marcada como protectedAltere a configuração para protectedBoas práticas para variáveis, tokens e permissões
kubectl retorna 'permission denied' ao criar PodUsuário sem permissão RBACRevise roles e bindings do usuárioCaminho de uma requisição: do kubectl ao Pod em execução
Pod fica em Pending indefinidamenteScheduler não encontra nó compatívelRevise nodeSelector, tolerations e recursos disponíveisCaminho de uma requisição: do kubectl ao Pod em execução
Pod falha ao iniciar com erro de imagemImagem não encontrada ou sem acesso ao registryCorrija o nome da imagem ou configure acesso ao registryCaminho de uma requisição: do kubectl ao Pod em execução
Pods permanecem pendentes mesmo após instalaçãoCluster Autoscaler não tem permissão para criar nós ou limites de grupo estão baixosRevise permissões RBAC e aumente o valor máximo em '--nodes'Cluster Autoscaler: dimensionamento automático da infraestru
Nós não são removidos mesmo ociososExistem pods protegidos por PodDisruptionBudget ou limite mínimo atingidoAjuste PDBs ou diminua o valor mínimo em '--nodes'Cluster Autoscaler: dimensionamento automático da infraestru
Cluster Autoscaler não reconhece grupos de nósConfiguração de autodiscovery incorreta ou tags ausentesVerifique as tags dos grupos de nós e os argumentos de autodiscoveryCluster Autoscaler: dimensionamento automático da infraestru
O módulo não é encontrado ao rodar o playbook.Collection não instalada ou caminho fora do padrão.Reinstale a collection e verifique o diretório ~/.ansible/collections.Collections, Ansible Galaxy e automação modular
Erro de versão ao instalar uma collection.Versão do Ansible incompatível.Atualize o Ansible para uma versão suportada pela collection (consulte a documentação).Collections, Ansible Galaxy e automação modular
Falha ao publicar collection.Arquivo galaxy.yml ausente ou inválido.Revise o galaxy.yml conforme a documentação oficial.Collections, Ansible Galaxy e automação modular
Runner não aparece como onlineToken de registro incorreto ou problemas de redeRevise o token, a URL e a conectividade entre Runner e GitLabComo o GitLab Runner se conecta ao GitLab e executa jobs
Jobs ficam pendentes e não são executadosTags do Runner não correspondem ao job ou executor incompatívelAjuste as tags do Runner ou o executor no .gitlab-ci.ymlComo o GitLab Runner se conecta ao GitLab e executa jobs
Erro de certificado SSLCertificado do GitLab não confiável pelo sistema operacional do RunnerAdicione o certificado raiz ao sistema ou configure o Runner para confiar no certificadoComo o GitLab Runner se conecta ao GitLab e executa jobs
Erro: 'provider not found'init não executado ou falha no download do provedorExecute 'terraform init' novamente e cheque conexão com a internetComo o Terraform funciona: ciclo de vida, plano e apply
Diferenças inesperadas no planEstado local desatualizado ou corrompidoSincronize o estado ou recupere backup do arquivo terraform.tfstateComo o Terraform funciona: ciclo de vida, plano e apply
Recursos duplicados após applyPerda ou exclusão manual do arquivo de estadoNunca edite ou apague terraform.tfstate manualmente; restaure backupComo o Terraform funciona: ciclo de vida, plano e apply
Erro de quota excedidaTamanho ou quantidade de recursos acima do permitido pela cloudReduza o sizing ou solicite aumento de quota na cloudComo planejar recursos: sizing, limites e dependências em Te
Provisionamento fora de ordemDependências não declaradas corretamenteAdicione 'depends_on' para forçar a ordem de criaçãoComo planejar recursos: sizing, limites e dependências em Te
Custo inesperado após deployRecursos superdimensionados ou variáveis mal configuradasRevise variáveis de sizing e ajuste para o necessárioComo planejar recursos: sizing, limites e dependências em Te
kubectl retorna erro de autenticaçãoCredenciais inválidas ou expiradas no kubeconfigAtualize ou substitua as credenciais no arquivo kubeconfigConfigurando kubectl e contexto: operando múltiplos clusters
kubectl conecta ao cluster erradoContexto incorreto selecionadoUse 'kubectl config use-context' para trocar para o contexto corretoConfigurando kubectl e contexto: operando múltiplos clusters
Permissão negada ao acessar recursosUsuário do contexto sem permissão via RBACSolicite permissões adequadas ao administrador do clusterConfigurando kubectl e contexto: operando múltiplos clusters
O Runner não executa jobs após alteração no config.tomlServiço não foi reiniciado ou há erro de sintaxe no arquivoCheque o log do serviço com 'sudo journalctl -u gitlab-runner' e valide o TOMLConfigurando o config.toml: executores, limites e variáveis
Jobs ignoram variáveis de ambiente definidasSintaxe incorreta no parâmetro environmentRevise a configuração: deve ser environment = ["VAR=valor"]Configurando o config.toml: executores, limites e variáveis
Jobs excedem o número de execuções simultâneas esperadoParâmetro concurrent ou limit não configurado corretamenteVerifique os valores e a posição dos parâmetros no config.tomlConfigurando o config.toml: executores, limites e variáveis
O Runner não reconhece o executor customizadoErro na implementação da interface ou registro do executor no códigoRevise a implementação e compare com executores nativosContribuindo para o GitLab Runner: customizações e comunidad
Falha ao compilar o RunnerDependências de Go não resolvidas ou código incompatívelAtualize as dependências e revise a sintaxeContribuindo para o GitLab Runner: customizações e comunidad
Merge request rejeitadoFalta de testes ou não conformidade com guidelinesAdicione testes e siga o padrão de código do projetoContribuindo para o GitLab Runner: customizações e comunidad
Falha de conexão SSHChave pública não autorizada ou usuário incorretoAjuste o usuário no inventário e autorize a chave SSH no managed node.Control node, managed nodes e inventário: quem faz o quê
Inventário não reconhecidoCaminho ou sintaxe incorretaVerifique o caminho do arquivo e a formatação dos grupos/hosts.Control node, managed nodes e inventário: quem faz o quê
Permissão negada ao executar tarefasUsuário sem sudo ou permissões necessáriasAjuste as permissões do usuário ou configure become no playbook.Control node, managed nodes e inventário: quem faz o quê
kubectl get nodes mostra Node NotReadyProblema de rede ou kubelet paradoVerifique logs do kubelet e conectividade de redeControl Plane, Nodes e etcd: como o Kubernetes toma decisões
Pods não são agendadoskube-scheduler parado ou etcd indisponívelReinicie o scheduler ou verifique saúde do etcdControl Plane, Nodes e etcd: como o Kubernetes toma decisões
Falha ao acessar kube-apiserverCertificados expirados ou serviço paradoRenove certificados e reinicie o kube-apiserverControl Plane, Nodes e etcd: como o Kubernetes toma decisões
terraform plan mostra mudanças que você não esperavaDrift causado por alteração manual na infraestruturaRode terraform refresh, revise o plan, corrija o código ou o ambiente conforme necessárioCorrupção de state file e drift: quando o mundo real não bat
Erro de parsing ao ler o state fileArquivo de estado corrompidoRestaurar backup íntegro do state fileCorrupção de state file e drift: quando o mundo real não bat
Recursos sumiram do terraform state listState file incompleto ou corrompidoRecuperar backup ou reconstruir state manualmenteCorrupção de state file e drift: quando o mundo real não bat
Erro 'provider not found' ao rodar 'terraform init'Binário do provider fora do diretório esperado ou nome incorretoVerifique o caminho e o nome do binário conforme a estrutura exigida pela documentaçãoCustom Providers, plugins e integrações avançadas: onde o Te
Falha de autenticação ao aplicar recursosCredenciais ou endpoint incorretos no bloco providerRevise variáveis, secrets e URLs configuradosCustom Providers, plugins e integrações avançadas: onde o Te
Erros de schema ou dados inesperadosImplementação incompleta do schema ou conversão de tiposAjuste o schema e teste com dados reais do sistema legadoCustom Providers, plugins e integrações avançadas: onde o Te
O check mode não indica mudanças esperadasO módulo usado pode não suportar check mode totalmenteConsulte a documentação do módulo e, se necessário, ajuste a lógica do playbookDebugging avançado: verbose, check mode e dry-run
Verbose não mostra detalhes suficientesNível de verbose insuficienteAumente para -vvv ou -vvvvDebugging avançado: verbose, check mode e dry-run
Diferenças em arquivos não aparecem no --diffO módulo não suporta diff ou o arquivo não mudouVerifique se o módulo aceita --diff e se há realmente diferençaDebugging avançado: verbose, check mode e dry-run
terraform apply tenta criar recursos já existentesState local perdido ou desatualizadoRecupere o state remoto correto e sincronize com 'terraform state push'.Desastres evitados (ou não) com Terraform: análise de falhas
Segredos aparecem em logs ou outputsOutputs não marcados como sensitiveAdicione 'sensitive = true' nos outputs críticos.Desastres evitados (ou não) com Terraform: análise de falhas
Erro de permissão ao salvar stateBackend remoto sem permissões corretasAjuste políticas IAM para garantir acesso de leitura e gravação ao bucket e tabela de lock.Desastres evitados (ou não) com Terraform: análise de falhas
Job falha por arquivo não encontradoArtefato não definido ou não transferido corretamenteRevise a configuração de artifacts e pathsDesenhando pipelines eficientes: dependências, paralelismo e
Pipeline lento mesmo com paralelismoJobs com dependências implícitas ou recursos compartilhados em conflitoDefina needs corretamente e isole recursosDesenhando pipelines eficientes: dependências, paralelismo e
Build inconsistente entre pipelinesUso incorreto de cache para arquivos que deveriam ser artefatosSepare artefatos (resultados únicos) de cache (dados reaproveitáveis)Desenhando pipelines eficientes: dependências, paralelismo e
Manifesto aplicado com erro de sintaxeFaltou validação automática no pipelineAdicione kubectl --dry-run e kubeval no CI/CDDesign de manifestos e versionamento: mantenha o controle do
Estado do cluster diferente do repositórioAlterações manuais via kubectlPadronize aplicação via GitOps e bloqueie acesso diretoDesign de manifestos e versionamento: mantenha o controle do
Rollback não funcionaHistórico incompleto ou uso de branches fora do fluxoGaranta merge apenas via PR e mantenha histórico linearDesign de manifestos e versionamento: mantenha o controle do
Confusão sobre qual arquivo editarEstrutura de diretórios desorganizadaReestruture por ambiente e recurso, documente o padrãoDesign de manifestos e versionamento: mantenha o controle do
Pod em CrashLoopBackOffErro de configuração, dependência externa indisponível ou bug no entrypointVerifique eventos, logs anteriores e ajuste variáveis/configuraçãoDiagnóstico de Pods: eventos, logs e execuções interativas
Logs vaziosContainer falha antes de iniciar processo ou não redireciona stdout/stderrAjuste o entrypoint ou reconstrua a imagem para garantir loggingDiagnóstico de Pods: eventos, logs e execuções interativas
kubectl exec falhaContainer não está rodando ou não possui shellAltere o comando de inicialização ou adicione shell à imagem temporariamenteDiagnóstico de Pods: eventos, logs e execuções interativas
Job executa comportamento inesperadoComentário desatualizado ou ausenteAtualize o comentário para refletir a lógica atual do job.Documentação viva: mantendo pipelines compreensíveis para o
Erro ao incluir templateCaminho ou variável não documentadaVerifique e corrija o bloco de comentários do template, esclarecendo requisitos.Documentação viva: mantendo pipelines compreensíveis para o
Equipe faz perguntas recorrentes sobre jobsFalta de documentação vivaInclua respostas diretamente nos comentários do YAML ou README.Documentação viva: mantendo pipelines compreensíveis para o
Erro: Resource ... not foundRecurso removido fora do Terraform ou state desatualizadoRemova o recurso do state com 'terraform state rm' ou importe novamenteErros clássicos de apply, plan e destroy: como entender e re
Erro: Cycle: ...Dependência circular entre recursosReorganize o código para quebrar o ciclo, usando 'depends_on' se necessárioErros clássicos de apply, plan e destroy: como entender e re
Erro: Provider configuration not presentBloco provider ausente ou mal configuradoAdicione ou corrija o bloco provider no códigoErros clássicos de apply, plan e destroy: como entender e re
Erro de sintaxe YAMLIndentação errada ou uso de tabulaçãoCorrija a indentação usando apenas espaços e valide com --syntax-checkErros frequentes: sintaxe, conexão e autenticação
UNREACHABLE ao rodar playbookHost offline, firewall ou porta SSH erradaVerifique conectividade com ping/ssh e ajuste inventárioErros frequentes: sintaxe, conexão e autenticação
Permission denied (publickey)Chave SSH não autorizada no host remotoAdicione a chave pública ao ~/.ssh/authorized_keysErros frequentes: sintaxe, conexão e autenticação
sudo: a password is requiredUsuário remoto não tem sudo sem senhaConfigure sudoers ou use --ask-become-passErros frequentes: sintaxe, conexão e autenticação
Instâncias não escalam mesmo com alta cargaPolítica de escalabilidade mal configurada ou métrica incorretaRevise as métricas e os thresholds definidos nas políticasEscalando recursos: auto scaling, load balancers e grupos ge
Load balancer não distribui tráfegoTarget group não associado corretamente ou health checks falhandoVerifique associação e parâmetros dos health checksEscalando recursos: auto scaling, load balancers e grupos ge
Custo inesperado altoLimites máximos de instâncias muito elevadosAjuste os parâmetros max_size ou target_sizeEscalando recursos: auto scaling, load balancers e grupos ge
Nó não entra no clusterToken expirado ou configuração de rede incorretaGere novo token com 'kubeadm token create' e revise firewallEscolhendo o modelo de cluster: bare metal, nuvem ou híbrido
Latência alta em podsRede subdimensionada ou roteamento ineficienteAjuste políticas de rede e revise topologia físicaEscolhendo o modelo de cluster: bare metal, nuvem ou híbrido
Custo de nuvem disparandoDimensionamento automático mal configuradoAjuste limites de autoscaling e revise tipos de instânciaEscolhendo o modelo de cluster: bare metal, nuvem ou híbrido
Execução muito lentaBatch size (serial) pequeno demaisAumente o valor de serial gradualmenteEstratégias para grandes ambientes: segmentação, tags e batc
Hosts caindo durante execuçãoBatch size grande demais ou tarefas pesadasReduza o serial e monitore recursosEstratégias para grandes ambientes: segmentação, tags e batc
Tarefas não executadasTags ausentes ou digitadas incorretamenteRevise as tags no playbook e no comandoEstratégias para grandes ambientes: segmentação, tags e batc
Mudanças aplicadas em hosts erradosSegmentação de inventário incorretaReveja os grupos e o parâmetro -lEstratégias para grandes ambientes: segmentação, tags e batc
Variáveis não aplicadas corretamenteArquivo de variáveis no local errado ou nome incorretoVerifique se está em group_vars/ ou host_vars/ e se o nome bate com o grupo ou hostEstrutura de diretórios: como organizar um projeto Ansible d
Playbook roda no ambiente erradoInventário não especificado corretamenteUse '-i inventories/producao/hosts' ou equivalenteEstrutura de diretórios: como organizar um projeto Ansible d
Arquivo sensível apareceu no Git.gitignore ausente ou mal configuradoAdicione o arquivo ao .gitignore e remova do histórico com 'git rm --cached'Estrutura de diretórios: como organizar um projeto Ansible d
Variáveis diferentes em hosts similaresValores hardcoded em vez de group_vars.Mover variáveis para group_vars ou host_vars.Evite armadilhas: anti-patterns e erros clássicos em Ansible
Serviço reiniciado mas não está rodandoFalta de validação pós-tarefa.Adicionar checagem com fail/when.Evite armadilhas: anti-patterns e erros clássicos em Ansible
Execução repetida altera arquivos múltiplas vezesTarefa não idempotente.Ajustar módulo ou parâmetros para garantir idempotência.Evite armadilhas: anti-patterns e erros clássicos em Ansible
Job falha com erro de permissão no DockerUsuário do Runner não está no grupo dockerAdicione o usuário ao grupo docker e reinicie o serviço.Executores: Shell, Docker e mais, escolha técnica e limitaçõ
Jobs Shell afetam arquivos do hostFalta de isolamento do Shell executorConsidere migrar para Docker ou use scripts seguros.Executores: Shell, Docker e mais, escolha técnica e limitaçõ
Jobs VirtualBox são lentosOverhead de virtualizaçãoAumente recursos da VM ou avalie outro executor.Executores: Shell, Docker e mais, escolha técnica e limitaçõ
Playbook falha com erro de conexão SSHLimite de sessões SSH atingidoAumente MaxSessions e MaxStartups no sshd_configFatores que limitam a escala: paralelismo, SSH e gerenciamen
Servidor de controle fica lento ou travaforks alto demais para a capacidade do servidorReduza forks ou aumente recursos de hardwareFatores que limitam a escala: paralelismo, SSH e gerenciamen
Timeouts frequentes em hosts remotostimeout baixo ou rede instávelAumente o parâmetro timeout no ansible.cfgFatores que limitam a escala: paralelismo, SSH e gerenciamen
Execução muito lenta mesmo com forks altosLimite de CPU/memória ou gargalo de redeMonitore recursos e ajuste forks conforme capacidade realFatores que limitam a escala: paralelismo, SSH e gerenciamen
Permissão negada ao conectar via SSHPermissões incorretas nos arquivos de chaveAjuste com 'chmod 600 ~/.ssh/id_ed25519'Gerenciamento de credenciais e acesso seguro via SSH
Erro: 'sudo: a password is required'Configuração sudoers não permite NOPASSWDVerifique /etc/sudoers.d/ansible e ajuste comandos permitidosGerenciamento de credenciais e acesso seguro via SSH
Falha ao descriptografar arquivo vaultSenha do vault incorreta ou arquivo corrompidoConfirme senha e integridade do arquivoGerenciamento de credenciais e acesso seguro via SSH
Cluster não inicia após upgradeIncompatibilidade de versão entre componentes ou falha no etcdReverta usando o backup do etcd e revise a matriz de compatibilidadeGerenciamento de upgrades, backups e políticas de retenção
Backups do etcd falhamPermissões insuficientes ou caminhos incorretos para certificadosVerifique os caminhos e permissões dos arquivos de certificado e diretórios de backupGerenciamento de upgrades, backups e políticas de retenção
Logs não estão sendo rotacionadosConfiguração ausente ou incorreta do logrotate no nó hostRevise o arquivo em /etc/logrotate.d/ e teste manualmente a rotaçãoGerenciamento de upgrades, backups e políticas de retenção
Runner não executa jobsToken de registro incorreto ou Runner offlineVerifique o token e reinicie o serviço do RunnerGitLab Runner: executor, agente ou orquestrador?
Jobs falham com erro de permissãoExecutor shell sem permissões adequadasAjuste permissões do usuário do RunnerGitLab Runner: executor, agente ou orquestrador?
Runner aparece como 'stale' no painelProblema de rede ou firewall bloqueando comunicaçãoVerifique conectividade e portas liberadasGitLab Runner: executor, agente ou orquestrador?
Alterações não rastreadas aparecem em produçãoAplicação direta do Terraform fora do pipelineRestringir permissões e exigir uso de CI/CDGovernança e compliance: como não ser pego de surpresa por a
State corrompido ou perdidoBackend remoto sem versionamentoAtivar versionamento no bucket e backup regularGovernança e compliance: como não ser pego de surpresa por a
Merge de código inseguroScanners de compliance não integrados ao pipelineAdicionar Checkov e tfsec como etapas obrigatóriasGovernança e compliance: como não ser pego de surpresa por a
Release não aparece em 'helm list'Instalação falhou ou foi feita em outro namespaceVerifique o namespace com 'helm list --all-namespaces' e repita a instalação se necessário.Helm: gerenciando pacotes e templates de aplicações
Pods não sobem após upgradeConfiguração inválida em values.yamlRevise o arquivo de valores e valide com 'helm template' antes de aplicar.Helm: gerenciando pacotes e templates de aplicações
Rollback não retorna ao estado esperadoRecursos externos não são revertidos automaticamenteVerifique dependências externas e ajuste manualmente se necessário.Helm: gerenciando pacotes e templates de aplicações
Erro de permissão ao instalar chartUsuário sem permissão adequada no clusterSolicite permissões apropriadas ou use um contexto com privilégios suficientes.Helm: gerenciando pacotes e templates de aplicações
O HPA não escala os pods mesmo com alta cargaMetrics Server ausente ou sem permissãoInstale e valide o Metrics Server; verifique RBACHorizontal e Vertical Pod Autoscaler: escalando cargas de tr
Pods são reiniciados inesperadamenteVPA em modo 'Auto' aplicando mudanças frequentesAltere o updateMode do VPA para 'Off' ou 'Initial'Horizontal e Vertical Pod Autoscaler: escalando cargas de tr
Conflito entre HPA e VPAAmbos ativos em modo automático no mesmo deploymentDeixe o VPA apenas recomendando (updateMode: Off)Horizontal e Vertical Pod Autoscaler: escalando cargas de tr
Playbook não aplica mudançasEstado já está conforme o desejado (idempotência)Verifique se o resultado já foi alcançado; ajuste o playbook se necessário.Infraestrutura como código: por que automatizar é inevitável
Erro de permissão ao rodar playbookUsuário remoto sem sudoGaranta que o usuário Ansible tenha permissões adequadas.Infraestrutura como código: por que automatizar é inevitável
Mudanças não refletem em todos os servidoresInventário incompleto ou hosts inacessíveisRevise o arquivo de inventário e conectividade SSH.Infraestrutura como código: por que automatizar é inevitável
Recurso criado com parâmetros erradosCódigo desatualizado ou erro de digitaçãoRevise e corrija o arquivo de configuração, depois aplique novamente.Infraestrutura como Código: por que não provisionar mais nad
Erro de permissão ao aplicarCredenciais insuficientes para o provedorVerifique as permissões e variáveis de ambiente.Infraestrutura como Código: por que não provisionar mais nad
Ambiente inconsistente após reaplicarMudanças manuais fora do IaCEvite alterações manuais e reimporte recursos para o estado do IaC.Infraestrutura como Código: por que não provisionar mais nad
O domínio não responde ou dá timeoutDNS não propagado ou IP externo incorretoVerifique o registro DNS e o IP do LoadBalancerIngress e LoadBalancer: expondo serviços para o mundo
Erro de certificado inválidoSegredo TLS ausente ou certificado incorretoRecrie o segredo TLS com os arquivos corretosIngress e LoadBalancer: expondo serviços para o mundo
Ingress não roteia para o serviço esperadoRegras de path ou host mal configuradasRevise o YAML do Ingress e os selectors dos serviçosIngress e LoadBalancer: expondo serviços para o mundo
O serviço gitlab-runner não iniciaPermissões incorretas ou dependências ausentesVerifique logs com 'journalctl -u gitlab-runner' e ajuste permissões do usuárioInstalação do GitLab Runner: Linux, Docker e ambientes híbri
Runner em Docker não executa jobsVolume ou socket do Docker não montados corretamenteRevise parâmetros '-v' e permissões do socketInstalação do GitLab Runner: Linux, Docker e ambientes híbri
Erro de conexão com o GitLabFirewall bloqueando saída ou proxy não configuradoLibere portas e configure proxy conforme necessárioInstalação do GitLab Runner: Linux, Docker e ambientes híbri
Nó worker não aparece como ReadyProblemas de rede, firewall ou CNI não instalado.Verifique conectividade, portas abertas e se o CNI foi aplicado corretamente.Instalando o Kubernetes: kubeadm, Minikube e alternativas op
Erro de 'swap enabled' no kubeadm initSwap não foi desativado corretamente.Reaplique 'swapoff -a' e edite /etc/fstab para comentar a linha do swap.Instalando o Kubernetes: kubeadm, Minikube e alternativas op
kubectl não conecta ao clusterArquivo de configuração ausente ou permissões incorretas.Copie admin.conf para ~/.kube/config e ajuste o owner.Instalando o Kubernetes: kubeadm, Minikube e alternativas op
Ansible falha ao conectar nos hostsAs VMs ainda não estão prontas ou os IPs estão erradosEspere o Terraform terminar e confira os outputsIntegração com Ansible e outras ferramentas IaC: o que faz s
nginx não instalaUsuário sem permissão sudo ou rede bloqueadaAjuste o become no playbook e verifique regras de firewallIntegração com Ansible e outras ferramentas IaC: o que faz s
Terraform não encontra recursosEstado corrompido ou perdidoRecupere o state file ou reprovisione do zeroIntegração com Ansible e outras ferramentas IaC: o que faz s
docker pull falha com 'unauthorized: authentication required'Credenciais incorretas ou variáveis não definidas corretamente.Revise as variáveis protegidas e garanta que estão corretas e disponíveis para o pipeline.Integração com Docker registries e repositórios privados
docker login retorna 'invalid username/password'Token expirado ou usuário sem permissão.Gere novo token e atualize a variável protegida.Integração com Docker registries e repositórios privados
docker push retorna 'denied: requested access to the resource is denied'Permissão insuficiente do usuário/token.Garanta que o token tem permissão de push no registry.Integração com Docker registries e repositórios privados
Pods não sobem após o deployImagem Docker incorreta ou tag inexistenteVerifique se a imagem foi publicada corretamente no registry e se a tag está correta no manifestoIntegração com pipelines CI/CD: deploys automatizados e roll
Rollout fica travado em 'progressing'Readiness probe falhando ou recursos insuficientes no clusterRevise as probes e o consumo de CPU/memória dos podsIntegração com pipelines CI/CD: deploys automatizados e roll
Rollback não retorna ao estado anteriorHistórico de rollout não foi gravado corretamenteUse o flag '--record' nos comandos de atualização e revise o histórico com 'kubectl rollout history'Integração com pipelines CI/CD: deploys automatizados e roll
Métricas não aparecem no dashboardExporter externo não está lendo corretamente a saída do AnsibleVerifique o caminho do arquivo JSON e os logs do exporterIntegrando Ansible a sistemas de monitoramento
Alertas não disparam mesmo com falhaRegras de alerta mal configuradas no sistema de monitoramentoRevise as regras de alerta e os nomes das métricasIntegrando Ansible a sistemas de monitoramento
Exporter consome muita CPUVolume excessivo de dados ou script ineficienteOtimize o script e filtre apenas as métricas necessáriasIntegrando Ansible a sistemas de monitoramento
Inventário não lista hostsErro de sintaxe ou caminho errado no arquivoRevise o arquivo e valide com 'ansible-inventory --list'Inventário dinâmico e estático: escolha, criação e manutençã
Inventário dinâmico retorna vazioCredenciais ou filtros incorretos no pluginAjuste as credenciais e revise os filtros conforme a documentaçãoInventário dinâmico e estático: escolha, criação e manutençã
Erro de indentação no YAMLEspaços ou tabs inconsistentesPadronize a indentação (2 espaços) e valide novamenteInventário dinâmico e estático: escolha, criação e manutençã
Job falha com erro de permissão em volumesUserns remap altera o UID/GID dos arquivos montadosAjuste permissões dos volumes ou use imagens compatíveis com usernsIsolamento de jobs e containers: limites do Docker executor
Runner não inicia após mudar o DockerConfiguração inválida no daemon.jsonVerifique sintaxe JSON e reinicie o DockerIsolamento de jobs e containers: limites do Docker executor
Job exige modo privilegiado mas falhaRecursos do host bloqueados por isolamentoAvalie se realmente precisa de privileged; se sim, use em runner dedicadoIsolamento de jobs e containers: limites do Docker executor
Pod não consegue acessar banco mesmo autorizadoNetwork Policy pode estar bloqueando tráfego por erro de label ou selectorRevise labels dos Pods e matchLabels da policyIsolamento, Secrets e políticas de segurança de Pod
Secret não é montado no PodNome do Secret ou chave incorretos no YAMLCheque nomes e chaves, use 'kubectl describe secret'Isolamento, Secrets e políticas de segurança de Pod
Pods continuam rodando como root apesar da policyNamespace sem label de enforcement ou cluster sem suporte ao Pod Security AdmissionAplique label correta e consulte a documentação do clusterIsolamento, Secrets e políticas de segurança de Pod
Job não finalizaComando ou container com erro, ou restartPolicy incorretoVerifique logs do pod e ajuste o restartPolicy para NeverJob, CronJob e workflows: tarefas agendadas e pipelines dent
CronJob executa múltiplas vezes simultaneamenteconcurrencyPolicy padrão (Allow)Defina concurrencyPolicy: Forbid ou ReplaceJob, CronJob e workflows: tarefas agendadas e pipelines dent
Jobs antigos acumulando no clusterttlSecondsAfterFinished não configuradoAdicione ttlSecondsAfterFinished ao spec do Job ou CronJobJob, CronJob e workflows: tarefas agendadas e pipelines dent
Jobs não aparecem para todas as combinaçõesErro na definição da matriz ou sintaxe YAML incorretaRevise o bloco 'parallel: matrix:' e valide o YAMLJobs parametrizados e matrizes: reduzindo repetição e aument
Variáveis não são reconhecidas no scriptNome da variável errado ou não interpolado corretamenteGaranta que a variável está definida e referenciada como ${VARIAVEL}Jobs parametrizados e matrizes: reduzindo repetição e aument
Pipeline dispara com valores errados de parâmetroParâmetro não sobrescrito corretamente na interface ou APIConfirme o nome e valor do parâmetro ao iniciar o pipelineJobs parametrizados e matrizes: reduzindo repetição e aument
Job finaliza com 'execution took longer than'Timeout insuficiente ou script lentoAumentar timeout ou otimizar scriptJobs travando ou falhando: causas e soluções práticas
Permission denied ao executar scriptScript sem permissão de execuçãoRodar chmod +x no script antes de executarJobs travando ou falhando: causas e soluções práticas
Command not found ou builds diferentes a cada execuçãoAmbiente inconsistente ou dependências ausentesFixar imagem Docker e declarar dependências no before_scriptJobs travando ou falhando: causas e soluções práticas
kubectl não reconhece o novo recursoCRD não aplicado ou erro de sintaxe no YAMLRevise o YAML do CRD e aplique novamenteKubernetes além dos contêineres: Operators, CRDs e extensões
Operator não executa ações esperadasOperator não está rodando ou falta de permissões RBACVerifique logs do Operator e revise as permissõesKubernetes além dos contêineres: Operators, CRDs e extensões
Erro de validação ao criar recurso customizadoSchema do CRD não corresponde ao objeto criadoAjuste o YAML do recurso para seguir o schema do CRDKubernetes além dos contêineres: Operators, CRDs e extensões
tflint retorna erro de providerProvider não inicializado ou versão incompatívelExecute 'terraform init' antes do tflint e consulte a documentação do provider.Lint, testes e revisão de código: o que separa o amador do p
checkov aponta falso positivoRegra genérica ou configuração customizadaRevise a regra e, se necessário, use comentários para suprimir alertas específicos.Lint, testes e revisão de código: o que separa o amador do p
terraform validate falha após mergeConflito de código não resolvidoAtualize a branch local, resolva conflitos e valide novamente.Lint, testes e revisão de código: o que separa o amador do p
Runner aparece como offline no GitLabServiço parado ou erro de registroVerifique logs do Runner por mensagens de reconexão ou falha de registroLogs do Runner e do pipeline: onde estão e como analisar
Job falha sem mensagem claraErro no script ou variável não definidaAnalise o log detalhado do job e revise variáveis de ambienteLogs do Runner e do pipeline: onde estão e como analisar
Logs do Runner não aparecemPermissão insuficiente ou caminho erradoExecute journalctl como root ou revise o caminho do logLogs do Runner e do pipeline: onde estão e como analisar
Logs não aparecem no LokiFluentd não está enviando logs corretamente ou Loki está inacessívelVerifique logs do Fluentd e conectividade com o serviço LokiLogs e tracing: rastreando falhas e gargalos
Traces não chegam ao JaegerAplicação não instrumentada corretamente ou Jaeger não está acessívelRevise a configuração do OpenTelemetry e conectividade com JaegerLogs e tracing: rastreando falhas e gargalos
Dashboards do Grafana não mostram logsFonte de dados Loki não configuradaConfigure a fonte de dados Loki no Grafana e teste a conexãoLogs e tracing: rastreando falhas e gargalos
Arquivo de log não é criadoPermissões insuficientes ou caminho inexistenteGaranta que o usuário Ansible pode escrever em /var/log/ansible.logLogs, callbacks e handlers: rastreando o que acontece
Handlers não executamTarefa não notifica handler ou não houve mudançaConfirme que a tarefa realmente altera o estado e usa notify corretamenteLogs, callbacks e handlers: rastreando o que acontece
Callbacks não aparecemCallback não listado ou plugin ausenteAdicione o callback ao callback_whitelist e reinicie a execuçãoLogs, callbacks e handlers: rastreando o que acontece
Logs incompletosExecução parcial ou interrupção do playbookRevise o playbook e monitore possíveis abortosLogs, callbacks e handlers: rastreando o que acontece
kubectl apply retorna erro de sintaxe YAMLIndentação incorreta ou campos obrigatórios faltandoRevise o arquivo YAML, corrija a indentação e valide com 'kubectl apply --dry-run=client -f arquivo.yaml'Manifestos YAML: declarando o estado desejado de Deployments
Pods não sobem após aplicar DeploymentImagem incorreta ou erro de configuração no specVerifique logs com 'kubectl describe pod' e ajuste a imagem ou configuraçãoManifestos YAML: declarando o estado desejado de Deployments
Service não expõe o DeploymentSelector do Service não corresponde aos labels dos PodsConfirme que os labels do Deployment e o selector do Service são idênticosManifestos YAML: declarando o estado desejado de Deployments
Pod reiniciando em loopErro de configuração ou dependência ausenteVerifique logs com kubectl logs e revise variáveis de ambiente e volumes.Migração de workloads legados para Kubernetes: desafios e so
Timeout em integrações externasFirewall, DNS ou variáveis de ambiente incorretasConfirme conectividade de rede e valores de configuração.Migração de workloads legados para Kubernetes: desafios e so
Uso de CPU/memória muito altoLimites de recursos subdimensionados ou memory leakAjuste requests/limits e monitore consumo com Prometheus.Migração de workloads legados para Kubernetes: desafios e so
Output vazio ou nuloOutput mal definido ou variável não passada corretamenteRevise o outputs.tf e os parâmetros do móduloMódulos reutilizáveis e composição: o segredo para ambientes
Erro de dependência não resolvidaOrdem de módulos ou uso incorreto de depends_onAdicione depends_on explicitamente no bloco do móduloMódulos reutilizáveis e composição: o segredo para ambientes
Mudanças inesperadas em applyAtualização de módulo sem versionamentoSempre especifique a versão do módulo remotoMódulos reutilizáveis e composição: o segredo para ambientes
Variável obrigatória não definidaVariável sem valor padrão e não passada na chamadaDefina a variável no bloco module ou adicione valor padrãoMódulos reutilizáveis e composição: o segredo para ambientes
Módulo não encontrado ao rodar o playbookColeção não instalada ou namespace incorretoVerifique se a coleção foi instalada e se o nome do módulo está corretoMódulos, plugins e coleções: como o Ansible é extensível
Erro de permissão ao instalar coleçãoUsuário sem permissão de escrita no diretório de collectionsExecute o comando como superusuário ou ajuste as permissõesMódulos, plugins e coleções: como o Ansible é extensível
Plugin customizado não é reconhecidoDiretório de plugins não está no caminho de busca do AnsibleAdicione o caminho ao arquivo ansible.cfg em 'plugin_dirs'Módulos, plugins e coleções: como o Ansible é extensível
Métricas não aparecem no GrafanaPrometheus não consegue coletar do exporterVerifique firewall, portas e se o exporter está rodandoMonitorando recursos provisionados: integração com Prometheu
Exporters aparecem como DOWN no PrometheusEndpoint incorreto ou exporter não iniciadoConfirme o endereço e reinicie o exporterMonitorando recursos provisionados: integração com Prometheu
Alertas não disparamRegra de alerta mal configurada ou sem notificaçõesRevise a expressão e configure canais de notificaçãoMonitorando recursos provisionados: integração com Prometheu
Pods ficam pendentes mesmo após escalarLimite máximo de nodes atingido ou recursos insuficientes no node group.Ajuste os limites do autoscaler ou revise o tipo de instância.Nodes, Pools e Autoescaladores: como crescer sem perder o co
Cluster Autoscaler não adiciona nodesConfiguração incorreta do provider ou permissões insuficientes.Revise argumentos do deployment e permissões de cloud provider.Nodes, Pools e Autoescaladores: como crescer sem perder o co
Nodes não são removidos quando ociososPods com restrições de afinidade ou recursos mínimos impedem remoção.Revise configurações de pod disruption budget e afinidade.Nodes, Pools e Autoescaladores: como crescer sem perder o co
Operator não inicia no clusterImagem incorreta ou permissões insuficientesVerifique o valor de IMG, ajuste RBAC e consulte os logs do podOperadores Kubernetes: estendendo o cluster com automação cu
CRD não aparece após deployErro na definição ou aplicação do CRDRevise o YAML e re-aplique com 'kubectl apply -f config/crd'Operadores Kubernetes: estendendo o cluster com automação cu
Operator não reage a mudanças no recursoBug na lógica de reconciliação ou falha de RBACCheque os logs do Operator e revise as permissõesOperadores Kubernetes: estendendo o cluster com automação cu
kubectl retorna erro de conexão ao apiserverFalha no balanceador de carga ou todos os nós de control plane indisponíveisVerifique status do balanceador e dos nós de control planeOperando clusters em alta disponibilidade: práticas e lições
Cluster perde estado após reinícioetcd corrompido ou quorum perdidoRestaure backup do etcd e revise topologiaOperando clusters em alta disponibilidade: práticas e lições
Backup do etcd não restaura corretamenteBackup corrompido ou incompletoAutomatize testes de restauração e revise scripts de backupOperando clusters em alta disponibilidade: práticas e lições
Recursos de dev aparecem em prodWorkspaces ou diretórios não estão separados corretamente.Verifique se cada ambiente usa seu próprio diretório ou workspace e se o backend está configurado para isolar o estado.Organização de diretórios, módulos e workspaces: a base de u
Variáveis não são reconhecidas nos módulosFaltou declarar as variáveis em variables.tf do módulo.Adicione as variáveis necessárias em variables.tf e referencie corretamente no módulo.Organização de diretórios, módulos e workspaces: a base de u
Erro ao aplicar mudanças em produçãoMistura de arquivos ou dependências circulares entre módulos.Revise a estrutura de diretórios e a separação de responsabilidades dos módulos.Organização de diretórios, módulos e workspaces: a base de u
Playbook falha sem mensagem claraFalta de comentários e documentação sobre pré-requisitosAdicione cabeçalho explicativo e liste dependênciasPadronização, documentação e testes: o tripé da automação ro
Variável sobrescrita inesperadamenteNome genérico sem prefixoRenomeie usando prefixo da rolePadronização, documentação e testes: o tripé da automação ro
Role não é idempotenteFalta de teste automatizadoImplemente testes com Molecule e revise as tasksPadronização, documentação e testes: o tripé da automação ro
Build de microserviço dispara pipeline de todos os outros serviçosTriggers configurados de forma global ou uso de monorepo sem paths específicosAjuste triggers para acionar apenas pipelines necessários e use paths para limitar escopoPipeline monolítico vs. microserviços: desafios e soluções n
Dependência quebrada após atualização em microserviçoFalta de integração ou testes automatizados entre serviçosImplemente pipelines de integração e testes de contratoPipeline monolítico vs. microserviços: desafios e soluções n
Tempo de build do monolito muito altoPipeline executando tudo a cada commit, sem uso de cache ou jobs condicionaisImplemente cache e use regras para rodar apenas jobs necessáriosPipeline monolítico vs. microserviços: desafios e soluções n
Pipeline não dispara após pushArquivo .gitlab-ci.yml mal formatado ou ausenteValide o YAML e confirme que está na raiz do repositórioPipelines declarativos, multi-cloud e GitOps: o futuro da au
Deploy não sincroniza no cluster KubernetesArgoCD não tem permissão ou está fora de sincroniaVerifique permissões RBAC e status do ArgoCDPipelines declarativos, multi-cloud e GitOps: o futuro da au
Job falha ao detectar nuvem corretaVariável de ambiente CLOUD_PROVIDER não definidaConfigure variáveis no GitLab CI/CD > Settings > VariablesPipelines declarativos, multi-cloud e GitOps: o futuro da au
Falha ao aplicar em uma das cloudsCredenciais ou permissões insuficientes no provider correspondente.Verifique variáveis de ambiente e permissões nas contas de cloud.Pipelines multi-cloud: orquestrando AWS, Azure e GCP em conj
Outputs não disponíveis para o pipeline seguinteOutputs não definidos corretamente ou caminho do arquivo incorreto.Confirme a definição dos outputs e paths usados nos scripts.Pipelines multi-cloud: orquestrando AWS, Azure e GCP em conj
Validação pós-provisionamento falhaFirewall ou regras de rede bloqueando a comunicação entre clouds.Revise regras de segurança e libere as portas necessárias.Pipelines multi-cloud: orquestrando AWS, Azure e GCP em conj
Pipeline não inicia após commitErro de sintaxe no .gitlab-ci.ymlRode o lint e corrija os erros apontados.Pipelines versionáveis, testáveis e auditáveis: como manter
Mudança não registrada no históricoArquivo não foi commitadoAdicione e faça commit do .gitlab-ci.yml.Pipelines versionáveis, testáveis e auditáveis: como manter
Pipeline executa jobs inesperadosAlteração não testada com dry-runSimule o pipeline antes de aplicar mudanças.Pipelines versionáveis, testáveis e auditáveis: como manter
Logs de execução incompletosRunner mal configuradoVerifique a configuração do GitLab Runner e consulte a documentação.Pipelines versionáveis, testáveis e auditáveis: como manter
Playbook falha com erro de sintaxe YAMLIndentação ou formatação incorretaUse um validador YAML e revise espaços.Playbooks na prática: escrevendo, rodando e depurando
Tarefas não executam como rootFalta de 'become: true' ou configuração de sudoAdicione 'become: true' no playbook ou configure sudoers.Playbooks na prática: escrevendo, rodando e depurando
Mudanças não aparecem no modo checkMódulo não suporta simulaçãoConsulte a documentação do módulo para suporte a --check.Playbooks na prática: escrevendo, rodando e depurando
Pod não entra em RunningImagem incorreta ou indisponívelVerifique o nome da imagem e conectividade com o registryPods, Services e Deployments: as peças centrais do Kubernete
Service não respondeSelector do Service não corresponde aos labels dos PodsAjuste os labels no Service ou no DeploymentPods, Services e Deployments: as peças centrais do Kubernete
Deployment não cria réplicas suficientesRecursos insuficientes no clusterLibere recursos ou aumente a capacidade dos nósPods, Services e Deployments: as peças centrais do Kubernete
Usuário não consegue executar nem as ações mínimasPermissões insuficientes na role/policyRevise a lista de actions e ajuste a policyPolíticas de acesso e least privilege: como limitar danos an
Pipeline consegue alterar recursos além do escopoPolicy muito permissiva (ex: uso de *)Restringa as actions e recursos explicitamentePolíticas de acesso e least privilege: como limitar danos an
Alterações em módulos sem rastreabilidadeFalta de controle de acesso ou revisão de códigoImplemente pull request obrigatório e audite alteraçõesPolíticas de acesso e least privilege: como limitar danos an
Pipeline falha sempre no mesmo estágioScript ou dependência mal configuradaRevise o script e consulte os logs detalhados do jobPor que CI/CD mudou o ciclo de vida do software
Deploy não dispara após mergeBranch ou trigger mal configurados no .gitlab-ci.ymlVerifique as regras de only/except no pipelinePor que CI/CD mudou o ciclo de vida do software
Testes não são executadosJob de teste ausente ou mal nomeadoConfirme se há um job com stage: test e script corretoPor que CI/CD mudou o ciclo de vida do software
Pods não reiniciam após falhaManifesto mal configurado ou falta de recursos no clusterRevise o manifesto YAML e verifique recursos disponíveis com 'kubectl describe node'.Por que orquestrar contêineres: limites do Docker e a necess
Escalabilidade não funcionaLimite de CPU/memória atingido ou quotas de namespaceAjuste limites de recursos e quotas no manifesto ou namespace.Por que orquestrar contêineres: limites do Docker e a necess
Atualização causa downtimeRolling update não configurado corretamenteInclua estratégias de rolling update no deployment.Por que orquestrar contêineres: limites do Docker e a necess
Métricas do kube-state-metrics não aparecem no PrometheusServiceMonitor não criado ou endpoint não acessívelVerifique se o ServiceMonitor do kube-state-metrics existe e se o serviço está no namespace corretoPrometheus e kube-state-metrics: métricas essenciais para pr
Alertas não disparam no AlertmanagerRegras de alerta mal configuradas ou Alertmanager não conectadoRevise as regras PrometheusRule e a configuração do AlertmanagerPrometheus e kube-state-metrics: métricas essenciais para pr
Dashboards do Grafana vaziosDatasource Prometheus não configurado ou query erradaConfigure o datasource Prometheus corretamente no Grafana e revise as queriesPrometheus e kube-state-metrics: métricas essenciais para pr
Prometheus não coleta métricas do RunnerEndpoint de métricas não está ativo ou firewall bloqueando a porta.Verifique listen_address no config.toml e libere a porta 9252.Prometheus e métricas: monitorando uso e falhas
Métricas aparecem vaziasRunner sem jobs processados recentemente.Execute jobs de teste para gerar dados.Prometheus e métricas: monitorando uso e falhas
Alertas não disparamRegras mal configuradas ou Prometheus não reiniciado.Revise a sintaxe das regras e reinicie o Prometheus.Prometheus e métricas: monitorando uso e falhas
Erro 'No valid credential sources found for AWS Provider'Variáveis de ambiente não definidas ou perfil do AWS CLI ausente.Defina AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY corretamente.Providers na prática: autenticando e configurando AWS, Azure
Erro 'Error building AzureRM Client: Authenticating using the Service Principal Name failed'Credenciais do Service Principal inválidas ou expiradas.Gere novas credenciais e atualize as variáveis de ambiente.Providers na prática: autenticando e configurando AWS, Azure
Erro 'google: could not find default credentials'Variável GOOGLE_APPLICATION_CREDENTIALS não aponta para um arquivo válido.Verifique o caminho e a existência do arquivo JSON da conta de serviço.Providers na prática: autenticando e configurando AWS, Azure
Erro: 'State file is locked by another process'Outro apply ou plan em execução com locking ativo.Aguarde o término ou destrave manualmente conforme documentação do backend.Providers, backends e o arquivo de estado: onde mora o perig
Arquivo de estado sumiu após initBackend remoto está configurado, mas sem permissão de escrita.Ajuste permissões no bucket ou storage remoto.Providers, backends e o arquivo de estado: onde mora o perig
Recursos não aparecem em 'terraform state list'Arquivo de estado corrompido ou migrado incorretamente.Restaure backup do estado e revalide recursos.Providers, backends e o arquivo de estado: onde mora o perig
Apply falha com erro de state lockOutro processo está usando o state remoto.Aguarde ou destrave manualmente conforme a documentação do backend.Provisionamento multi-cloud para ambientes de teste e produç
Recursos criados apenas em uma nuvemPipeline ou variáveis configuradas incorretamente.Revise variáveis, arquivos tfvars e parâmetros do pipeline.Provisionamento multi-cloud para ambientes de teste e produç
Drift detectado no próximo applyRecursos alterados manualmente fora do Terraform.Recrie recursos via Terraform e evite alterações manuais.Provisionamento multi-cloud para ambientes de teste e produç
Provisioner executa toda vez que aplicaScript não é idempotente ou não há lockfileAdapte o script para checar antes de executar e criar arquivo de lockProvisioners e data sources: quando e como usar sem comprome
Data source retorna erro de recurso não encontradoRecurso externo foi removido ou renomeado fora do TerraformAtualize o data source ou crie o recurso via TerraformProvisioners e data sources: quando e como usar sem comprome
Provisioner falha por timeoutInstância ainda não está pronta para SSHAjuste o 'connection' e aumente o tempo de esperaProvisioners e data sources: quando e como usar sem comprome
Dados inconsistentes após applyMudanças externas não refletidas no estadoReavalie dependências e use 'terraform refresh' se necessárioProvisioners e data sources: quando e como usar sem comprome
Jobs ficam muito tempo em pendingPoucos Runners ou concorrência baixaAumente o número de Runners ou o parâmetro concurrentQuantos Runners você realmente precisa?
Runner consome 100% da CPUConcorrência alta demais para o hardware disponívelReduza o concurrent ou aumente recursos do hostQuantos Runners você realmente precisa?
Builds leves atrasam por builds pesadosTodos os jobs usam o mesmo RunnerSepare builds pesados e leves usando tags e Runners dedicadosQuantos Runners você realmente precisa?
Acesso negado ao tentar listar PodsRole ou RoleBinding ausente ou incorreto.Verifique se a Role está correta e se o RoleBinding aponta para a Service Account certa.RBAC e Service Accounts: controle de acesso granular no Kube
Pod acessa recursos além do esperadoPermissões excessivas na Role ou uso da Service Account default.Ajuste as regras da Role e garanta que o Pod usa a Service Account dedicada.RBAC e Service Accounts: controle de acesso granular no Kube
Erro de autenticação ao acessar a APIService Account não configurada no Pod ou token ausente.Confirme o campo serviceAccountName no spec do Pod e a existência do token.RBAC e Service Accounts: controle de acesso granular no Kube
kubectl retorna erro de conexão ao apiserverapiserver não inicializado ou etcd indisponívelVerifique logs do apiserver e status do etcdRecuperação de falhas no Control Plane e etcd
etcdctl endpoint health mostra 'unhealthy'etcd corrompido ou restauração incompletaRefaça o restore do snapshot e valide certificadosRecuperação de falhas no Control Plane e etcd
Falha ao adicionar node ao Control PlaneToken expirado ou certificados inválidosGere novo token com kubeadm token create e valide certificadosRecuperação de falhas no Control Plane e etcd
Output vazio ou nullRecurso não foi criado ou referência erradaVerifique se o recurso existe e se o nome está correto no outputRecursos, outputs e dependências: a anatomia de um main.tf f
Erro de dependência cíclicadepends_on mal configuradoRevise as dependências explícitas e remova loops desnecessáriosRecursos, outputs e dependências: a anatomia de um main.tf f
Ordem errada de criaçãoFaltou referência ou depends_onAdicione referências diretas ou depends_on para garantir a ordemRecursos, outputs e dependências: a anatomia de um main.tf f
Runner não aparece como onlineToken incorreto, serviço não iniciado ou problemas de redeVerifique o token, reinicie o serviço com 'sudo gitlab-runner restart' e teste a conectividadeRegistro do Runner: tokens, escopos e troubleshooting inicia
Erro 'invalid token' ao registrarToken expirado ou copiado do escopo erradoGere um novo token no escopo corretoRegistro do Runner: tokens, escopos e troubleshooting inicia
Jobs não são executadosTags do Runner não correspondem às do jobAjuste as tags do Runner ou do job no .gitlab-ci.ymlRegistro do Runner: tokens, escopos e troubleshooting inicia
Pod é finalizado com OOMKilledLimit de memória muito baixo ou vazamento de memória na aplicaçãoAumente o limit de memória ou corrija o vazamentoRequests, Limits e Quality of Service: controlando recursos
Pod fica lento sob cargaLimit de CPU baixo causando throttlingAumente o limit de CPU ou otimize a aplicaçãoRequests, Limits e Quality of Service: controlando recursos
Pods críticos sendo mortos antes de outrosClasse QoS inadequada (Burstable ou BestEffort)Configure requests e limits iguais para garantir classe GuaranteedRequests, Limits e Quality of Service: controlando recursos
Role não encontrada ao executar o playbookDiretório de roles não está no 'roles_path' ou role não instaladaAjuste o 'roles_path' em 'ansible.cfg' ou instale a roleRoles e reuso: compondo automação como Lego
Erro de dependência não resolvidaRole dependente não instalada ou nome incorreto em 'meta/main.yml'Instale a role dependente e corrija o nomeRoles e reuso: compondo automação como Lego
Variáveis não aplicadas na roleVariáveis não definidas em 'defaults' ou sobrescritas no playbookDefina variáveis corretamente em 'defaults/main.yml' ou no playbookRoles e reuso: compondo automação como Lego
Jobs ficam em pending por muito tempoRunner compartilhado saturado ou poucos runners dedicadosAdicione mais runners ou distribua melhor os projetosRunner compartilhado ou dedicado? Decidindo para cada projet
Runner dedicado executando jobs de outros projetosRunner não está locked ou tags mal configuradasConfigure --locked=true e ajuste tagsRunner compartilhado ou dedicado? Decidindo para cada projet
Vazamento de arquivos temporários entre buildsRunner compartilhado sem isolamento adequadoUse executores como Docker ou migre para runner dedicadoRunner compartilhado ou dedicado? Decidindo para cada projet
Jobs falham por falta de recursosRunner subdimensionadoAumente CPU/RAM ou distribua jobsRunner compartilhado ou dedicado? Decidindo para cada projet
Runner aparece online mas jobs não rodamTags do job não coincidem com as do RunnerAjuste as tags no job ou no RunnerRunner offline, jobs na fila: como destravar e restaurar
Erro de token inválido ao registrarToken expirado ou copiado erradoPegue o token atualizado no painel do GitLabRunner offline, jobs na fila: como destravar e restaurar
Jobs ficam stuck indefinidamenteLimite de workers baixo ou jobs travadosAumente 'concurrent' e limpe jobs stuck manualmenteRunner offline, jobs na fila: como destravar e restaurar
Runner some após reiniciarConfiguração corrompida ou permissão erradaRevise config.toml e permissões do usuário gitlab-runnerRunner offline, jobs na fila: como destravar e restaurar
Variável não disponível no jobBranch não é protegido ou variável não está marcada como ProtectedAjuste o escopo da variável ou rode o pipeline em branch protegidoSecrets, variáveis protegidas e acesso a sistemas externos
Valor da variável aparece em logsVariável não está marcada como MaskedEdite a variável e marque a opção MaskedSecrets, variáveis protegidas e acesso a sistemas externos
Falha ao acessar API externaToken inválido ou variável não definidaVerifique o valor da variável e se está marcada como ProtectedSecrets, variáveis protegidas e acesso a sistemas externos
State file exposto em repositórioFalta de .gitignore ou versionamento manualAdicione .gitignore e remova arquivos sensíveis do históricoSegredos, credenciais e state file: onde está o risco real
Segredos aparecem em logs do TerraformVariáveis não marcadas como sensitiveAdicione 'sensitive = true' nas variáveis confidenciaisSegredos, credenciais e state file: onde está o risco real
Erro de permissão ao acessar backend remotoPermissões IAM ou ACLs insuficientesRevise políticas de acesso do bucket ou storageSegredos, credenciais e state file: onde está o risco real
State file não criptografadoBackend local ou configuração de criptografia ausenteMigre para backend remoto com criptografia ativadaSegredos, credenciais e state file: onde está o risco real
Permissões não mudam após rodar o playbookTask não está idempotente ou módulo errado usadoTroque shell por módulos declarativos como fileSegurança em playbooks: idempotência, validação e compliance
Logs não aparecem em /var/log/ansible.loglog_path não configurado corretamente ou permissões insuficientesAjuste o ansible.cfg e permissões do arquivoSegurança em playbooks: idempotência, validação e compliance
Playbook passa mas configuração não foi aplicadaFalta de tasks de validaçãoInclua tasks de verificação após aplicar mudançasSegurança em playbooks: idempotência, validação e compliance
Pods sem sidecar injetadoNamespace sem label de injeção automáticaAplique 'kubectl label namespace <ns> istio-injection=enabled' e recrie os podsService Mesh com Istio e Linkerd: controle avançado de tráfe
Tráfego entre serviços falhaPolítica de autorização restritiva ou ausência de mTLSRevise AuthorizationPolicy e certifique-se de que mTLS está habilitadoService Mesh com Istio e Linkerd: controle avançado de tráfe
Métricas não aparecem no PrometheusService Mesh não configurado para exportar métricasVerifique configuração de Prometheus no mesh e se os endpoints estão acessíveisService Mesh com Istio e Linkerd: controle avançado de tráfe
Recursos criados sem tags ou nomes corretosVariáveis não foram referenciadas corretamente no HCLRevise o uso de var.common_tags e interpolação nos blocos de recursoTags, labels e naming conventions: a diferença entre caos e
Erro de sintaxe ao aplicar labels no GCPUso de caracteres inválidos em labelsAjuste as labels para conter apenas letras minúsculas, números, hífen e underscoreTags, labels e naming conventions: a diferença entre caos e
Terraform não reconhece tags obrigatórias no móduloFaltou passar mandatory_tags ao chamar o móduloInclua mandatory_tags na chamada do módulo no root moduleTags, labels e naming conventions: a diferença entre caos e
Conexões SSH caindo ou lentidão extremaforks alto demais ou falta de ControlPersistReduza forks e ative ControlPersist no ansible.cfgTécnicas para grandes ambientes: delegação, pools e performa
Tarefas rodando no host erradodelegate_to mal configuradoRevise delegate_to e teste com um host de testeTécnicas para grandes ambientes: delegação, pools e performa
Fatos não sendo reutilizadosfact_caching não configurado ou caminho erradoVerifique fact_caching_connection e permissões do diretórioTécnicas para grandes ambientes: delegação, pools e performa
Erro 'undefined variable' ao aplicar templateVariável não foi definida em nenhum escopoDefina a variável no inventário, group_vars ou host_varsTemplates Jinja2 e Ansible Vault: configurando e protegendo
Arquivo Vault aparece em texto abertoArquivo não foi criptografado corretamenteUse 'ansible-vault encrypt arquivo.yml' para protegerTemplates Jinja2 e Ansible Vault: configurando e protegendo
Playbook pede senha do Vault repetidamenteSenha incorreta ou múltiplos arquivos Vault com senhas diferentesConfirme a senha e unifique senhas dos arquivos se possívelTemplates Jinja2 e Ansible Vault: configurando e protegendo
Erro de incompatibilidade de providerProvider não suportado ou versão incompatível com o OpenTofuAtualize o provider ou consulte a documentação do OpenTofu para suporteTerraform Cloud, OpenTofu e o futuro do IaC open source
Diferenças inesperadas no planoMudanças de sintaxe ou comportamento entre versõesReleia os changelogs e teste em ambiente isoladoTerraform Cloud, OpenTofu e o futuro do IaC open source
Falha ao inicializar backend remotoConfiguração de backend incompatívelAjuste o backend para formatos suportados pelo OpenTofuTerraform Cloud, OpenTofu e o futuro do IaC open source
Pipeline falha no initBackend remoto não configurado ou credenciais ausentes.Revise variáveis de ambiente e backend.Terraform em pipelines CI/CD: integração com GitLab CI e Git
Secrets aparecem em logsComando mal escrito ou variáveis expostas.Use variáveis de ambiente e nunca exiba valores sensíveis.Terraform em pipelines CI/CD: integração com GitLab CI e Git
Apply roda em branch erradoCondição de branch mal definida.Ajuste if/only para restringir ao branch correto.Terraform em pipelines CI/CD: integração com GitLab CI e Git
State corrompido ou perdidoUso de backend local ou concorrência sem lock.Implemente backend remoto com locking.Terraform em pipelines CI/CD: integração com GitLab CI e Git
Erro: Provider não encontradoProvider não declarado ou nome incorretoVerifique o bloco provider e consulte a documentação oficialTerraform, HCL e o ecossistema: por que essa stack é padrão
Erro de sintaxe no HCLParênteses, chaves ou aspas faltandoRevise a sintaxe e use 'terraform validate' para identificar o erroTerraform, HCL e o ecossistema: por que essa stack é padrão
Recursos não são criados na ordem esperadaFaltam dependências explícitasUse a propriedade 'depends_on' quando necessárioTerraform, HCL e o ecossistema: por que essa stack é padrão
Pods continuam se comunicando apesar das Network PoliciesO CNI instalado não suporta Network Policies ou há políticas permissivas demais.Confirme suporte do CNI e revise as regras aplicadas.Topologia e redes: segmentação, namespaces e políticas de ac
Serviço interno ficou inacessível após aplicar políticasPolítica bloqueou tráfego essencial por engano.Revise as regras e adicione exceções necessárias.Topologia e redes: segmentação, namespaces e políticas de ac
Pods não recebem labels esperadosErro de sintaxe ou label não aplicado corretamente.Use 'kubectl get pods --show-labels' para checar e corrija a aplicação de labels.Topologia e redes: segmentação, namespaces e políticas de ac
Pipeline não inicia via triggerToken inválido ou permissão insuficienteRevise o token e permissões do trigger no projetoTriggers, schedules e pipelines dinâmicos: automação sem lim
Schedule não executa no horário esperadoFuso horário incorreto ou usuário desativadoAjuste o fuso horário e confirme que o usuário criador está ativoTriggers, schedules e pipelines dinâmicos: automação sem lim
Pipeline encadeado não aparece como filhoConfiguração de trigger job incorretaRevise o bloco 'trigger' e use 'strategy: depend' se necessárioTriggers, schedules e pipelines dinâmicos: automação sem lim
Valor inesperado de variável em um hostConflito entre group_vars, host_vars e extra varsVerifique a ordem de precedência e revise onde cada variável foi definidaVariáveis e precedence: quem manda no valor final
Variável undefined durante execuçãoVariável não definida em nenhum lugar ou erro de digitaçãoConfirme o nome e defina a variável no nível corretoVariáveis e precedence: quem manda no valor final
Facts não disponíveisColeta de facts desabilitada ou erro de conexãoHabilite gather_facts: true no playbook e teste a conectividadeVariáveis e precedence: quem manda no valor final
Erro: variável não definidaVariável obrigatória sem valor padrão e sem valor fornecido.Defina a variável no arquivo .tfvars, na linha de comando ou como variável de ambiente.Variáveis, locals e arquivos tfvars: parametrização sem gamb
Valor inesperado em recursoArquivo .tfvars errado ou variável sobrescrita por -var na linha de comando.Verifique a ordem das fontes de valor e revise os arquivos .tfvars usados.Variáveis, locals e arquivos tfvars: parametrização sem gamb
Mensagem de erro customizada ao aplicarValor inválido conforme validação do bloco variable.Corrija o valor para atender à condição de validação.Variáveis, locals e arquivos tfvars: parametrização sem gamb
Erro: 'Error acquiring the state lock'Outro processo está aplicando mudanças ou lock não foi liberado.Aguarde o processo terminar ou libere o lock manualmente conforme a documentação do backend.Versionamento de código e estado: como não perder tudo em um
Arquivo .tfstate foi versionado por engano.gitignore mal configurado ou ausente.Adicione .tfstate ao .gitignore e remova o arquivo do repositório.Versionamento de código e estado: como não perder tudo em um
Estado remoto não aparece no bucketConfiguração de backend incorreta ou falta de permissão.Revise o bloco backend e as permissões do bucket.Versionamento de código e estado: como não perder tudo em um
Pipeline não inicia após commitErro de sintaxe YAML ou indentação incorretaValide o YAML com um linter e corrija a indentaçãoYAML do .gitlab-ci.yml: stages, scripts e includes avançados
Job incluído não aparece no pipelineCaminho do include incorreto ou arquivo ausenteVerifique o caminho e a existência do arquivo incluídoYAML do .gitlab-ci.yml: stages, scripts e includes avançados
Variável não é substituída no scriptVariável não definida no escopo corretoDefina a variável no nível global ou do job conforme necessárioYAML do .gitlab-ci.yml: stages, scripts e includes avançados

Todas as trilhas