DevOps/Kubernetes
2026. 9. 30.
kubectl 1.34 기준으로 정리합니다(내장 Kustomize v5.7.1). dev/prod처럼 환경마다 살짝씩 다른 매니페스트를 관리할 때 YAML을 통째로 복붙하는 대신 쓰는 Kustomize를, base+overlay 예제를 직접 빌드해본 결과와 함께 정리합니다.왜 필요한가같은 애플리케이션이라도 dev는 레플리카 1개면 충분하고, prod는 3개는 떠 있어야 합니다. 이미지 태그도 dev는 최신, prod는 고정된 버전을 씁니다. 이걸 deployment-dev.yaml, deployment-prod.yaml처럼 파일을 통째로 복사해서 관리하면, 나중에 공통 부분(포트, 볼륨 마운트 등)을 고칠 때 두 파일을 다 고쳐야 하고 언젠가 하나를 빼먹게 됩니다.Kustomize는 이 문제를 "공통 부..
DevOps/Kubernetes
2026. 9. 30.
매번 -n 옵션 붙이고, kubectl get pods 치고 파드 이름 복사해서 logs 찍는 거 지겹지 않으신가요. 오늘은 아키텍처 설명 대신, krew(kubectl의 플러그인 관리 도구)로 설치해서 바로 써먹을 수 있는 kubectl 플러그인 5가지를 가볍게 정리합니다.krew란 - 먼저 이것부터krew는 kubectl의 "패키지 매니저"입니다. macOS의 brew, 우분투의 apt처럼 플러그인을 검색·설치·업데이트하게 해줍니다. 아래 5개 플러그인 모두 krew로 설치합니다.( set -x; cd "$(mktemp -d)" && curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew-linux_amd..
DevOps/Kubernetes
2026. 9. 30.
쿠버네티스 1.34 기준으로 정리합니다. GPU 같은 특수 하드웨어를 쿠버네티스가 다루는 방식이 device plugin에서 Dynamic Resource Allocation(DRA)으로 바뀌고 있습니다. 왜 바뀌는지, 실제로 무엇이 달라지는지, 어떻게 쓰는지 순서로 정리합니다.무엇이 문제였나 - device plugin의 한계MIG(Multi-Instance GPU) 정리 글에서 다룬 것처럼, 지금까지 쿠버네티스에서 GPU를 쓰려면 파드 스펙에 resources.limits.nvidia.com/gpu: 1처럼 개수만 적었습니다. 이 방식을 device plugin이라고 부릅니다.문제는 "개수"만으로는 표현할 수 없는 요구사항이 많다는 점입니다. 어떤 모델의 GPU인지, 메모리가 얼마나 필요한지, 다른 ..
DB/DataBase
2026. 9. 29.
2026년 5월 InfluxDB v2가 /health·/ready 엔드포인트를 대대적으로 개편한 실제 이슈(#27355)와 PR(#27370)을 통해, 헬스체크를 어떻게 설계해야 하는지 정리합니다.무엇이 문제였나InfluxDB GitHub 이슈 #27355 "Improve /health and /ready endpoints in V2"에서 지적된 기존 동작은 이랬습니다.HTTP 스택 전체가 초기화된 후에만 /health, /ready가 응답을 시작함 - 즉 InfluxDB가 아직 뜨는 중인지, 이미 죽었는지 외부에서 구분할 방법이 없었습니다.샤드(shard)를 로딩하는 시작 초기 단계의 진행 상황을 전혀 알 수 없었습니다./health가 실패해도 "왜" 실패했는지 상세 원인을 알려주지 않았습니다.쿠버네티..
DevOps/Kubernetes
2026. 9. 28.
2026년 9월 Envoy AI Gateway가 1.0으로 GA되고 Istio도 베타 지원을 발표하면서 빠르게 표준으로 자리잡고 있는 Gateway API Inference Extension의 개념, 핵심 리소스, 동작 흐름, 실제 매니페스트 예시를 정리합니다.왜 필요한가 - 기존 로드밸런싱의 한계Kubernetes Gateway API의 HTTPRoute는 "이 경로/호스트로 오는 요청을 이 서비스로 보내라"는 수준까지만 결정합니다. 그런데 LLM 추론 요청은 일반 HTTP 요청과 성격이 많이 다릅니다. 세션이 길고, GPU 자원을 많이 쓰고, 모델 서버마다 이미 캐싱된 프롬프트(prefix cache)나 로드된 LoRA 어댑터가 다를 수 있습니다. 그래서 단순 라운드로빈으로 아무 파드에나 요청을 흘려..
DevOps/Openshift Cloud Platform
2026. 9. 23.
2026년 11월 GA된 OpenShift 4.20에서 LeaderWorkerSet(LWS)이 정식 지원되면서, 최근 다룬 KubeRay·Kueue와 함께 분산 AI 워크로드 오케스트레이션의 한 축을 이루게 된 LWS의 개념, StatefulSet과의 차이, 핵심 스펙, 실제 예시를 정리합니다.LWS(LeaderWorkerSet)란LWS는 쿠버네티스 SIG(Special Interest Group)가 관리하는 API로, 여러 파드를 하나의 복제 단위(unit of replication)로 묶어 배포하기 위해 만들어졌습니다. 주 타깃은 멀티호스트 LLM 추론입니다. Llama 3.1 405B처럼 GPU 하나, 심지어 노드 하나에도 다 올라가지 않는 거대 모델을, 텐서 병렬화(tensor parallelis..