쿠버네티스 인그레스 vs 게이트웨이 API: 라우팅 전환
쿠버네티스에서 클러스터 외부 트래픽을 서비스로 흘려보내는 표준은 오랫동안 Ingress였습니다. 그런데 조금만 요구사항이 복잡해져도 Ingress의 한계에 부딪혀 컨트롤러별 애너테이션 지옥에 빠지곤 했습니다. 카나리 배포, 헤더 기반 라우팅,…
쿠버네티스에서 클러스터 외부 트래픽을 서비스로 흘려보내는 표준은 오랫동안 Ingress였습니다. 그런데 조금만 요구사항이 복잡해져도 Ingress의 한계에 부딪혀 컨트롤러별 애너테이션 지옥에 빠지곤 했습니다. 카나리 배포, 헤더 기반 라우팅,…
쿠버네티스를 운영하다 보면 “잘 돌던 파드가 갑자기 재시작됐다”는 상황을 반복적으로 만납니다. kubectl get pods를 보면 RESTARTS가 올라가 있고, 상세에는 OOMKilled 또는 Evicted가 찍혀 있습니다. 둘 다…
쿠버네티스에 애플리케이션을 배포하다 보면 매니페스트가 순식간에 수십 개로 불어난다. Deployment, Service, ConfigMap, Ingress, HPA가 환경마다 조금씩 다르고, 이미지 태그 하나 바꾸려고 여러 파일을 손대다 보면 “지금…
대부분의 CI 도구는 쿠버네티스 바깥에 살면서 클러스터를 원격으로 조종한다. Jenkins 마스터, GitLab 러너, GitHub Actions 워커가 kubectl apply나 헬름 명령을 던지는 구조다. 익숙하지만, 파이프라인의 상태·권한·확장이 전부…
쿠버네티스 클러스터를 처음 띄우면 모든 파드는 서로 자유롭게 통신할 수 있습니다. 프론트엔드 파드가 결제 DB에 직접 붙고, 이름 모를 배치 잡이 인증 서비스의 내부 API를 호출할…
쿠버네티스 배포는 대개 kubectl apply나 CI 파이프라인에서 매니페스트를 클러스터로 직접 밀어넣는 푸시(push) 방식에서 출발한다. 처음엔 잘 돌아가지만 서비스와 환경이 늘면 문제가 드러난다. 클러스터에 실제로 무엇이 떠…
클러스터를 운영하다 보면 파드가 엉뚱한 곳에 뜨는 순간이 반드시 온다. GPU 노드에 CPU만 쓰는 배치 파드가 스케줄돼 비싼 자원을 놀리거나, 레플리카 3개가 하필 같은 노드에 몰려…
쿠버네티스 클러스터를 운영하다 보면 어느 날 갑자기 파드가 OOMKilled 상태로 재시작되거나, CPU 사용률은 낮은데 응답 지연이 급증하는 현상을 마주하게 됩니다. 대부분의 경우 원인은 resources.requests와 resources.limits 설정의…