관찰성

지원 버전: Cilium 1.16+, Kubernetes 1.28+ 마지막 업데이트: 2026년 2월 22일

개요

Cilium Service Mesh는 Hubble을 통해 강력한 네트워크 관찰성을 제공합니다. Hubble은 eBPF를 기반으로 네트워크 흐름을 실시간으로 관찰하고, 서비스 간 의존성을 시각화하며, L7 레벨의 상세한 메트릭을 수집합니다. 이 장에서는 Hubble의 구성 요소와 활용 방법을 설명합니다.

Hubble 아키텍처

spinner

구성 요소

컴포넌트
역할
배포 방식

Hubble Observer

노드별 흐름 수집

Cilium Agent 내장

Hubble Relay

클러스터 전체 흐름 집계

Deployment

Hubble UI

시각화 대시보드

Deployment

Hubble CLI

명령줄 인터페이스

로컬 설치

Hubble Metrics

Prometheus 메트릭

Cilium Agent 내장

Hubble 설치 및 설정

Helm을 통한 설치

# values.yaml
hubble:
  enabled: true

  # Hubble Relay
  relay:
    enabled: true
    replicas: 1
    resources:
      limits:
        cpu: 1000m
        memory: 1024Mi
      requests:
        cpu: 100m
        memory: 128Mi

  # Hubble UI
  ui:
    enabled: true
    replicas: 1
    ingress:
      enabled: true
      hosts:
      - hubble.example.com
      tls:
      - secretName: hubble-tls
        hosts:
        - hubble.example.com

  # Hubble 메트릭
  metrics:
    enabled:
    - dns
    - drop
    - tcp
    - flow
    - icmp
    - http

    serviceMonitor:
      enabled: true

  # 흐름 로그 설정
  export:
    static:
      enabled: false
      filePath: /var/run/cilium/hubble/events.log

  # TLS 설정
  tls:
    enabled: true
    auto:
      enabled: true
      method: helm
      certValidityDuration: 1095

Hubble CLI 설치

Hubble CLI

기본 사용법

흐름 필터링

출력 형식

고급 쿼리

Hubble UI

서비스 맵

Hubble UI는 서비스 간 의존성을 시각적으로 보여줍니다:

spinner

UI 기능

  1. 서비스 맵: 실시간 서비스 의존성 그래프

  2. 흐름 타임라인: 시간별 네트워크 흐름

  3. 네임스페이스 필터: 네임스페이스별 보기

  4. verdict 필터: 허용/거부 트래픽 분리

  5. 상세 정보: 개별 흐름의 L7 상세 정보

UI 접근

L7 흐름 가시성

HTTP 흐름

gRPC 흐름

DNS 쿼리

Kafka 흐름

Prometheus 메트릭

메트릭 활성화

주요 메트릭

Cilium 에이전트 메트릭

Grafana 대시보드

기본 대시보드 설치

커스텀 대시보드 예시

서비스 의존성 맵

의존성 시각화

서비스 맵 예시

spinner

Golden Signals 모니터링

4가지 골든 시그널

spinner

PromQL 쿼리

AlertManager 규칙

OpenTelemetry 통합

OTLP 내보내기 설정

OpenTelemetry Collector 설정

트러블슈팅

일반적인 문제 진단

흐름 없음 문제

다음 단계

참고 자료

마지막 업데이트