본문 바로가기

반응형

helm

(3)
[DevOps] EKS 환경에서 Helm으로 Jenkins 안전하게 구축하기 1. 개요AWS 환경에서 Jenkins를 안정적이고 효율적으로 운영하고 싶다면 Helm으로 Jenkins를 설치하는 것이 정신 건강상 좋다고 본다. 왜냐하면 EC2 환경에서의 Agent 연결하는 방식과 다르게 Controller와 Agent를 단순 values.yaml 파일만 가지고 분리하는 것도 굉장히 쉽고 Controller를 재시작해도 EBS Volume을 붙여둔다면 안전하게 재시작할 수 있기 때문이다. 다음의 내용들을 고려하여 작업한다고 가정한다. - Agent, Controller의 분리- Controller를 자유롭게 재시작할 수 있도록 EBS Volume 붙이기- docker 명령어를 agent pod에서 사용할 수 있도록 하기- 모니터링을 수월하게 할 수 있도록 하기...  참괴 : 이 글..
[MLOps] Kubernetes에서 CUDA MPS 손쉽게 활용하기 1. 개요CUDA MPS(Multi-Process Service)를 활용하여 GPU 리소스를 컨테이너간 Sharing 하여 활용하는 방법에 대해 알아본다. GPU 노드의 GPU 자원을 나눠 사용하는 방법에는 크게 3가지가 존재한다. - Time-Slicing- MIG- MPS 이 중 MIG는 비싼 GPU 노드에서만 사용 가능하니 패스하고 Time-Slicing, MPS만 필자는 알아보았다. Time Slicing은 별도의 노력 없이 Nvidia-Device-Plugin의 단순한 설정만으로 쉽게 설정 및 적용이 가능하다. 하지만 GPU Memory의 격리가 없고 지속적인 Context Switching이 발생하여 Overhead가 높다는 단점이 있다. 그렇다면 이를 해결하기 위해 MPS(Multi Proc..
Kubernetes GPU Operator와 Time Slicing 간단히 알아보기 EKS에서 MLOps를 할 수 있도록 공부중인데 그 과정들을 하나씩 정리해보려 한다. 그 첫 번째로 GPU Operator와 Time Slicing에 대해서 정리해본다. GPU Operator란? NVIDIA GPU Operator는 k8s 클러스터 내에서 NVIDIA 계열의 GPU 노드로 파드를 편하게 관리할 수 있도록 도와주는 툴이다. Operator 패턴이란? Operator 패턴이란 CR(Custom Resource) 파일을 우리가 k8s에게 제공하면 k8s에 파드 형태로 떠있는 Operator가 이를 지속적으로 확인하면서 Custom Resource에 정의된 spec 대로 원하는 리소스들(ex. NVIDIA Device Plugin과 관련된 파드 및 Service Account, Role, ....

반응형