kubernetes 90

kubernetes pod가 GPU를 사용하는 원리 그리고 쿠버네티스 설정

이 글은 kubernetes에서 pod가 GPU를 사용하는 원리를 설명합니다. 그리고 pod가 GPU를 사용하기 위한 쿠버네티스 설정을 다룹니다. 1. pod가 GPU를 사용 = 프로세스가 GPU를 사용kubernetes에서 GPU를 사용하려면 GPU operator, Container Toolkit 등 많은 컴퍼넌트들이 등장장하여, "왜 pod가 GPU를 사용하는데 이렇게 많은 컴퍼넌트가 필요하지?"라는 의문을 가지게 됩니다.' 제 생각에는 pod = 프로세스라는 것을 이해하면 컴퍼넌트가 많이 필요한지 이해하기 쉽다고 생각합니다. pod는 결국 운영체제 입장에서 프로세스이기 때문에, pod가 GPU를 사용한다는 것은 프로세스가 GPU를 사용한다는 것과 같습니다. 결국, pod가 GPU를 사용하는 원..

nvidia GPU operator는 Amazon Linux에 GPU driver설치를 지원하지 않는다.

EKS에서 발견한 GPU driver container image not found 에러EKS에서 gpu operator로 nvidia driver를 설치하려고 했습니다. gpu operator를 helm으로 릴리즈했습니다.helm repo add nvdp https://nvidia.github.io/k8s-device-pluginhelm repo updatehelm install \ --version=v25.3.0 \ --namespace nvidia-gpu-operator \ --create-namespace \ nvdp/nvidia-device-plugin \ --set toolkit.enabled=false \ --set driver.enabled=true 그런데 GPU d..

EKS에서 AIOps를 하기 위한 로드맵

EKS환경에서 AIOps를 하기 위한 로드맵이 AWS EKS문서에 쉽게 설명이 되어 있습니다.문서링크: https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/machine-learning-on-eks.html kubernetes와 EKS와 차이점은 컴퓨팅 자원, 네트워크, 스토리지가 다릅니다. 그리고 EKS는 Sagemaker 등 AWS 리소스 연동하여 할 수 있는 작업이 있습니다. EKS 또는 kubernetes에서 AIOps를 하기 위한 큰 범주는 대규모 모델 훈련, 실시간 온라인 추론 실행, 생성형 AI 애플리케이션이 배포가 있습니다. AI 개발자와 커뮤니케이션 하기 위한 AI 도메인 지식이 간단히 필요하고 파이프라인과 옵저벌리티를 위한 여러 오픈소스 ..

쿠버네티스 cgroup과 request.cpu, limit.cpu 관계를 잘 설명한 글

안녕하세요. 이 글은 빅토리아메트릭 기술블로그에서 좋은 글이 있어 소개드립니다. kubernetes의 request.cpu, limit.cpu를 설정이 리눅스 운영체제에서 어떻게 동작하는지 원리, 수식, 시각화 설명이 되어 있습니다.링크: https://victoriametrics.com/blog/kubernetes-cpu-go-gomaxprocs/이전 저의 블로그에도 다뤘지만 resource request/limit cpu는 코어를 사용하는게 아니라 cpu시간을 사용하겠다는 개념입니다.이전 블로그 글: https://malwareanalysis.tistory.com/773 cpu 경합이 발생할 때 request.cpu에 설정한 값을 보장해준다는 뜻입니다. cpu 경합이 없으면 설정한 값보다 더 사용할 ..

쿠버네티스에 설정한 probe가 어떻게 실행되는지 알아야하는 이유

쿠버네티스에 설정한 probe가 어떻게 실행되는지 알아야하는 이유쿠버네티스 pod가 정상적으로 동작하는 지 확인하기 위해 probe설정을 합니다. probe는 설정된 값으로 pod를 주기적으로 헬스체크합니다. 그런데, 헬스체크가 실패한다면 pod에 문제 있어서 실패한걸까요? pod는 정상이지만 헬스체크가 실패하는 경우가 자주 있습니다. 이런 상황에 마주칠때 pod에 설정된 헬스체크 원리를 모른다면 원인을 파악하는데 많은 시간이 걸립니다. pod는 정상이지만 헬스체크가 실패한 사례쿠버네티스는와 pod 정상이지만 pod헬스체크가 실패했던 경험이 있습니다. 쿠버네티스가 정상이라는 말은 api-service, etcd 등 control plane이 정상이라는 뜻이고 pod가 정상이라는 말은 pod 메트릭이 ..

애플리케이션 분석 역량이 서비스 운영에 중요한 이유(feat-firebase-admin SDK)

이 글에서는 만났던 성능저하 문제를 재현하려고 했지만 실패했던 사례를 공유합니다. 들어가며요즘 일하면서 느낀 것 중에 하나는 서비스 운영 또는 쿠버네티스 운영을 위해서는 “개발능력이 필수”입니다. 인프라 이슈가 아닌 애플리케이션 성능 문제는 아키텍처, 데이터베이스, 코드 이해 능력이 있어야 문제를 파악할 수 있습니다. 최근 서비스 운영하면서 많은 문제가 개발과 관련된 문제였습니다. 따라서 아키텍처를 이해하고 코드의 어떤 부분이 성능을 낮추는지 알아야 했습니다. 아직 저는 개발역량이 많이 부족하기 때문에 현상만 관찰할 수 있었고 원인은 분석하지 못했습니다. 그리고 오류를 재현하려고 했지만 재현도 실패했습니다. ㅜ.ㅜ 최근에 오류재현을 실패했던 문제는 java firebase-admin SDK의 높은 메모..