본문 바로가기
반응형

분류 전체보기3553

[중요3] 운영 표준 - [최종] KServer & NAS & S3 & TFJob.yaml (라벨/MIG/RWO/RWM 적용) 좋아, 이제 “실제 운영에 쓰는 풀버전 TFJob 설계” 단계로 제대로 가보자.아래 설명은 요약 없음, 처음부터 끝까지,👉 왜 이렇게 해야 하는지 → 어디서 실행되는지 → 각 필드의 의미까지 전부 풀어줄게.0️⃣ 먼저 전체 흐름부터 (이걸 머리에 그려야 YAML이 이해됨) (사람/CI) kubectl apply tfjob-train-prod.yaml ↓ [TFJob Controller] ├─ Chief Pod (GPU) │ ├─ NAS: 데이터셋 + 결과 공유 │ └─ 학습 완료 시 DONE 생성 │ ├─ Worker Pod들 (GPU) │ └─ NAS: 데이터셋 읽기 전용 │ └─ Uploader Sidecar (Chief만) └─ NAS 결과 → Object Storage(S3) ↓ [Object .. 2026. 1. 30.
[중요2] 운영 표준 - [최종] Train.py & TFJob.yaml (라벨/MIG/RWO 적용) 그럼 지금부터 **“처음부터 끝까지 운영용 TFJob 완전 배포 세트”**를 순번으로, 실제 배포 기준으로 자세히 정리할게요.목표: Chief만 체크포인트 + Sidecar S3 업로드, Worker 계산 전용, MIG + RWO, GPU 라벨 준수🚀 운영용 TFJob 완전 배포 세트 순서1️⃣ Namespace 준비운영 환경에서는 프로젝트별/팀별 Namespace 권장 kubectl create namespace ml 확인: kubectl get ns 2️⃣ PVC 준비 (RWO, Chief 전용)블록스토리지 사용 시 RWOWorker는 PVC 쓰지 않고 계산만 함 # tf-output-pvc.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: .. 2026. 1. 30.
[쿠버네티스 명령어 모음] kubectl apply -f gpu-pod.yamlkubectl get podkubectl exec -it gpu-pod -- nvidia-smi(CUDA 버전 표시) ## GPU 오퍼레이터 확인kubectl get nodekubectl get pod -n gpu-operator ## GPU 워커노드 확인kubectl describe node gpu-node | grep -i gpu.present ## Client 서버 접속docker build -t image_apache . cat Dockerfile docker imagedocker run -tid -p 4000:80 --name=hello_apache image_apachedocker container ls docker login n.. 2026. 1. 30.
[중요2] 운영 표준 - TFJob.yaml (라벨/MIG/RWO/S3 적용) “운영 표준 라벨 세트 + TFJob” 기준으로, GPU 전용 노드 Affinity, 최종 운영용 PVC + Sidecar 업로드 포함 (TFJob YAML)아래 YAML은 Chief + Worker 구조, GPU 라벨 기준 스케줄링, 출력 PVC + S3 업로드, GPU MIG 프로필 적용반영한 운영 표준 버전입니다. 📄 tfjob-train-prod.yaml apiVersion: kubeflow.org/v1 kind: TFJob metadata: name: tf-mnist-train namespace: ml spec: runPolicy: cleanPodPolicy: None tfReplicaSpecs: # ========================= # Chi.. 2026. 1. 28.
[중요2] 운영 표준 - ☸️ Kubernetes + TensorFlow 구동 원리 ☸️ Kubernetes + TensorFlow“이 코드가 대체 어디서 어떻게 도는 건데?” 완전 정리0️⃣ 전체 그림 먼저 (제일 중요) [로컬 PC] (코드 작성) ↓ docker build [컨테이너 이미지] ↓ [컨테이너 레지스트리] ↓ kubectl apply -f tfjob.yaml ↓ [Kubernetes] ├─ Chief Pod ──▶ python train.py ← 이 코드 실행됨 └─ Worker Pod ─▶ python train.py ← 똑같이 실행됨 👉 당신이 직접 실행하는 게 아님👉 Kubernetes가 Pod 안에서 실행시킴 1️⃣ 이 코드는 “파일 하나”다📄 파일명보통 이렇게 씀: train.py 📌 train.. 2026. 1. 28.
[중요2] 운영 표준 - GPU 노드 라벨 세트 🎯 한 줄 결론 먼저라벨은 “계층별로 의미가 하나씩만” 갖게 표준화하고MIG 쓰면 Chief / Worker 노드풀은 분리하는 게 정석이다. 1️⃣ GPU 노드 라벨 “표준 계층” (이게 핵심)라벨은 의미 중복 없이 계층화해야 한다.✅ Level 1 — 하드웨어 식별 (변하지 않음) gpu.vendor: nvidia gpu.model: A100 gpu.mem: 80gb 물리 스펙절대 바뀌지 않음모니터링 / 비용 / 통계용 ✅ Level 2 — GPU 기능 상태 gpu.mig: enabled # or disabled MIG ON / OFF스케줄 정책 분기점 ✅ Level 3 — MIG 구성 정책 (중요) gpu.mig.profile: 1g.10gb # 또는 3g.40gb 노드풀의 “의도”실제.. 2026. 1. 28.
[GPU 타입] 운영 무중단 - 라벨 NodePool 등록 ✅ 결론 한 줄이미 운영 중인 NCP 노드풀에는👉 “콘솔(UI) 또는 NCP API”로만 라벨을 붙일 수 있고,👉 Kubernetes YAML로는 절대 못 붙인다.(kubectl label node는 임시 처방 ❌) 1️⃣ 왜 Kubernetes YAML로 안 되나?이유는 구조 차이야 [Kubernetes] └─ Node (결과물) [NCP] └─ NodePool (원본) └─ AutoScaling └─ Node 생성 YAML (Node, Machine)은 이미 만들어진 결과노드풀 라벨은 노드 생성 “이전” 설정👉 그래서❌ kubectl apply -f nodepool.yaml 같은 건 개념적으로 불가능 2️⃣ 이미 운영 중인 NCP 노드풀 → 라벨 추가 방법✅ .. 2026. 1. 27.
[GPU 타입] 신규 라벨 NodePool 등록 (라벨 + Taint + Affinity 세트) kubectl label node … 는 “이미 존재하는 노드”에만 수동 적용이라👉 오토스케일링으로 새로 뜨는 노드에는 절대 자동 적용 안 됨 ❌ 1️⃣ 원칙 한 줄 요약GPU 타입 라벨은 Node가 아니라 NodePool / AutoScalingGroup에 붙인다2️⃣ Managed Kubernetes (정답 루트)✅ NCP / EKS / GKE 공통 개념 Node Pool ├─ 인스턴스 타입: A100 ├─ 오토스케일링 └─ 공통 라벨 (nodeLabels) 👉 새 노드가 생길 때 kubelet 시작 시 자동 부착🔹 NCP Kubernetes (GPU 노드풀)콘솔 / API 설정 개념 nodeLabels: gpu.vendor: nvidia gpu.model: A100 gpu... 2026. 1. 26.
[GPU] Node Affinity + GPU 타입 분리 (A100 / H100) GPU 클러스터 운영의 핵심 중 핵심👉 라벨링 → Affinity → TFJob 적용 → 운영 팁 순서1️⃣ 왜 GPU 타입 분리가 필수냐?문제 상황 (안 하면 생기는 일)A100 / H100 혼재 노드Worker 일부는 A100, 일부는 H100❌ NCCL 성능 저하❌ 학습 속도 불균형❌ 결과 재현성 깨짐👉 분산 학습은 GPU “동질성”이 생명 2️⃣ GPU 노드 라벨링 (관리자의 1회 작업)🔹 권장 라벨 설계 gpu.vendor=nvidia gpu.model=A100 gpu.model=H100 gpu.mem=80gb gpu.interconnect=nvlink 예시 (A100 노드) (임시용) kubectl label node gpu-node-1 gpu.vendor=nvidia gpu.mod.. 2026. 1. 26.
[GPU] requests = limits가 좋은 이유 1️⃣ GPU에서 requests = limits가 좋은 이유🔹 CPU / Memory랑 다름CPU / Memory → overcommit 가능GPU → 절대 불가 (정수 리소스, 독점)즉, requests: 1 limits: 1 은 사실상 GPU 세계의 기본 규칙 2️⃣ 경우별 동작 차이❌ limits만 있는 경우 limits: nvidia.com/gpu: 1 스케줄러는 암묵적으로 requests=1로 처리대부분 동작은 함❗ 하지만:리소스 계산이 명시적이지 않음Quota / Capacity 계산에서 혼란운영 표준 문서화에 불리✅ requests + limits 모두 있는 경우 (권장) requests: nvidia.com/gpu: 1 limits: nvidia.com/gpu: 1.. 2026. 1. 26.
[TF 분산학습] 스토리지 관점 + TensorFlow 내부 동작 ✅ 최종 TFJob YAML (GPU 설정 추가) ======================================apiVersion: kubeflow.org/v1 kind: TFJob metadata: name: tf-mnist-train namespace: ml spec: runPolicy: cleanPodPolicy: None tfReplicaSpecs: # ========================= # Chief (결과 저장 + 업로드) # ========================= Chief: replicas: 1 restartPolicy: OnFailure template: spec: .. 2026. 1. 26.
[쿠버네티스 워크로드 개념] TFJob / CronJob / Job / Deployment / Pod 쿠버네티스 “워크로드 개념”을 한 번에 정리할 수 있는 포인트라서,TFJob까지 묶어서 역할·수명·재시작·확장 관점으로 설명해줄게.1️⃣ Pod – 모든 것의 출발점✅ 뭐냐면쿠버네티스에서 실제로 실행되는 최소 단위하나 이상의 컨테이너 묶음특징일회성 존재죽으면 끝 (스스로 복구 안 됨)IP, 볼륨, 네임스페이스 공유언제 쓰나테스트디버깅절대 운영용 아님 apiVersion: v1 kind: Pod 📌 운영에서는 Pod를 직접 만들지 않는다 → 항상 상위 컨트롤러 사용 2️⃣ Deployment – “계속 살아 있어야 하는 서비스”✅ 뭐냐면무한히 실행되어야 하는 앱을 관리ReplicaSet을 통해 Pod 유지특징항상 지정한 개수만큼 Pod 유지롤링 업데이트 지원장애 시 자동 복구대표 사용처API 서버웹 서.. 2026. 1. 26.
[TensorFlow] 구글이 만든 머신러닝·딥러닝 프레임워크 !! 1️⃣ TensorFlow가 뭐냐면AI 모델(머신러닝 / 딥러닝)을 만들고, 학습시키고, 배포까지 할 수 있는 오픈소스 라이브러리구글이 내부에서 쓰다가 공개함주 언어는 Python (C++ 기반, 속도 빠름)2️⃣ 이름이 왜 TensorFlow?Tensor: 다차원 배열 (0차원~N차원 데이터)Flow: 데이터가 그래프처럼 흘러가며 계산됨👉 “다차원 데이터가 계산 그래프를 따라 흐른다”는 뜻3️⃣ TensorFlow로 뭐 할 수 있어?대표적인 활용 예:✅ 딥러닝 모델이미지 인식 (CNN)음성 인식자연어 처리 (NLP)추천 시스템✅ 실서비스 배포웹 서버모바일 앱 (Android / iOS)엣지 디바이스 (Jetson, IoT)✅ GPU / TPU 활용GPU, 멀티 GPUTPU (구글 전용 가속기)4️⃣ .. 2026. 1. 26.
[TFJob] POD Sidecar 자동 업로드 이번엔 개념 → Pod 구조 → 실제 동작 순서 → 왜 Chief만 쓰는지 4단계로 설명 ☸️ Sidecar 자동 업로드“기존 Pod랑 어떻게 연동되냐” 완전 해부0️⃣ 핵심 한 줄 먼저Sidecar는 ‘새 Pod’가 아니라, 기존 TFJob Pod 안에 같이 들어가는 컨테이너다👉 이게 이해의 80% 1️⃣ Kubernetes Pod 구조부터 정확히 잡자❌ 흔한 오해“Sidecar = 옆에서 도는 별도 Pod”“Uploader Pod가 Trainer Pod를 감시” ✅ 실제 구조 [ Pod (tfjob-chief-0) ] ├─ Container 1: trainer (TensorFlow) ├─ Container 2: uploader (Sidecar) └─ Shared Volume (PVC) .. 2026. 1. 25.
[중요2][NCP 실전] NKS 클러스터 생성 및 게임(2048) 배포하기 실습환경NKS(Ncloud Kubernetes Service) 서비스를 사용하기 위해서는 아래와 같은 리소스들이 필요합니다.VPC: 쿠버네티스 클러스터 생성을 위한 가상 네트워크서브넷: VPC내에서 쿠버네티스 노드들을 생성할 서브넷LB 서브넷: 클러스터와 연동할 로드밸런서를 위한 서브넷(NCP에서 NAT와 LB에 대한 서브넷이 별도로 필요합니다.)NAT 게이트웨이(+NAT 서브넷): 아웃바운드 트래픽을 위한 NAT게이트웨이가 필요하며 NAT생성을 위해서는 NAT 서브넷이 먼저 필요합니다.1. NKS 콘솔 설정 노드풀 구성노드풀 설정 후 추가버튼을 눌러야 노드풀에 설정한 노드들이 추가됩니다. 인증키 설정 - 서버 생성과 동일하게 생성한 키를 선택하면 됩니다. 최종확인생성까지 시간이 소요됩니다생성된 NKS .. 2026. 1. 25.
[중요][NCP 실전] NCP VPC 구성 출처 : https://brunch.co.kr/@topasvga/5011 2026. 1. 25.
[중요2][NCP 실전] NKS 쿠버네티스 설치 - 제9회 K PaaS 활용 공모전 온라인 교육 NAVER Cloud ## 실습 ## VPC 생성 ## 서브넷 생성 ## 서버 생성 ## ACG 설정 ## 컨테이너 레지스트리용 버킷 생성 ## Container Registry 생성 (32분) ## Client 서버 접속docker build -t image_apache . cat Dockerfile docker imagedocker run -tid -p 4000:80 --name=hello_apache image_apachedocker container ls ## ACG 포트 4000번 오픈 ## Container Registry 사용을 위한 API 인증키 생성 (Push, Pull 용) docker login nks-reg-real.kr.ncr.ntruss.com docker.. 2026. 1. 24.
[GPU 클러스터] InfiniBand Cluster !! 좋은 질문이에요. 이거 GPU 클러스터 / 대규모 AI 쪽에서 진짜 핵심 개념입니다.차근차근, “왜 필요한지 → 뭐가 다른지 → 언제 쓰는지” 순서로 설명할게요.1️⃣ InfiniBand가 뭐야? (한 줄 요약)InfiniBand(IB) 는👉 GPU 서버들끼리 초고속·초저지연으로 통신하기 위한 데이터센터 전용 네트워크 기술예요.일반적인 네트워크가 Ethernet(이더넷) 이라면,InfiniBand는 AI/HPC 전용 초고성능 네트워크라고 보면 됩니다.2️⃣ 왜 InfiniBand가 필요한가?❌ 일반 Ethernet의 한계AI/GPU 클러스터에서 이런 문제가 생깁니다:GPU가 아무리 빨라도👉 서버 간 통신이 느리면 전체 학습 속도가 느려짐대규모 모델 학습 시Gradient 동기화파라미터 교환All-Re.. 2026. 1. 23.
[NVIDIA] 서버 / 데이터센터용 GPU 6종 !! 📌 1. NVIDIA A100-v4 시리즈 (Ampere 아키텍처)🧠 공통 특징Ampere 아키텍처 기반으로 AI/ML, HPC(고성능 컴퓨팅) 전용 GPU. 빠른 Tensor Core, 높은 메모리 대역폭 지원.MIG(Multi-Instance GPU) 기능으로 하나의 GPU를 여러 개의 논리 GPU로 분할해 여러 작업을 동시에 실행 가능.🔹 A100-v4-80 GB✔ 메모리: 80 GB HBM2e — 대규모 모델/데이터 처리에 유리 ✔ 메모리 대역폭: 매우 높음 (약 1.9 TB/s 이상) ✔ Tensor 성능: FP16/bfloat16/TF32 등 다양한 정밀도 고속 지원사용 상황대규모 AI 모델 훈련/추론 (13B~65B 이상의 모델)대용량 데이터 분석/시뮬레이션HPC(과학/공학) 워크로드높.. 2026. 1. 23.
[중요][MLXP] GPU 효율화를 선도하는 대규모 MLOps 플랫폼 (8분) (13분) (27분) ## GPU 클러스터 - 모니터링 아키텍처 (33분) ## GPU 플랫폼에서 발생하는 장애들 - 학습 장애의 66% 이상이 H/W (34분) ## GPU 모니터링 방법들 (36분) ## 장애별 대응 방법 ## OnCall 통계 - 장애 인지 시간 & 장애 해결 시간 https://www.youtube.com/watch?v=RUlE4CVGL_A&t=552s 2026. 1. 23.
How to Set Up GPU Pods in Kubernetes for AI and Machine Learning Workloads Kubernetes에서 AI 및 머신러닝 워크로드를 위한 GPU Pod 설정 방법 ## GPU 오퍼레이터 확인kubectl get nodekubectl get pod -n gpu-operator ## GPU 워커노드 확인kubectl describe node gpu-node | grep -i gpu.present ## GPU용 POD 생성vi gpu-pod.yamlkubectl apply -f gpu-pod.yaml https://www.youtube.com/watch?v=wQ2TzHVwXjE 2026. 1. 23.
[중요2][NCP 쿠버네티스 설치] 컨테이너 오케스트레이션 툴, 쿠버네티스 이해하기 (기초) ## 실습 ## Ncloud Kubernetes Service 선택 ## 워커노드 생성 ## 인증키 생성 ## NKS 생성 완료 ## ncp-iam-authenticator 설치 ## 컨테이너 레지스트리용 시크릿 생성 ## Pod용 yaml 생성 kubectl apply -f create_deployment.yamlkubectl get pod -w ## create_service.yaml 생성kubectl create -f create_service.yaml ## 모니터링 연동 확인 https://www.youtube.com/watch?v=36RzEwp52e0 2026. 1. 22.
[중요2][NCP 쿠버네티스 설치] Kubernetes Service 첫 걸음, WordPress 시작 해보기! ## 데모 시연 (11분) 1) VPC 생성 (192.168.0.0/32) 2) Network ACL 생성 - 본인 접속 IP만 22번 포트 오픈 (나머지 인바운트 차단 / 아웃바운드는 미설정해서 오픈됨) 3) 서브넷 생성 (총 3개 생성)- LB용 / 쿠베용 / kubectl용 (퍼블릭) 4) NAT 게이트웨이 생성 & 라우팅테이블 연동 - 라우팅테이블 연동 5) 쿠버네티스 서비스 생성 6) kubectl 클라이언트용 보안그룹 생성 (ACG)- 기본이 차단 7) kubectl 클라이언트용 서버 생성 - kubectl 클라이언트용 서버 접속 - 공인IP (19분) 8) kubectl 설치하기 - https://guide.ncloud-docs.com/docs/k8s.. 2026. 1. 22.
❄️ 2026 얼음나라화천 산천어축제 완벽 가이드!! 📌 2026 얼음나라화천 산천어축제 기본 정보축제명: 얼음나라화천 산천어축제장소: 강원도 화천군 화천읍 화천천 일원기간: 2026년 1월 중순 ~ 2월 초 (약 3주간)운영 시간: 오전 9시 ~ 오후 6시(주말·성수기에는 일부 야간 프로그램 운영)매년 겨울, 화천천이 완전히 얼면 열리는 축제로국내뿐 아니라 해외 관광객도 많이 찾는 세계적인 겨울 축제입니다. 🎟️ 입장료 & 체험 비용 정리👉 축제장 입장은 무료,👉 체험별로 요금을 지불하는 방식입니다.🎣 산천어 얼음낚시 체험일반 체험: 약 15,000원우대 요금(학생, 만 65세 이상 등): 약 10,000원미취학 아동: 무료✔ 체험권 구매 시 화천사랑상품권 또는 농특산물 교환권이 함께 제공되어실제 체감 비용은 훨씬 낮은 편입니다. ✋ 산천어 맨.. 2026. 1. 20.
[29억 달성] 20,000주 돌파 - 삼성전자 목표 주가 220,000원 돌파!! 2026. 1. 16.
[NCP 실전] DCGM Exporter DaemonSet YAML 상세 해설 apiVersion: apps/v1 kind: DaemonSet metadata: name: dcgm-exporter namespace: monitoring spec: selector: matchLabels: app: dcgm-exporter template: metadata: labels: app: dcgm-exporter spec: tolerations: - key: nvidia.com/gpu operator: Exists effect: NoSchedule containers: - name: dcgm-exporter image: nvcr.io/n.. 2026. 1. 15.
[NCP 실전] GPU 노드 오토스케일링시 NVIDIA Device Plugin / DCGM Exporter 자동 설치 (DaemonSet) **GPU 오토스케일링 환경에서 Helm + DaemonSet 구조를 쓰는 “핵심 이유”** ✅ 결론 (한 줄 요약)네. 됩니다.GPU 노드가 3대 → 5대로 오토스케일링되면새로 추가된 2대에도 자동으로NVIDIA Device PluginDCGM Exporter가 배포되고,Prometheus → Grafana 모니터링에 자동 포함됩니다.👉 추가 작업 0 (Zero Touch) 입니다. 1️⃣ 왜 자동으로 되나? (구조 핵심)핵심 포인트는 이것입니다NVIDIA Device Plugin과 DCGM Exporter는 “DaemonSet”으로 배포됨DaemonSet의 특징노드가 추가되면 자동으로 Pod 생성노드가 삭제되면 Pod 자동 제거사람이 개입할 필요 없음 2️⃣ 실제 동작 흐름 (GPU 노드 오.. 2026. 1. 14.
[중요2][NCP 실전] Kubernetes→ NVIDIA Device Plugin→ DCGM Exporter→ Prometheus→ Grafana 설치 가이드 **NCP 환경에 딱 맞는 “정석 루트”**를 선택하셨어요.아래는 실무에서 그대로 복붙해서 써도 되는 수준으로,NCP Kubernetes→ NVIDIA Device Plugin→ DCGM Exporter→ Prometheus→ Grafana를 모두 Helm 기반 + 명령어 중심 + 순번별로 정리한 가이드입니다.🧭 전체 구성 흐름 (먼저 그림으로 이해) [NCP GPU Node] ├─ (기본 제공) NVIDIA Driver ├─ NVIDIA Device Plugin (Helm) ├─ DCGM Exporter (Helm) ├─ Prometheus (Helm) └─ Grafana (Helm) 0️⃣ 사전 준비 (로컬 PC) kubectl version helm version✔️ 둘 다 정상 출.. 2026. 1. 14.
[NCP 적용불가][NVIDIA GPU Operator] GPU 노드 전체를 자동으로 세팅해주는 올인원 운영자(Operator) 🔍 helm repo add nvidia https://nvidia.github.io/gpu-operator 이게 뭐야?한 줄 요약👉 NVIDIA GPU Operator는 “GPU 노드 전체를 자동으로 세팅해주는 올인원 운영자(Operator)”입니다. 1️⃣ NVIDIA GPU Operator란?GPU Operator = GPU 노드를 사람이 수작업으로 설정하지 않게 해주는 자동화 도구설치하면 아래 구성요소들을 한 번에 자동 설치/관리합니다.GPU Operator가 설치하는 것들 구성요소 역할 NVIDIA DriverGPU 드라이버NVIDIA Container Toolkit컨테이너에서 GPU 사용NVIDIA Device PluginKubernetes GPU 리소스 인식DCGMGPU 상태 수집 라.. 2026. 1. 14.
[NCP 실전] kubectl rollout restart statefulset prometheus-k8s -n monitoring 의미 🔍 명령어 원문 kubectl rollout restart statefulset prometheus-k8s -n monitoring 이 한 줄이 의미하는 것은:“Prometheus 서버를 무중단 방식으로 재시작해서새로운 AlertRule, ConfigMap, Secret 설정을 반영해라”이다. 1️⃣ 이 명령이 왜 필요한가?Prometheus는 다음 설정을 시작할 때만 로딩한다. 설정 예 AlertRulegpu-aas-alerts.yamlConfigMap알람 규칙SecretSlack, Email, ThanosruleSelectorgpu-alertsConfigMap을 수정해도Prometheus는 메모리 안에 옛 설정을 쓰고 있음.그래서:“파일은 바뀌었는데 Prometheus는 모르고 있음”→ 이 상.. 2026. 1. 14.
반응형