본문 바로가기

반응형

kubernetes

(9)

[책읽기] Kubernetes Best Practices 쿠버테니스 모범 사례 - 오라일리, 한빛미디어 근황먼저. 2년전쯤부터 한컴싸인(https://www.hancomsign.com)이라는 웹서비스를 개발하다, 그 조직이 직무별로 쪼개지면서 개발팀장을 하다, 최근 더 흥미로운, 혹은 변화가 많은? 조직으로 이동하여 현재는 팀원을 하고 있다. 그전 AI를 하던때부터 지금까지 많은 책들을 읽었는데, 정리할 시간이 없어 오랜만에 일찍 퇴근한 김에 읽었던 책들중 몇권을 순차적으로 정리해 본다. 오래전에 읽었던 책들도 있어서, 지금 이 글을 읽는 사람에게는 이미 오래된 책일 수 있이라 도움이 될런지 모르겠지만, 그래도 읽은 티라도 내 보려고 대충 정리해 본다. 그러니 걍 그런가 보다 하자. 제목 : Kubernetes Best Practices 쿠버테니스 모범 사례 - 오라일리, 한빛미디어 책 읽기 이 책은 초보..
NVIDIA GPU에서 nvidia-smi 명령시 NVML: Driver/library version mismatch 발생 원인은 아마도? Kubernetes의 Node에 GPU Pod가 뜰 때, 문제가 계속 발생하네? GPU를 사용하는 Pod가 떠 있을때는 문제가 안 됐는데, 가끔씩 새로 띄울때 Pod가 안 뜨는 문제가 있었다. 주로 이런 경우 nvidia-smi 명령을 치면 아래와 같은 에러 메세지가 떴었다. Failed to initialize NVML: Driver/library version mismatch 단순히 에러 메세지로만 보면, 드라이버와 라이브러리가 매치 되지 않는다는건데, 난 서버에 아무런 짓도 안 해 줬는데도 에러가 생기는 것이다. 약 1년전부터 가끔 발생한 문제였는데, 이것저것 찾아 보았지만, 다들 재부팅하면 해결 될 거라는 이야기만... stackoverflow.com/questions/43022843/nvidia..
[PyTorch] x86 CPU에서 양자화(Quantization) 관련 실행시 에러가 나는 경우 - Didn't find engine for operation quantized::conv_prepack NoQEngine 문제 상황 발생 Kubernetes에서 AI 엔진을 돌리는데, GPU로 사용할때는 문제가 없었는데... CPU를 사용하도록 해서 동작시키니 동작하지 않는 문제가 발생 에러 메세지 아래와 비슷한 문제가 발생하면서 동작하지 않는 문제가 있었다. Didn't find engine for operation quantized::conv_prepack NoQEngine conv_prepack뿐만 아니라, linear_prepack 라는 에러가 발생하기도 한다. 알고 봤더니, CPU를 사용할 때는 Quantization 과정에서 문제가 발생한것이었다. 분석하기 소스에서 에러 메세지 찾기 해당 에러를 출력하는 코드를 찾아보면 아래와 같다. 관련링크 : qconv_prepack.cpp 위 그림에서 코드의 제일 윗부분부터..
[kubernetes] Extended Resource로 나만의 리소스 제약 (request, limit) 만들어서 사용하기 - GPU RAM 나눠쓰기 여기서 말하는 Resource는 "CRD(Custom Resource Definition)"의 Resource가 아니라, 정말 "자원"개념의 "Resource"다. GPU는 왜 나눠쓸 수 없을까? 나는 NVIDIA RTX 8000 GPU를 Node에 1개 달아둔 환경에서 작업중이다. NVIDIA RTX 8000은 Datacenter에서 사용할 수 있도록 허용된 NVIDIA 드라이버 라이선스가 있으며, 무려 VRAM이 48GB 나 된다!!! Kubernetes에는 리소스 쿼터라는 개념이 있어서, CPU, RAM을 나눠서 사용할 수 있도록 기능을 제공해 준다. 관련링크 : kubernetes.io/docs/concepts/configuration/manage-resources-containers/ 예를들어,..
[Kubernetes] k3s 1.20이하에서 Traefik 1.81 제거하고 Traefik 2.x 설치하기 2021년 5월 업데이트... k3s가 1.21부터는 Traefik v1이 설치되어 있지 않다면, Traefik v2를 기본으로 설치 한다고 합니다. 그러니 최신 버젼을 사용하는 사람은 아래 내용은 그냥 참고삼아 읽으시면 됩니다. k3s가 좋긴한데... Traefik 이 문제라... k3s를 이용하면 단한줄의 명령어만으로 single node kubernetes를 구성할 수 있다. 관련 링크 1 : https://blog.ggaman.com/1018?category=332239 관련 링크 2 : https://rancher.com/docs/k3s/latest/en/installation/install-options/ curl -sfL https://get.k3s.io | sh - 단, 한줄로 무언가를 할..
[Kubernetes] k3s에서 컨테이너를 띄웠는데 왜 GPU를 못 쓰지? k3s에서 GPU를 왜 못쓰지? docker를 설치하고, nvidiai-docker를 설치하고, k3s를 설치 했다. docker를 이용해서 GPU를 사용하는 컨테이너를 띄웠을때는 GPU를 잘 사용하는데... kubernetes에서 Pod를 띄우니 GPU를 못 사용하네? 왜 그럴까? 미리 정리하면... 조건 : docker 설치. nvidia-docker 설치. k3s 설치 문제 : Kubernetes에서 띄운 Pod에서 GPU를 사용하지 못함. 해결 : k3s를 설치하면 기본적으로 containerd 를 사용하게 되어 있음. nvidia-docker를 써야만 GPU를 활용할 수 있음. 즉, k3s의 container runtime을 docker로 변경해야 함. k3s 설치시 --docker 옵션 추가 ..
[kubernetes] node에 달린 NVIDIA GPU를 Pod가 사용하지 않도록 하기 오랜만? 오래만에 글이다. ( 라고 맨날쓴다. ㅎ ) kubernetes에서 GPU를 사용하다 보니 문제가 몇가지 생겨서 이를 해결하는 방법을 찾아, 기록으로 남겨두고자 한다. 너무 기니깐.. 정리하면 조건 : Kubernetes에서 Container Runtime을 Docker로 사용하고, NVIDIA GPU 사용을 위해 docker의 default-runtime을 nvidia-docker로 설정한 경우. 문제 : Kubernetes에서 뜨는 Pod에서 GPU 자원을 못쓰게 하고 싶은데, docker nvidia runtime으로 인해 Container가 무조건 GPU를 보게 되는 상황. 해결 : 환경 변수로 CUDA_VISIBLE_DEVICES= 값을 줘, CUDA Library 단에서 GPU 자원을..
[Kubernetes] k3s를 이용해 multi node 쿠버네티스 클러스터 구축하기 이전 글에서는 k3s를 이용하여 쉽게 single node kubernetes cluster를 구축하는 법을 알아 보았다. ( https://blog.ggaman.com/1018 ) 이번 글에서는 k3s를 이용해서 multi node kubernetes cluster를 구축하는 법을 알아 보겠다. 즉, 컴퓨터 여러대를 묶어서 사용하겠다는것이다. 이전의 글을 보고 왔으면 크게 할 일이 없지만 몇가지 사소하게 설정이 필요한 부분이 있어서 이 글도 따로 작성하게 되었다. 이전글에도 적어 두었지만, 쿠버네티스는 master node와 worker node로 구분되고, master node가 worker node를 조작한다고 설명했다. 그렇기 때문에 실제 서비스가 돌아가는곳은 worker node이므로, mast..

반응형