Home - BktechBrazil/elastic-eck GitHub Wiki
Elastic Stack no Kubernetes com ECK
Apostila e wiki do curso de Elastic Stack executado sobre Kubernetes com o ECK (Elastic Cloud on Kubernetes). Em vez de instalar Elasticsearch e Kibana por pacotes em servidores, todo o ciclo de vida do Elastic Stack (provisionar, configurar, proteger, escalar e atualizar) é descrito em manifestos YAML e executado pelo operator ECK.
Para quem é este curso
Profissionais de infraestrutura, SRE/DevOps, dados, observabilidade e segurança que vão operar o Elastic Stack em Kubernetes. Não é preciso ser especialista em Kubernetes: o curso monta o cluster do zero e explica os conceitos necessários ao longo do caminho.
O que você vai construir
Um ambiente completo do Elastic Stack em um cluster Kubernetes single-node, montado em uma única VM, operado de ponta a ponta: instalação do Kubernetes e do operator, deploy do Elasticsearch e do Kibana, consultas, mapeamentos, ingestão de dados, dashboards, ciclo de vida de índices, machine learning, observabilidade, segurança, upgrade, dimensionamento e IA generativa.
Versões do curso
Todos os comandos, manifestos e telas desta apostila foram escritos para as versões abaixo.
| Componente | Versão |
|---|---|
| Operator ECK | 3.4.1 |
| Elastic Stack (Elasticsearch, Kibana, Elastic Agent, Beats, Logstash) | 9.4.2 na instalação · 9.4.4 a partir do capítulo de Migração e Upgrade |
| Kubernetes | 1.31 (vanilla, instalado com kubeadm) |
| Namespaces | elastic-system (operator) · elastic (clusters do curso) |
As versões ficam centralizadas no arquivo
_assets/versions.envdo repositório.
Ambiente de laboratório
| Item | Especificação |
|---|---|
| VM | 8 vCPU · 16 GB de RAM · 100 GB de disco |
| Sistema operacional | Ubuntu Server 22.04 ou 24.04 LTS |
| Kubernetes | Single-node (o mesmo nó é control plane e worker), rede Calico, StorageClass local-path, metrics-server |
| Ferramentas | kubectl e helm |
Os capítulos de Machine Learning e Search e GenAI são os que mais consomem memória. Rode-os com o restante do ambiente reduzido e, se possível, com a VM temporariamente em 32 GB.
Como usar esta apostila
- Siga os capítulos na ordem na primeira vez: cada laboratório parte do ambiente deixado pelo anterior.
- Cada capítulo tem a mesma estrutura: teoria (seções numeradas), laboratório (passos com comando, resultado esperado e verificação) e, no fim, a seção Origem do conteúdo, com os links para a documentação oficial da Elastic sobre os temas do capítulo.
- Tudo o que o laboratório precisa está na própria página: os comandos e os manifestos YAML (criados na VM com
cat <<'EOF') são copiados direto da apostila. - Quando algo falhar, consulte o guia
_assets/troubleshooting.md.
Convenções
| Símbolo | Significado |
|---|---|
| Bloco de código com comandos de shell | Executado no terminal da VM (host), copiando o bloco inteiro |
# comando |
Comando executado dentro de um pod (indicado no texto) |
GET /_cluster/health |
Requisição feita no Console (Dev Tools) do Kibana |
Índice
| Nº | Capítulo | O que você aprende | Módulo do repositório |
|---|---|---|---|
| 00 | Home (esta página) | Apresentação, versões, ambiente e índice | – |
| 01 | 01 ‐ Introdução ao Elastic Stack | História, produtos, opções de implantação, o que é o ECK, licenças e conceitos fundamentais | – |
| 02 | 02 ‐ Instalação e Configuração do Elastic Stack | Arquitetura do Elasticsearch; preparação da VM; Kubernetes com kubeadm, Calico, StorageClass, metrics-server e Helm; operator ECK; deploy do Elasticsearch e do Kibana; TLS, Secrets, acesso e dados de exemplo |
00-preparacao-ambiente · 01-instalacao-kubernetes · 02-deploy-elastic-stack-eck |
| 03 | 03 ‐ Explorando os Dados ‐ Query DSL | CRUD, bulk, consultas, filtros e agregações | 03-query-dsl |
| 04 | 04 ‐ Entendendo Índice, Shards e Segments no Elasticsearch | Papéis de nó como nodeSets, shards, réplicas, segments, alocação, awareness e tiers com o lab-es em 3 nodes |
04-nos-shards-segments-eck |
| 05 | 05 ‐ Procedimentos ILM | Fases, rollover, data streams e movimentação entre os tiers hot, warm e cold do lab-es |
08-ilm-eck |
| 06 | 06 ‐ Index Settings ‐ Entendendo Mapping, Analyzers e Aliases | Mappings, dynamic templates, analyzers, normalizers, aliases, reindex | 05-index-settings-mapping |
| 07 | 07 ‐ Ingestão de Dados no Elasticsearch | Ingest pipelines, Beats, Logstash e Elastic Agent (standalone e Fleet) como recursos do ECK | 06-ingestao-dados-eck |
| 08 | 08 ‐ Kibana: Visualização de dados, Gerenciamento da Stack e Machine Learning | Data views, Discover, KQL, Lens, dashboards, saved objects, Canvas, Maps, detecção de anomalias com ML, usuários e roles, Stack Monitoring e alertas | 07-kibana-dashboards · 09-machine-learning |
| 09 | 09 ‐ Observabilidade | Pilares da observabilidade, logs e métricas do cluster Kubernetes, Infrastructure, alertas, APM Server (ApmServer) e instrumentação de uma aplicação |
– |
| 10 | 10 ‐ Segurança | Elastic Security (SIEM, regras de detecção, Timeline, Cases, MITRE ATT&CK) e segurança do cluster no ECK (TLS, credenciais gerenciadas, rotação, usuários e roles) | – |
| 11 | 11 ‐ Migração, Upgrade e Capacity Plan | Snapshot antes do upgrade, rolling upgrade do Stack para 9.4.4, upgrade do operator, dimensionamento de shards, memória, CPU e disco, requests e limits, escala vertical e horizontal e ElasticsearchAutoscaler |
10-migracao-upgrade-eck · 11-capacity-plan-eck |
| Bônus | 12 ‐ Search e GenAI | BM25, ELSER, E5, semantic_text, busca híbrida com RRF, RAG, Cloud Connect e EIS, AI Assistant, Agent Builder, Playground e LLM local (Ollama) no cluster |
12-genai-eck |
Referências oficiais
- Documentação do ECK: elastic.co/docs/deploy-manage/deploy/cloud-on-k8s
- Documentação da Elastic: elastic.co/docs
- Notas de versão: elastic.co/docs/release-notes
- Repositório do ECK (exemplos e issues): github.com/elastic/cloud-on-k8s
Material didático da BKTech. Elasticsearch, Kibana, Logstash, Beats, Elastic Agent e ECK são marcas da Elastic N.V.