Olá!

O Kibana é a interface gráfica do Elasticsearch, permitindo visualizações de dados, dashboards interativos e análise avançada. No OpenShift, a melhor forma de implantar o Kibana é utilizando o Elastic Operator, garantindo gerenciamento automatizado e integração direta com o cluster Elasticsearch.

📥 Pré-requisitos

Antes de implantar o Kibana, certifique-se de que:

✅ O Elastic Operator já está instalado no OpenShift.
✅ Um cluster Elasticsearch já foi configurado e está rodando.
✅ O Elasticsearch está acessível no namespace do Kibana.

Se ainda não configurou o Elasticsearch, siga este meu artigo: guia de instalação do Elastic no OpenShift.

Neste artigo, você aprenderá:

✅ Como instalar e configurar o Kibana no OpenShift
✅ Como integrá-lo ao Elastic Operator
✅ Como expor o Kibana via route no OpenShift
✅ Como realizar o deploy via Web Console e CLI

🚀 Criando o Deploy do Kibana no OpenShift

Agora que temos o Elastic Operator instalado, podemos criar o Kibana e conectá-lo ao Elasticsearch.

📝 YAML para Deploy do Kibana

Crie um arquivo chamado kibana-deploy.yaml com a seguinte configuração:

apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
name: pensandolinux-kibana
namespace: pensandolinux-elasticsearch
spec:
version: 8.17.1
count: 1
elasticsearchRef:
name: pensandolinux-cluster-elastic
podTemplate:
spec:
containers:
- name: kibana
resources:
requests:
memory: 2Gi
cpu: 1
limits:
memory: 4Gi
cpu: 2
http:
service:
spec:
type: ClusterIP

🔹 Explicação do YAML

  • version: 8.17.1 → Define a versão do Kibana a ser instalada.
  • count: 1 → Número de réplicas do Kibana.
  • elasticsearchRef.name: pensandolinux-cluster-elastic → Conecta o Kibana ao Elasticsearch existente.
  • resources → Define limites de CPU/memória para o pod do Kibana.
  • http.service.spec.type: ClusterIP → Cria um serviço interno para acessar o Kibana.

💡 Expondo o Kibana no OpenShift

Por padrão, o Kibana só pode ser acessado internamente. Para torná-lo acessível via URL externa, criamos uma Route no OpenShift.

📝 Criando uma Route para o Kibana

Crie um arquivo chamado kibana-route.yaml com o seguinte conteúdo:

apiVersion: route.openshift.io/v1
kind: Route
metadata:
name: kibana-route
namespace: pensandolinux-elasticsearch
spec:
to:
kind: Service
name: pensandolinux-kibana-kb-http
port:
targetPort: https
tls:
termination: edge
host: kibana.apps.pensandolinux.com.br

🔹 Explicação

✅ A Route cria uma URL pública para acessar o Kibana.
termination: edge → Usa TLS (HTTPS) com terminação na borda.
to.name: pensandolinux-kibana-kb-http → Aponta para o serviço do Kibana gerado pelo Operator.
host: kibana.apps.pensandolinux.com.br → Define o domínio de acesso ao Kibana.

⚡ Deploy do Kibana no OpenShift

🔹 Via OpenShift Web Console

1️⃣ Acesse o OpenShift Web Console.
2️⃣ Vá até Administrator View → Workloads → Custom Resources.
3️⃣ No topo direito, clique em Create Custom Resource.
4️⃣ Cole o YAML do Kibana e clique em Create.
5️⃣ Faça o mesmo para a Route.
6️⃣ Vá até Networking → Routes e copie a URL gerada.

Agora o Kibana está acessível via navegador. 🚀

🔑 Como Obter a Senha do Elasticsearch para Login no Kibana

Para acessar o Kibana, você precisará das credenciais do usuário elastic.

Para obter a senha gerada automaticamente, execute:

oc get secret pensandolinux-cluster-elastic-es-elastic-user -n pensandolinux-elasticsearch -o=jsonpath='{.data.elastic}' | base64 --decode; echo

Agora, acesse o Kibana e faça login com:

  • Usuário: elastic
  • Senha: (gerada pelo comando acima)

🎯 Conclusão

Agora você tem o Kibana rodando no OpenShift, totalmente integrado ao Elasticsearch, com acesso via Route pública. 🚀

Recapitulando o que fizemos:

✅ Implantamos o Kibana usando o Elastic Operator.
✅ Integramos o Kibana ao cluster Elasticsearch.
✅ Criamos uma Route no OpenShift para acesso via navegador.
✅ Obtivemos a senha de login do Elasticsearch.

Com essa configuração, você pode visualizar logs, criar dashboards e explorar seus dados no Kibana! 🔥

Se tiver dúvidas, deixe um comentário! 🚀

🔹 Gostou do artigo? Compartilhe e acompanhe o Pensando Linux para mais conteúdos sobre OpenShift, Kubernetes e DevOps! 🎯

Deixe um comentário

Tendência