아주라 님의 글 57
vLLM에서 유효한 JSON만 뱉게 만들기
LLM으로 분류 결과나 추출 데이터를 받아 파이프라인에 넘기는 서비스를 운영하다 보면, 모델이 가끔 JSON 앞에 "물론이죠, 아래가 결과입니다" 같은 말을 붙이거나 마지막 중괄호를 빼먹는다. 프롬…
DCGM Exporter로 쿠버네티스 GPU 모니터링
GPU 노드를 쿠버네티스에 붙여 놓고 나면 다음 질문은 항상 같다. 저 비싼 카드가 지금 얼마나 일하고 있나, 어느 파드가 메모리를 다 먹고 있나, 혹시 조용히 맛이 가고 있는 건 아닌가. CPU야…
쿠버네티스 GPU를 여러 파드가 나눠 쓰기
GPU 노드는 비싸다. 그런데 막상 붙여 보면 추론 서비스 하나나 주피터 노트북 하나가 카드 한 장을 통째로 잡고 있으면서 실제 사용률은 한 자릿수에 머무는 경우가 흔하다. Azure의 NC/ND …
스타트업과 IT 전략 용어 사전
투자 유치 자료를 읽다가 BEP 같은 약어에서 멈추거나, AI 뉴스에서 오픈웨이트와 오픈소스가 같은 말인지 헷갈린 적이 있다면 아래 용어들이 도움이 될 것입니다. 필요한 항목만 골라 읽어도 되도록 …
LiteLLM 소개와 시작하기
Azure 환경을 운영하다 보면 LLM 공급자를 하나만 쓰는 팀을 만나기가 점점 어려워진다. 공급자가 늘어날 때마다 키를 어디에 두고 호출 코드를 어떻게 맞출지 고민하게 된다. 그 질문이 나올 때마…
NetworkPolicy로 파드 통신 기본 차단하기
클러스터를 새로 받아서 파드를 몇 개 띄워보면 대개 놀란다. 아무 정책도 없는 상태에서는 네임스페이스가 달라도 파드끼리 서로 다 붙는다. 프론트엔드 파드에 셸을 열고 DB 파드 포트로 붙어보면 그냥…
Langfuse 자체 호스팅으로 LLM 앱 관측하기 - 트레이스 계측, 토큰 비용 추적, 프롬프트 버전과 평가 대시보드
LLM 애플리케이션을 운영에 올리고 나면 항상 같은 질문을 받는다. "이번 달 OpenAI 요금이 왜 이렇게 나왔나", "어제 그 답변이 왜 이상하게 나갔나", "프롬프트를 바꿨는데 품질이 좋아진 …
Datadog은 언제 도입하나 - 클라우드 기본 모니터링의 한계와 요금 정리
모니터링 도구 이야기가 나오면 대체로 두 부류로 갈린다. 클라우드 기본 도구만으로 아직 버티는 팀과, 서비스가 늘면서 확인할 화면이 여기저기 흩어져 곤란해진 팀이다. 예전에 Datadog으로 Kub…
eBPF로 실행 중인 애플리케이션 추적하는 방법 (bpftrace, bcc)
운영 중인 애플리케이션에서 원인을 알 수 없는 지연이 생기면 제일 먼저 나오는 말이 "로그 좀 더 찍고 재배포하자"다. 그런데 재현이 안 되는 문제일수록 재배포 순간에 증상이 사라진다. 예전에 쿠버…
쿠버네티스 Affinity의 operator 사용법
1. 개요 Affinity에서 사용하게 되는 operator에 대한 설명이다. 2. 분류 In - values 필드에 설정한 값 중 레이블에 있는 값과 일치하는 것이 하나라도 있으면 매칭 - 따라서…
쿠버네티스 클러스터 업그레이드 방법
1. 절차 1.1. 마스터 노드 작업 마스터 노드 drain 마스터 노드 kubeadm 업그레이드 마스터 노드 kubectl, kubeadm 업그레이드 마스터 노드 uncordon 1.2. 커맨드 …
쿠버네티스 Taint, Toleration 정리
1. Taint 1.1. Taint란? Taint의 사전적인 의미는 "얼룩"이다. 이 기능의 목적은 해당 노드에 지정된 역할만 실행하게끔 하는 것이다. Taint는 노드에 설정한다 노드를 새로 구성…