DevOps 216

📘 [MinIO & Cilium 기반 오브젝트 스토리지 연동 시리즈 #16] Prometheus + MinIO Exporter 설치 및 /metrics 확인

✅ 목표: MinIO의 성능 지표를 Prometheus로 수집하고,Prometheus와 MinIO Exporter를 연동하여 /metrics 엔드포인트에서 성능 지표를 확인하는 방법을 실습합니다.🔎 이번 글에서 수행할 작업 요약MinIO Exporter 설치 및 설정Prometheus와 MinIO Exporter 연동MinIO /metrics 엔드포인트 확인Prometheus 대시보드에서 지표 확인🧠 1단계: MinIO Exporter 설치이 단계의 목적: MinIO Exporter를 설치하여, Prometheus에서 MinIO의 성능 지표를 수집할 수 있도록 설정합니다.# MinIO Exporter 설치 (Helm 사용)helm install minio-exporter \ --namespace m..

📘 [MinIO & Cilium 기반 오브젝트 스토리지 연동 시리즈 #15] Secret volumeMount vs env 비교 및 보안 설계 전략

✅ 목표: Kubernetes에서 Secret을 애플리케이션에 전달할 때 사용하는env 방식과 volumeMount 방식의 차이점을 정리하고,보안 설계 전략 관점에서 어떤 방식이 적합한지 실습을 통해 비교합니다.🔎 이번 글에서 수행할 작업 요약Secret 전달 방식 종류(env, volumeMount) 정리각각의 방식으로 MinIO 인증 정보 주입 실습보안, 편의성, 자동화 측면에서의 장단점 비교실제 환경에서의 설계 가이드 정리🧠 1단계: Secret 전달 방식 개념 정리 전달 방식 설명 장점 단점 env환경 변수로 주입간편, 코드 수정 불필요환경 변수 노출 가능성 있음volumeMount파일로 마운트파일 접근 제어 가능, 자동 회전 대응코드가 파일 참조해야 함✅ 민감 정보의 노출을 줄이기 위해..

📘 [MinIO & Cilium 기반 오브젝트 스토리지 연동 시리즈 #14] MinIO 삭제 요청 차단/제한 정책 구성 실습

✅ 목표: Cilium의 L7 네트워크 정책을 활용하여,HTTP DELETE 요청을 차단하거나 특정 파드에서만 허용하는 보안 정책을 구성하고 실습합니다.🔎 이번 글에서 수행할 작업 요약MinIO 객체 삭제 요청의 위험성과 차단 필요성 이해Cilium L7 HTTP 정책을 활용한 DELETE 차단 구성허용된 파드와 차단된 파드 비교 테스트Hubble을 통해 정책 효과 시각화⚠️ 1단계: MinIO 객체 삭제 요청의 위험성이 단계의 목적: API 요청 중 DELETE 메서드가 미치는 영향과실무 환경에서 어떻게 잘못 사용될 수 있는지를 이해합니다.DELETE 요청은 버킷 또는 객체를 영구 삭제함버전 관리가 비활성화된 버킷은 복구 불가능잘못된 설정 시 누구나 curl로 DELETE 가능☑️ 이 때문에 네트워크..

📘 [MinIO & Cilium 기반 오브젝트 스토리지 연동 시리즈 #13] Kubernetes Secret으로 MinIO AccessKey 안전하게 전달하기

✅ 목표: 민감한 자격 증명을 환경 변수로 직접 전달하지 않고,Kubernetes의 Secret을 활용해 MinIO AccessKey/SecretKey를 안전하게 파드에 주입하는 방법을 실습합니다.🔎 이번 글에서 수행할 작업 요약AccessKey/SecretKey를 Kubernetes Secret으로 생성파드에 Secret을 환경 변수 또는 volume으로 마운트환경 변수 기반 Spark 실행 테스트보안 측면에서의 이점 확인🔐 1단계: MinIO 자격 증명용 Secret 생성이 단계의 목적: AccessKey와 SecretKey를 kubectl 명령으로base64 인코딩 없이 Kubernetes Opaque Secret으로 생성합니다.kubectl create secret generic minio-c..

📘 [MinIO & Cilium 기반 오브젝트 스토리지 연동 시리즈 #12] MinIO를 Distributed 모드로 구성하여 확장성 실험하기

✅ 목표: MinIO를 단일 노드 모드에서 Distributed(분산) 모드로 구성하여다중 디스크/노드 환경에서의 확장성, 내결함성(Fault-Tolerance), 안정성을 실습하고 실험합니다.🔎 이번 글에서 수행할 작업 요약MinIO 분산 모드 개념 이해 및 구성 방식 파악Helm Chart를 이용해 분산 모드로 배포Pod 및 Volume 수에 따른 확장성 실험장애 시 동작 확인 및 복구 실험🧠 1단계: MinIO 분산 모드 개요이 단계의 목적: MinIO의 분산 모드에서 요구하는 구조와 특징을 이해하고,다중 볼륨 또는 다중 노드 기반 아키텍처의 필요성을 파악합니다.분산 모드 특징:N ≥ 4 디스크(또는 볼륨) 필요 (개별 볼륨 또는 PVC)실패 디스크 허용 개수: N/2 - 1높은 안정성과 성능 ..

📘 [MinIO & Cilium 기반 오브젝트 스토리지 연동 시리즈 #11] Spark Executor 병렬 요청으로 S3 업로드 성능 측정 실습

✅ 목표: Apache Spark에서 Executor 수를 조절하며 MinIO로 데이터를 저장할 때병렬성에 따른 성능 변화를 측정하고 최적의 리소스 설정을 도출해 봅니다.🔎 이번 글에서 수행할 작업 요약Spark Executor 병렬 구조 이해 및 리소스 설정 포인트 정리Executor 수를 조절하며 MinIO 업로드 테스트작업 처리 시간 및 S3 요청 수 비교실험 결과를 기반으로 적정 Executor 수 도출🧠 1단계: Spark Executor 구조와 리소스 설정 이해이 단계의 목적: Spark Executor가 어떤 역할을 수행하며,병렬성(Executor 수)이 데이터 처리에 어떤 영향을 주는지 이해합니다.Executor: Spark 작업 단위 실행 주체 (컨테이너 1개 = Executor 1개..

📘 [MinIO & Cilium 기반 오브젝트 스토리지 연동 시리즈 #10] MinIO PVC 성능 측정 실습 (fio, ioping, dd)

✅ 목표: MinIO가 사용하는 Persistent Volume의 성능을 측정하기 위해fio, ioping, dd 같은 도구를 활용하여 I/O 성능을 수치화하고 분석하는 방법을 실습합니다.🔎 이번 글에서 수행할 작업 요약테스트용 파드를 생성하고 PVC를 연결fio, ioping, dd 도구 설치 및 실행읽기/쓰기 IOPS 및 처리 속도 측정측정값을 기반으로 성능 병목 판단🧱 1단계: 테스트용 PVC와 파드 구성이 단계의 목적: MinIO에서 사용하는 PVC와 동일한 스토리지 클래스를 기준으로별도의 테스트 파드를 생성하여 성능 측정 환경을 준비합니다.# pvc-test-pod.yamlapiVersion: v1kind: Podmetadata: name: pvc-test-pod ..

📘 [MinIO & Cilium 기반 오브젝트 스토리지 연동 시리즈 #9] fs.s3a.fast.upload를 활용한 Spark-S3 업로드 최적화 실습

✅ 목표: Apache Spark에서 MinIO(S3 호환)로 데이터를 업로드할 때,fs.s3a.fast.upload=true 설정을 적용하여 업로드 성능을 개선하는 방법을 실습합니다.🔎 이번 글에서 수행할 작업 요약Spark에서 S3A 기본 업로드 방식 이해fast.upload 옵션이 활성화되었을 때의 성능 변화 구조 설명Spark 작업에서 실제 옵션 적용 방법 실습업로드 처리 시간 비교 테스트🧠 1단계: 기본 업로드 방식 구조 이해이 단계의 목적: Spark가 S3A를 통해 데이터를 저장할 때,기본 업로드 흐름과 성능 병목이 발생하는 원인을 이해합니다.기본 구조:데이터가 작은 버퍼 단위로 업로드됨네트워크 호출이 잦고 병렬성이 낮음병목 원인:작은 객체가 잦은 PUT 요청으로 전송됨Buffer-to-..

📘 [MinIO & Cilium 기반 오브젝트 스토리지 연동 시리즈 #8] CoreDNS + Cilium DNS 안정화 전략 실습

✅ 목표: Cilium을 활용한 DNS 요청의 안정성 확보와 CoreDNS의 성능 최적화를 통해,MinIO와 같은 서비스의 DNS 응답 시간 단축 및 안정성 향상을 실습합니다.🔎 이번 글에서 수행할 작업 요약Cilium DNS-aware 기능 활성화 및 설정CoreDNS의 성능 최적화를 위한 설정 변경DNS 안정성 테스트 및 성능 비교Cilium을 활용한 네트워크 요청 흐름 제어🧠 1단계: Cilium DNS-aware 기능 활성화이 단계의 목적: Cilium의 DNS-aware 기능을 활성화하여,DNS 요청을 패킷 수준에서 처리할 수 있도록 설정합니다.# Cilium DNS-aware 기능을 활성화하는 설정 확인kubectl -n kube-system get configmap cilium-confi..

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

✅ 목표: Cilium의 네트워크 관측 도구인 Hubble CLI와 Hubble UI를 설치하고,MinIO와 클라이언트 간의 네트워크 흐름을 실시간으로 시각화/분석하는 실습을 진행합니다.🔎 이번 글에서 수행할 작업 요약Cilium 설치 상태에서 Hubble CLI & UI 활성화Hubble UI를 LoadBalancer로 노출실제 네트워크 흐름 확인 및 필터링 테스트MinIO 접근 흐름 추적 및 분석⚙️ 1단계: Hubble 기능 활성화이 단계의 목적: 이미 설치된 Cilium에서 Hubble 기능을 활성화하고,흐름 수집과 시각화를 위한 Agent 및 Relay 구성 상태를 점검합니다.# Cilium CLI를 사용해 Hubble 기능 활성화cilium hubble enable# ✅ Hubble Agen..

728x90