Minio 42

📘 [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..

📘 [MinIO & Cilium 기반 오브젝트 스토리지 연동 시리즈 #6] Cilium + ServiceAccount 조합 제어 실습

✅ 목표: Cilium의 네트워크 정책에서 ServiceAccount 정보를 활용하여특정 서비스 계정에만 MinIO 접근을 허용하는 제어 방식을 실습합니다.파드의 라벨만이 아니라 역할(Role) 기반 접근 통제가 가능함을 확인합니다.🔎 이번 글에서 수행할 작업 요약테스트용 ServiceAccount 및 파드 생성Cilium 정책에서 ServiceAccount 기반 접근 허용 구성접근이 허용되는 파드와 차단되는 파드를 비교 테스트흐름 추적 및 정책 검증🧱 1단계: ServiceAccount 기반 파드 구성이 단계의 목적: 특정 ServiceAccount를 사용하는 테스트 파드를 만들고,이후 네트워크 정책에서 해당 계정을 기준으로 접근을 허용하도록 설정합니다.# etl-client-sa.yamlapiVe..

📘 [MinIO & Cilium 기반 오브젝트 스토리지 연동 시리즈 #5] Cilium L7 정책으로 HTTP 메서드 제한 실습

✅ 목표: Cilium의 L7(애플리케이션 레벨) 네트워크 정책을 사용해특정 파드가 MinIO에 보낼 수 있는 HTTP 요청 메서드(GET, PUT 등) 를 제한하는 방법을 실습합니다.🔎 이번 글에서 수행할 작업 요약L7 레벨에서 HTTP 메서드 제한이 필요한 상황 이해Cilium L7 HTTP 정책 구성 및 적용접근 허용/차단 결과를 테스트 파드를 통해 확인로그 기반 검증을 통해 정책 효과 확인📘 1단계: L7 HTTP 메서드 제한 필요성 이해이 단계의 목적: 단순한 IP/포트 제어가 아닌, HTTP 요청의 종류(GET, PUT, DELETE 등)를제어해야 하는 이유와 L7 정책이 필요한 상황을 이해합니다.예시 상황:분석 파드는 GET으로만 조회해야 함업로드 권한이 있는 파드는 PUT을 허용해야 함..

📘 [MinIO & Cilium 기반 오브젝트 스토리지 연동 시리즈 #4] Cilium L3/L4 정책으로 MinIO 접근 제한 실습

✅ 목표: Cilium의 L3/L4 NetworkPolicy를 사용하여 MinIO 서비스에 접근할 수 있는 Pod를 제한하고,네트워크 정책이 실제로 작동하는지 검증하는 실습을 진행합니다.🔎 이번 글에서 수행할 작업 요약MinIO에 자유롭게 접근할 수 있는 테스트 클라이언트 파드 생성Cilium L3/L4 네트워크 정책을 적용하여 접근 제어 구성접근 가능/불가능한 사례 비교 테스트네트워크 정책 동작 여부 검증🧱 1단계: 테스트 클라이언트 파드 생성이 단계의 목적: MinIO에 curl 등을 통해 접근할 수 있는 일반적인 테스트 파드를 생성하고,네트워크 정책 적용 전의 기본 동작을 확인합니다.# test-client.yamlapiVersion: v1kind: Podmetadata: name: test-..

📘 [MinIO & Cilium 기반 오브젝트 스토리지 연동 시리즈 #3] MinIO 내부 네트워크 구조 및 s3a:// 접근 테스트

✅ 목표: Kubernetes 클러스터 내부에서 MinIO의 DNS 기반 네트워크 구조를 이해하고,Spark 등 워크로드가 s3a:// 방식으로 MinIO에 접근할 수 있는지 실제로 테스트해봅니다.🔎 이번 글에서 수행할 작업 요약MinIO 서비스의 DNS 구조 및 접근 주소 확인Spark 또는 테스트 파드에서 s3a:// 프로토콜로 접근 테스트Spark 설정에 필요한 핵심 fs.s3a.* 항목 정리 및 테스트🌐 1단계: MinIO 서비스 DNS 구조 확인이 단계의 목적: MinIO가 내부에서 어떤 DNS 주소로 노출되는지 확인하고,s3a:// 경로로 접근할 때 사용할 수 있는 주소 형식을 파악합니다.# MinIO 서비스 정보 확인kubectl get svc -n minio 예시 출력:NAME T..

728x90