Kubernetes Elasticsearch 완벽 가이드! ELK 기반 Container Log 검색과 분석 시스템 구축 방법 이해하기

Kubernetes 환경에서는 수많은 Container가 실행되면서 지속적으로 Log가 발생합니다.

개발 환경에서는 kubectl logs 명령어만으로 충분할 수 있지만 Production 환경에서는 수백 개 이상의 Pod Log를 중앙에서 검색하고 분석할 수 있는 시스템이 필요합니다.

예:

서비스 장애 발생

Error Log 발생

여러 Pod Log 검색 필요

원인 분석

이때 대표적으로 사용하는 Logging Stack이 ELK입니다.

ELK는 다음 세 가지 기술을 조합한 구조입니다.

구성 요소역할
ElasticsearchLog 저장 및 검색
LogstashLog 수집 및 변환
KibanaLog 시각화

Kubernetes 환경에서는 Fluent Bit 또는 Fluentd를 함께 사용하여 Log를 수집하고 Elasticsearch로 전달하는 구조가 많이 사용됩니다.

ELK 구조를 이해하면 대규모 Kubernetes 환경에서 장애 분석과 Log 관리 시스템을 구축할 수 있습니다.

Kubernetes에서 Elasticsearch가 필요한 이유

Kubernetes 환경에서는 Log 양이 빠르게 증가합니다.

예:

Application 100개

Pod 500개

초당 수천 개 Log

장기간 저장 필요

단순 파일 저장 방식은 한계가 있습니다.

필요 기능:

  • 빠른 검색
  • 기간별 조회
  • Keyword 검색
  • Error 분석
  • Dashboard 제공

Elasticsearch는 이러한 요구사항을 해결합니다.

Elasticsearch란?

Elasticsearch는 분산형 검색 및 분석 Engine입니다.

특징:

  • 대용량 데이터 검색
  • Full Text Search
  • 분산 저장
  • 실시간 분석

Logging 환경에서는 Log 데이터를 저장하고 빠르게 검색하는 역할을 합니다.

Kubernetes ELK Architecture 구조

일반적인 구성:

Application Container

stdout Log

Fluent Bit / Fluentd

Logstash

Elasticsearch

Kibana

운영자 분석

각 Component가 역할을 분리합니다.

Elasticsearch와 Kubernetes 관계

Elasticsearch는 Kubernetes에서도 Container 형태로 운영할 수 있습니다.

구조:

StatefulSet

Elasticsearch Pod

Persistent Volume

Storage

Elasticsearch는 데이터를 유지해야 하기 때문에 StatefulSet과 Storage 구성이 중요합니다.

Elasticsearch와 StatefulSet 관계

Elasticsearch Cluster는 Node Identity가 필요합니다.

예:

elasticsearch-0

elasticsearch-1

elasticsearch-2

각 Node가 고유한 역할을 가지고 데이터를 저장합니다.

따라서 Deployment보다 StatefulSet이 적합합니다.

Elasticsearch Storage 구성

Logging Storage는 많은 데이터를 저장합니다.

구조:

Elasticsearch Pod

PVC

Persistent Volume

Disk Storage

운영 환경에서는 Storage 성능이 검색 속도에 직접적인 영향을 줍니다.

Logstash 역할

Logstash는 Log 데이터를 변환하는 Pipeline 역할을 합니다.

동작:

Log Input

Filter 처리

Output 전달

예:

Raw Log:

ERROR connection failed

변환:

{
 "level":"error",
 "message":"connection failed",
 "service":"payment"
}

검색하기 좋은 형태로 변경합니다.

Fluent Bit과 Logstash 관계

두 Component는 역할이 다릅니다.

구분역할
Fluent BitLog 수집
LogstashLog 변환
Elasticsearch저장
Kibana검색

필요에 따라 함께 구성합니다.

Kibana란?

Kibana는 Elasticsearch 데이터를 시각화하는 Dashboard 도구입니다.

가능한 작업:

  • Log 검색
  • Error 분석
  • 시간별 조회
  • Dashboard 생성

운영자가 장애 원인을 찾는 화면 역할을 합니다.

Kubernetes ELK 설치 구조

Production 환경에서는 Helm을 활용합니다.

구조:

Helm Chart

Elasticsearch 설치

Logstash 설치

Kibana 설치

Storage 연결

복잡한 Logging Stack을 자동 구성할 수 있습니다.

Elasticsearch Index 관리

Elasticsearch는 Log를 Index 단위로 관리합니다.

예:

application-log-2026-08

오늘 Log 저장

운영에서는 Index 관리가 중요합니다.

관리 항목:

  • Index 생성
  • Rotation
  • 삭제 정책
  • Storage 관리

Elasticsearch Log Retention 관리

Log는 계속 증가하기 때문에 보관 정책이 필요합니다.

예:

최근 30일

빠른 검색 유지

오래된 Log

삭제 또는 Archive

Storage 비용을 관리합니다.

Kubernetes Elasticsearch 장애 사례

문제원인
Pod PendingStorage 부족
Cluster YellowReplica 문제
Cluster RedData 손상
검색 느림Index 증가
Memory 부족Heap 설정 문제

Elasticsearch는 Resource 관리가 중요합니다.

Elasticsearch Resource 관리

Elasticsearch는 Memory 사용량이 높습니다.

설정 필요:

  • CPU Request
  • Memory Request
  • JVM Heap
  • Storage Capacity

잘못 설정하면 Node 장애로 이어질 수 있습니다.

Kubernetes ELK와 Observability

현대 Kubernetes Observability 구조:

Metric

Prometheus

Log

Elasticsearch / Loki

Trace

Jaeger / Tempo

세 가지 데이터를 함께 분석합니다.

Kubernetes Loki와 Elasticsearch 비교

구분LokiElasticsearch
검색 방식Label 기반Index 기반
Resource낮음높음
대규모 검색제한적강력
운영 난이도낮음높음

환경과 목적에 따라 선택합니다.

Kubernetes ELK 운영 전략

Production 환경:

Log Format 통일

Agent 배포

Storage 설계

Index 관리

Dashboard 구성

Alert 연결

체계적인 Logging 운영이 필요합니다.

Kubernetes Elasticsearch 장점

장점설명
강력한 검색대규모 Log 분석
확장성분산 저장 가능
DashboardKibana 제공
Enterprise 활용대규모 운영 적합

ELK는 오랜 기간 사용된 대표적인 Logging Architecture입니다.

자주 묻는 질문

Elasticsearch는 Kubernetes에서 꼭 필요한가요?

아닙니다.

서비스 규모와 Log 분석 요구사항에 따라 Loki 또는 Cloud Logging을 선택할 수 있습니다.

Elasticsearch는 왜 StatefulSet을 사용하나요?

데이터 저장과 Node Identity 유지가 필요하기 때문입니다.

ELK와 Loki 중 어떤 것이 좋은가요?

작고 효율적인 Kubernetes 환경은 Loki, 대규모 검색과 분석은 Elasticsearch가 적합합니다.

마무리

Kubernetes Elasticsearch는 대규모 Container Log를 저장하고 검색하기 위한 Enterprise Logging 시스템입니다.

구성 요소역할
ElasticsearchLog 저장·검색
LogstashLog 변환
Kibana시각화
Fluent BitLog 수집

ELK 구조를 이해하면 Kubernetes Production 환경에서 장애 분석과 Log 관리를 체계적으로 수행할 수 있습니다.

다음 글에서는 Kubernetes 전체 관찰성을 다루는 Kubernetes Observability 완벽 가이드! Metric·Log·Trace 기반 장애 분석 구조 이해하기를 알아보겠습니다.

댓글 남기기