infra 22

로컬에서 쿠버네티스 연습하기: minikube와 kind 차이점 정리

로컬에서 쿠버네티스 연습하는 방법, minikube와 kind 어떻게 다를까앞선 글까지 쿠버네티스의 개념과 운영 관점을 한 바퀴 훑었다면,이제 자연스럽게 이런 질문이 나온다.“이걸 로컬에서 연습할 수는 없을까?”“운영 클러스터에 바로 실험하기는 부담된다”“구조를 손에 익히려면 어떤 환경이 좋을까?”이 글에서는 로컬 개발 환경에서 쿠버네티스를 연습하는 대표적인 방법인minikube와 kind를 중심으로,각각 어떤 상황에 잘 맞는지 정리한다.로컬 쿠버네티스 환경이 필요한 이유쿠버네티스는 문서만 읽어서는 감이 잘 안 온다.실제로 다음 작업들을 해봐야 구조가 연결된다.Pod가 뜨고 사라지는 흐름Deployment 업데이트 과정Service와 Ingress 동작 방식리소스 설정에 따른 변화운영 클러스터에서 이런 ..

infra 2026.02.12

쿠버네티스 운영 설계 가이드: 장애를 줄이는 기본 습관 정리

쿠버네티스 운영을 덜 아프게 만드는 설계와 습관앞선 글들에서Pod 장애, OOMKilled, Evicted, Node 문제까지 살펴봤다.이쯤 되면 자연스럽게 이런 생각이 든다.“매번 터지고 나서 고치는 게 맞나?”“처음부터 덜 아프게 운영할 수는 없을까?”이 글에서는쿠버네티스를 잘 쓰는 기술이 아니라덜 고생하면서 운영하기 위한 설계와 습관을 정리한다.화려한 패턴보다는, 실제로 도움이 되는 기본에 집중한다.1. 모든 것은 “기본값에 맡기지 않는다”쿠버네티스는 기본값이 많다.문제는 이 기본값들이 운영 환경에 최적화되어 있지 않다는 점이다.대표적인 예시는 다음과 같다.resources 미설정readiness/liveness probe 미설정replicas = 1처음에는 편하지만,운영 단계로 가면 거의 항상 문..

infra 2026.02.11

쿠버네티스 OOMKilled·Evicted 트러블슈팅: Node 장애까지 한 번에 정리

쿠버네티스 실전 트러블슈팅, OOMKilled · Evicted · Node 장애 대응 정리앞선 글에서는 Pod가 뜨지 않을 때의 기본적인 확인 순서를 정리했다.이번에는 운영 중 실제로 가장 자주 마주치는 조금 더 실전적인 에러들을 다룬다.Pod가 갑자기 재시작되며 OOMKilled가 찍힌다아무 설정도 안 바꿨는데 Pod가 Evicted 상태가 된다특정 Node에서만 문제가 반복된다이런 케이스들은 단순한 설정 오류를 넘어서리소스와 클러스터 상태를 함께 봐야 하는 문제다.OOMKilled: 가장 흔한 메모리 관련 장애OOMKilled는 이름 그대로다.컨테이너가 메모리 limits를 초과해 강제로 종료된 상태이 상태는 로그를 보지 않아도kubectl describe pod에서 바로 확인할 수 있다.Reaso..

infra 2026.02.10

쿠버네티스 Pod 트러블슈팅 가이드: 실행되지 않을 때 확인 순서

쿠버네티스 트러블슈팅 기본편, Pod가 뜨지 않을 때 확인 순서쿠버네티스를 어느 정도 쓰다 보면언젠가는 꼭 이런 상황을 마주하게 된다.배포는 했는데 Pod가 안 뜬다계속 재시작만 반복한다상태가 Pending이나 CrashLoopBackOff에서 멈춰 있다이 글에서는 Pod가 정상적으로 실행되지 않을 때,실무에서 많이 사용하는 확인 순서와 사고 흐름을 정리한다.특정 에러를 외우기보다는, 어디부터 보면 되는지에 초점을 맞췄다.트러블슈팅의 출발점은 “상태 확인”이다가장 먼저 해야 할 일은“무슨 문제가 있는지 추측”하는 게 아니라쿠버네티스가 보고 있는 상태를 그대로 확인하는 것이다.보통 이 한 줄에서 시작한다.kubectl get pod여기서 가장 많이 마주치는 상태는 다음과 같다.PendingCrashLoop..

infra 2026.02.09

쿠버네티스 로그와 모니터링 개념 정리: 운영에서 왜 중요한가

쿠버네티스에서 로그와 모니터링은 왜 더 중요할까HPA까지 설정했다면,이제부터는 “문제가 생겼을 때 어떻게 알아차릴 것인가”가 가장 중요한 질문이 된다.쿠버네티스 환경에서는 단순히 서버에 접속해서 로그를 보는 방식이 잘 통하지 않는다.Pod는 수시로 생성되고 사라진다문제가 발생한 Pod가 이미 사라졌을 수도 있다노드 단위가 아니라 서비스 단위로 상황을 봐야 한다그래서 쿠버네티스에서는로그(Log) 와 모니터링(Monitoring) 을 별도의 영역으로 명확히 나눠서 다룬다.로그와 모니터링은 다르다먼저 이 두 개념을 구분하는 게 중요하다.로그는 “무슨 일이 있었는지”,모니터링은 “지금 상태가 어떤지”를 보여준다.로그(Log)애플리케이션이 남긴 텍스트 기록에러 원인, 요청 흐름 추적문제 발생 이후 분석에 주로 사..

