
Olá!
O Elasticsearch é uma solução poderosa para busca e análise de dados, mas sua operação no OpenShift pode apresentar desafios. Se seu cluster não está funcionando corretamente, este guia fornece os principais passos para investigação e resolução de problemas.
O que é o Elastic Operator?
O Elastic Operator é um operador Kubernetes que facilita a implantação, gerenciamento e escalabilidade do Elasticsearch dentro do OpenShift e outras plataformas Kubernetes. Ele permite a automação de tarefas como:
- Implantação de clusters Elasticsearch, Kibana e outros componentes do Elastic Stack.
- Monitoramento do estado do cluster e reconfiguração automática em caso de falhas.
- Gerenciamento de atualizações e upgrades do Elasticsearch de forma controlada.
Com o Elastic Operator, a complexidade da administração manual do Elasticsearch é reduzida, tornando o cluster mais resiliente e confiável.
1. Verificando o Status do Elastic Operator
O Elastic Operator gerencia os recursos do Elasticsearch no OpenShift. Se ele não estiver funcionando corretamente, o cluster pode falhar na inicialização ou apresentar problemas na execução.
Verificar os Pods do Elastic Operator
oc get pods -n <namespace>
Saída esperada:
NAME READY STATUS RESTARTS AGE
elastic-operator-xxxxx-xxxxx 1/1 Running 0 5m
Se o status não for Running, verifique os logs do operador:
oc logs -l control-plane=elastic-operator -n <namespace>
Verificar os Eventos do Operator
oc get events -n <namespace> --sort-by=.metadata.creationTimestamp
Isso ajuda a identificar falhas recentes.
2. Verificando o Status do Elasticsearch Cluster
Listar os Recursos do Elasticsearch
oc get elasticsearch -n <namespace>
Saída esperada:
NAME HEALTH NODES VERSION PHASE
<cluster-name> green 3 8.5.0 Ready
- Green = Tudo funcionando normalmente.
- Yellow = Algumas réplicas podem estar indisponíveis.
- Red = Problema crítico, possíveis falhas no acesso aos dados.
Verificar os Pods do Elasticsearch
oc get pods -n <namespace> -l elasticsearch.k8s.elastic.co/cluster-name=<cluster-name>
Saída esperada:
NAME READY STATUS RESTARTS AGE
<cluster-name>-es-default-0 1/1 Running 0 10m
<cluster-name>-es-default-1 1/1 Running 0 10m
<cluster-name>-es-default-2 1/1 Running 0 10m
Se algum pod estiver Pending, CrashLoopBackOff ou Terminating, pode haver problemas de armazenamento ou agendamento.
Verificar Logs do Elasticsearch
oc logs <cluster-name>-es-default-0 -n <namespace>
Isso pode revelar falhas como problemas de autenticação, conectividade ou armazenamento.
Verificar o Status do Cluster via API
oc exec -n <namespace> <cluster-name>-es-default-0 -- curl -X GET "https://<cluster-name>-es-http:9200/_cluster/health?pretty" -k -u elastic:<senha>
Essa requisição retorna informações detalhadas do cluster, incluindo estado, nós ativos e problemas detectados.
3. Verificando o Status do Kibana
Se Kibana foi implantado junto ao Elasticsearch, ele também pode indicar problemas no cluster.
Verificar os Pods do Kibana
oc get pods -n <namespace> -l kibana.k8s.elastic.co/name=<cluster-name>
Saída esperada:
NAME READY STATUS RESTARTS AGE
<cluster-name>-kb-xxxxx 1/1 Running 0 10m
Se estiver em CrashLoopBackOff, verifique os logs:
oc logs <cluster-name>-kb-xxxxx -n <namespace>
Para acessar Kibana:
oc get route -n <namespace>
Isso retorna o link para acesso.
4. Verificando PVCs e Storage do Elasticsearch
Problemas no Persistent Volume Claim (PVC) podem impedir o Elasticsearch de inicializar corretamente.
Verificar PVCs Associados
oc get pvc -n <namespace>
Se algum PVC estiver Pending, pode haver falta de volumes disponíveis.
Para verificar o estado dos volumes:
oc get pv
Se necessário, remova um PVC problemático (ATENÇÃO: Isso pode resultar em perda de dados):
oc delete pvc <pvc-name> -n <namespace> --force --grace-period=0
5. Verificando a Configuração de Tolerations
Se os pods do Elasticsearch não estão sendo programados corretamente, pode haver restrições de tolerations e nodeSelector.
Verificar as Tolerations Configuradas
oc get configmap rook-ceph-operator-config -n <namespace> -o yaml | grep ROOK_CEPH_TOLERATIONS -A5
Se necessário, adicione tolerations para permitir a execução em todos os nós:
oc patch configmap rook-ceph-operator-config -n <namespace> --type=merge -p '{
"data": {
"ROOK_CEPH_TOLERATIONS": "- operator: Exists"
}
}'
Depois, reinicie o operador:
oc delete pod -l app=rook-ceph-operator -n <namespace>
Conclusão
Seguir esses passos ajuda a identificar e resolver problemas comuns no Elasticsearch dentro do OpenShift. Os principais pontos de atenção incluem:
✅ Status do Elastic Operator
✅ Saúde do Cluster Elasticsearch
✅ Verificação dos Pods do Elasticsearch e Kibana
✅ Armazenamento e PVCs
✅ Tolerations e Node Scheduling
Caso encontre erros específicos, os logs dos pods são a melhor forma de entender o problema e aplicar a correção adequada. Se precisar de suporte adicional, consulte a documentação oficial do Elasticsearch ou a equipe responsável pelo OpenShift no seu ambiente.
Se este guia foi útil, compartilhe com sua equipe! 🚀

Deixe um comentário