Data Engineering/s3 minio

📘 [MinIO & Cilium 기반 오브젝트 스토리지 연동 시리즈 #7] Hubble CLI/UI 설치 및 흐름 추적 실습

ygtoken 2025. 3. 26. 18:05
728x90

목표: Cilium의 네트워크 관측 도구인 Hubble CLI와 Hubble UI를 설치하고,
MinIO와 클라이언트 간의 네트워크 흐름을 실시간으로 시각화/분석하는 실습을 진행합니다.


🔎 이번 글에서 수행할 작업 요약

  1. Cilium 설치 상태에서 Hubble CLI & UI 활성화
  2. Hubble UI를 LoadBalancer로 노출
  3. 실제 네트워크 흐름 확인 및 필터링 테스트
  4. MinIO 접근 흐름 추적 및 분석

⚙️ 1단계: Hubble 기능 활성화

이 단계의 목적: 이미 설치된 Cilium에서 Hubble 기능을 활성화하고,
흐름 수집과 시각화를 위한 Agent 및 Relay 구성 상태를 점검합니다.

# Cilium CLI를 사용해 Hubble 기능 활성화
cilium hubble enable
# ✅ Hubble Agent 및 Relay가 자동으로 구성됨

# 활성화된 Hubble 컴포넌트 확인
kubectl get pods -n kube-system -l k8s-app=hubble

 

예상 출력:

hubble-relay-xxxxx        Running
cilium-xxxxx              Running (내부에 hubble-agent 포함)

🌐 2단계: Hubble UI 설치 및 LoadBalancer 서비스 노출

이 단계의 목적: Hubble UI를 설치하고,
외부 브라우저에서 접근 가능하도록 LoadBalancer 서비스로 노출합니다.

# Hubble UI 설치
cilium hubble ui install

# Hubble UI 서비스 타입 확인
kubectl get svc -n kube-system -l app.kubernetes.io/name=hubble-ui

 

서비스 타입이 기본적으로 ClusterIP로 설정되어 있기 때문에,
다음과 같이 LoadBalancer로 수정합니다:

# Hubble UI 서비스 타입 수정
kubectl patch svc hubble-ui -n kube-system -p '{"spec": {"type": "LoadBalancer"}}'
# EXTERNAL-IP 확인
kubectl get svc hubble-ui -n kube-system

→ 브라우저에서 http://<EXTERNAL-IP>:80 접속


🔭 3단계: Hubble CLI 흐름 필터링 실습

이 단계의 목적: Hubble CLI를 사용해 네트워크 흐름을 필터링하고,
특정 네임스페이스, 라벨, 포트 기반 흐름 분석 방법을 익힙니다.

# MinIO에 대한 전체 네트워크 흐름 보기
hubble observe --to fqdn "minio.minio.svc.cluster.local"

# etl 네임스페이스의 클라이언트 → MinIO 흐름
hubble observe --namespace etl --to-port 9000 --protocol http

# DROP된 요청만 필터링
hubble observe --verdict DROP

🔍 4단계: 시각화 기반 흐름 분석 (Hubble UI)

이 단계의 목적: Hubble UI를 통해 Cilium 정책이 적용된 흐름이 실제로 어떻게 처리되고 있는지
시각적으로 확인하고 정책 검증에 활용합니다.

  1. 브라우저에서 http://<EXTERNAL-IP> 접속
  2. 좌측 메뉴에서 Flow 탭 클릭
  3. 요청의 SOURCE, DESTINATION, VERDICT 확인
  4. 허용됨(Forwarded), 거부됨(Dropped) 구분 가능

✅ 네트워크 정책 실습과 연동 시, UI에서 흐름 시각화 → CLI로 추적 심화 가능


📎 요약 및 핵심 정리

  • Hubble CLI와 UI를 설치하여 Cilium 네트워크 정책의 실제 흐름을 시각적으로 추적할 수 있는 기반을 마련함
  • UI는 LoadBalancer 방식으로 외부 노출하여 브라우저에서 편리하게 접근 가능
  • CLI에서는 --namespace, --to-port, --verdict 등의 필터를 조합해 심화 추적이 가능함
  • 실무에서는 정책 디버깅, 트래픽 이상 감지 등에 매우 유용하게 활용 가능

 

728x90