infra 2026.02.08

쿠버네티스 HPA 동작 원리 정리: 자동 확장은 어떻게 결정될까

쿠버네티스 자동 확장의 핵심, HPA는 어떻게 동작할까앞선 글에서 requests와 limits를 다뤘다면,이번에는 그 설정을 실제로 활용하는 기능인 HPA(Horizontal Pod Autoscaler) 를 살펴볼 차례다.쿠버네티스를 쓰는 이유 중 하나가“트래픽에 따라 자동으로 늘고 줄어드는 구조”일 텐데,그 중심에 바로 HPA가 있다.다만 HPA는 설정만 해두면 마법처럼 동작하는 기능은 아니다.동작 원리를 이해하지 않으면,원하지 않는 타이밍에 스케일이 되거나 아예 안 되기도 한다.HPA란 무엇인가HPA를 한 문장으로 정리하면 다음과 같다.HPA는 “메트릭을 기준으로 Pod 개수를 자동 조절하는 리소스”다.여기서 핵심은 두 가지다.무엇을 기준으로 판단하는가Pod 개수를 어떻게 조절하는가HPA는 Depl..

infra 2026.02.07

쿠버네티스 requests와 limits 개념 정리: 리소스 관리와 OOM 방지

쿠버네티스 리소스 관리의 핵심, requests와 limits 이해하기ConfigMap과 Secret으로 설정을 분리했다면,이제는 애플리케이션이 얼마나 많은 리소스를 써도 되는지를 고민해야 한다.쿠버네티스를 운영하다 보면 이런 상황을 자주 만난다.특정 Pod 하나가 CPU를 과도하게 사용한다메모리 사용량이 치솟으면서 다른 서비스까지 영향을 준다Pod가 갑자기 종료(OOMKilled)된다이 문제의 중심에는 requests와 limits가 있다.이 글에서는 쿠버네티스가 리소스를 어떻게 바라보는지부터 차근히 정리한다.쿠버네티스는 리소스를 “나눠 쓰는 환경”이다쿠버네티스 클러스터의 Node는 보통 여러 Pod가 함께 사용한다.즉,CPU메모리같은 자원은 공유 자원이다.아무 설정 없이 Pod를 띄우면,한 Pod가 ..

infra 2026.02.06

쿠버네티스 Service와 Ingress 개념 정리: 외부 트래픽 흐름 이해하기

쿠버네티스 네트워킹의 핵심, Service와 Ingress 이해하기Deployment, StatefulSet 같은 워크로드를 이해했다면다음으로 막히는 지점은 거의 항상 네트워킹이다.Pod IP는 왜 계속 바뀌는지외부 요청은 어떻게 Pod까지 들어오는지Service랑 Ingress는 정확히 뭐가 다른지이 글에서는 쿠버네티스 네트워킹의 중심이 되는 Service와 Ingress를“요청이 들어와서 Pod에 도달하는 흐름” 기준으로 정리한다.Pod IP를 직접 쓰지 않는 이유쿠버네티스에서 Pod는 일시적인 존재다.재배포 시 삭제되고 새로 생성된다장애가 나면 다른 Node에서 다시 뜬다그때마다 IP가 바뀐다즉, Pod IP는 신뢰할 수 있는 접근 수단이 아니다.그래서 쿠버네티스는Pod 앞에 항상 고정된 접근 지점..

infra 2026.02.05

쿠버네티스 StatefulSet과 DaemonSet 차이점 정리: 언제 써야 할까

StatefulSet과 DaemonSet, 언제 어떤 워크로드를 써야 할까Deployment까지 이해했다면, 이제 쿠버네티스의 워크로드 개념 중 조금 성격이 다른 두 가지를 볼 차례다.바로 StatefulSet과 DaemonSet이다.이 둘은 Deployment만으로는 해결하기 어려운 요구사항을 다루기 위해 존재한다.실무에서 자주 쓰이진 않지만, 필요해지는 순간이 분명히 있는 리소스다.Deployment로 해결되지 않는 요구사항들실제로 쿠버네티스를 쓰다 보면 이런 요구가 나온다.Pod마다 고정된 이름과 순서가 필요하다Pod마다 각각의 스토리지를 가져야 한다특정 애플리케이션은 모든 Node에서 반드시 하나씩 실행되어야 한다이런 요구를 Deployment로 억지로 해결하려고 하면설정이 복잡해지고, 운영이 불..

infra 2026.02.04

쿠버네티스 Deployment와 ReplicaSet 개념 정리: 배포의 기본 구조

쿠버네티스 배포의 핵심, Deployment와 ReplicaSet 이해하기앞선 글에서 Pod, Node, Cluster 같은 기본 구조를 살펴봤다.이제부터는 실제로 쿠버네티스를 쓰면서 가장 자주 만나게 되는 개념으로 넘어간다.바로 Deployment와 ReplicaSet이다.쿠버네티스에서 애플리케이션을 배포한다고 할 때,대부분의 경우 직접 Pod를 만들지는 않는다.대신 Deployment를 정의하고, 나머지는 쿠버네티스에 맡긴다.왜 Pod를 직접 만들지 않을까처음 쿠버네티스를 접하면 이런 생각이 든다.“컨테이너 하나 띄우면 되는데 Pod만 만들면 되지 않나?”“굳이 Deployment까지 써야 하나?”기술적으로는 가능하다.하지만 운영 관점에서는 거의 의미가 없다.Pod는 다음과 같은 특성을 가진다.언제든..

infra 2026.02.03