인프라

인프라

Kubernetes·Docker·클라우드·DB 운영에서 발생하는 장애와 성능 문제를 다룹니다. 임시 조치와 영구 해결을 구분해 안내합니다.

이런 분을 위한 섹션 · 컨테이너·클라우드 환경을 운영하는 DevOps·SRE·백엔드 엔지니어
읽는 순서 · 장애 상황이라면 많이 읽은 글의 진단 절차부터, 학습 목적이라면 시리즈를 순서대로 읽는 것을 추천합니다.
많이 읽은 글
Kafka vs RabbitMQ vs NATS vs Redis Streams 선택 가이드: 6개 질문 판정표
인프라10월 15일

Kafka vs RabbitMQ vs NATS vs Redis Streams 선택 가이드: 6개 질문 판정표

Kafka, RabbitMQ, NATS JetStream, Redis Streams를 전달 모델·리플레이·순서 보장·운영 부담으로 비교합니다. 6개 질문 판정표, 보존 용량 계산법(흔한 계산 실수 포함), 첫 주에 볼 운영 지표까지 정리했습니다.

no pg_hba.conf entry·password authentication failed 원인별 해결법
인프라8월 25일

no pg_hba.conf entry·password authentication failed 원인별 해결법

PostgreSQL 접속 에러 6종을 네트워크·pg_hba·인증 3계층으로 30초 만에 판정하는 방법. 에러 원문 대조표, ss·pg_hba_file_rules 진단 명령, 첫 매치 규칙, PG14 scram-sha-256 전환 복구, Docker·K8s·RDS 분기까지 정리했습니다.

쿠버네티스 MTU 문제 진단법 — ping은 되는데 큰 응답만 멈출 때
인프라8월 25일

쿠버네티스 MTU 문제 진단법 — ping은 되는데 큰 응답만 멈출 때

ping은 정상인데 큰 응답에서만 curl이 멈추고 TLS handshake가 무응답이라면 MTU 문제입니다. DF 비트 ping 이분 탐색, VXLAN 1450·GCP 1410 계산표, Flannel·Calico·Cilium 설정 위치, PMTUD 블랙홀과 MSS clamping 우회책까지 정리했습니다.

504 Gateway Time-out 원인 진단: nginx·ALB·gunicorn 타임아웃 정렬 런북
인프라8월 18일

504 Gateway Time-out 원인 진단: nginx·ALB·gunicorn 타임아웃 정렬 런북

504 Gateway Time-out이 떴을 때 curl 계측과 응답 헤더만으로 CloudFront·ALB·nginx·gunicorn 중 누가 먼저 끊었는지 특정하는 절차입니다. 계층별 타임아웃 수치표, 정렬 원칙, proxy_read_timeout을 올리지 않고 해결하는 방법까지 정리했습니다.

Ingress 404 default backend·503 no healthy upstream 30초 진단표
인프라8월 10일

Ingress 404 default backend·503 no healthy upstream 30초 진단표

Kubernetes Ingress 404 default backend, 503 no healthy upstream, 502 too big header를 응답 문자열만으로 원인 계층에 매핑하는 판정표와 30초 확진 6단계, 복붙 가능한 수정 YAML과 컨트롤러별 차이까지 정리했습니다.

Endpoints <none>·no endpoints available 7가지 원인과 30초 진단법
인프라8월 5일

Endpoints <none>·no endpoints available 7가지 원인과 30초 진단법

쿠버네티스 Service가 Endpoints <none>으로 죽을 때 selector 불일치, targetPort 오지정, Readiness 실패 등 7가지 원인을 30초 진단 시퀀스와 판정표로 특정하고, 1줄 복구 명령과 EndpointSlice 점검 스크립트까지 정리했습니다.

Temporary failure in name resolution 해결: 호스트·Docker·K8s DNS 진단 런북
인프라8월 4일

Temporary failure in name resolution 해결: 호스트·Docker·K8s DNS 진단 런북

Temporary failure in name resolution, Could not resolve host, SERVFAIL, NXDOMAIN을 에러 문구만 보고 원인 계층을 판정하는 표와 30초 진단 명령 5개. resolv.conf, Docker daemon.json, K8s ndots·CoreDNS 처방까지 복붙으로 해결하세요.

No space left on device 30초 판정 런북 — df에 용량 남았는데 안 될 때
인프라7월 19일

No space left on device 30초 판정 런북 — df에 용량 남았는데 안 될 때

ENOSPC(errno 28)로 서비스가 멈췄다면? df엔 여유가 있는데 실패하는 경우(inode 고갈, 다른 마운트, inotify 한도)와 df는 꽉 찼는데 du로는 안 보이는 경우(삭제된 열린 파일)까지, 5개 명령으로 원인을 30초에 특정하고 원인별 복붙 복구·재발 방지까지 담은 실전 런북.

PostgreSQL too many clients already 30초 판정 복구 런북
인프라7월 13일

PostgreSQL too many clients already 30초 판정 복구 런북

PostgreSQL 'FATAL: sorry, too many clients already' 에러를 30초 판정표로 원인(스파이크·누수·설정)부터 가르고, 복붙 SQL로 idle in transaction 종료·max_connections 튜닝·pgbouncer 도입까지 즉시 복구합니다.

ERROR 1040 Too many connections 해결: MySQL 커넥션 고갈 진단·복구 런북
인프라7월 12일

ERROR 1040 Too many connections 해결: MySQL 커넥션 고갈 진단·복구 런북

MySQL ERROR 1040 Too many connections를 30초 만에 진단하고 즉시 복구하는 런북. SHOW PROCESSLIST·kill부터 max_connections·wait_timeout, HikariCP·Django·Laravel 풀 설정까지 복붙 가이드.

Docker 'port is already allocated' 30초 진단·복구 런북
인프라7월 10일

Docker 'port is already allocated' 30초 진단·복구 런북

Docker의 'Bind for 0.0.0.0:XXXX failed: port is already allocated' 에러를 30초 만에 진단하고 복붙 명령으로 복구하는 실전 런북. 좀비 docker-proxy와 잔존 컨테이너 포트 점유를 정확히 해결합니다.

apt Could not get lock /var/lib/dpkg/lock-frontend 30초 진단·복구 런북
인프라7월 6일

apt Could not get lock /var/lib/dpkg/lock-frontend 30초 진단·복구 런북

'Could not get lock /var/lib/dpkg/lock-frontend' 에러를 30초 진단표로 원인(중복 apt·unattended-upgrades·cloud-init·stale lock)까지 판별. lock 파일 rm 여부와 복붙 복구 3안, 재발 방지까지 온콜 런북으로 정리했습니다.

kubectl localhost:8080 refused 에러 30초 진단·복구 런북
인프라7월 5일

kubectl localhost:8080 refused 에러 30초 진단·복구 런북

kubectl 'connection to localhost:8080 was refused' 에러를 30초 진단표와 복붙 명령으로 해결합니다. kubeconfig 경로·KUBECONFIG·context·sudo 함정·EKS/GKE 위치까지 원인 5계열 정리.

Redis MISCONF unable to persist on disk 에러 5분 복구 런북
인프라7월 3일

Redis MISCONF unable to persist on disk 에러 5분 복구 런북

Redis가 'MISCONF unable to persist on disk'로 쓰기를 전부 거부할 때 쓰는 5분 복구 런북. 디스크 full·overcommit_memory·dir 권한 3대 원인을 진단 명령으로 특정하고 임시조치부터 영구 해결까지 복붙으로 끝냅니다.

K8s Liveness/Readiness probe failed·connection refused 원인별 해결
인프라6월 29일

K8s Liveness/Readiness probe failed·connection refused 원인별 해결

kubectl Events에 찍힌 Liveness/Readiness probe failed, connection refused, context deadline exceeded 에러를 원문 그대로 매칭해 30초 만에 원인을 찾는 결정 트리와 복붙 YAML, 권장 임계치 정리.

Pod Pending FailedScheduling 0/3 nodes 30초 진단·복구 런북
인프라6월 28일

Pod Pending FailedScheduling 0/3 nodes 30초 진단·복구 런북

Pod가 FailedScheduling 0/3 nodes(insufficient cpu/memory·taint·node selector)로 Pending에 멈췄나요? Events 한 줄로 원인을 분기하고 requests 축소·toleration·노드 증설을 결정 트리로 즉시 복구하는 실전 런북입니다.

OOMKilled exit code 137 해결: kubectl 30초 진단·5분 복구 런북
인프라6월 28일

OOMKilled exit code 137 해결: kubectl 30초 진단·5분 복구 런북

Pod가 OOMKilled exit code 137로 죽었나요? kubectl describe·jsonpath·dmesg로 컨테이너 limit 초과인지 노드 메모리 압박인지 30초에 가르고, requests/limits 재산정·JVM 힙 설정·Guaranteed QoS·알람까지 복붙 명령으로 5분 복구합니다.

fork: retry: Resource temporarily unavailable 30초 진단 런북
인프라6월 27일

fork: retry: Resource temporarily unavailable 30초 진단 런북

fork: retry, pthread_create failed, unable to create new native thread는 nproc 한도 고갈 아니면 메모리 부족입니다. ulimit·ps·free·dmesg로 30초 진단하고 limits.conf·TasksMax·cgroup pids.max로 영구 해결하는 복붙 런북.

connection refused / ECONNREFUSED 127.0.0.1 30초 진단 런북
인프라6월 27일

connection refused / ECONNREFUSED 127.0.0.1 30초 진단 런북

'connection refused'·'ECONNREFUSED 127.0.0.1' 에러를 30초에 분기하는 4단계 런북. 서버 미기동·포트 불일치·방화벽·바인드 주소(127.0.0.1 vs 0.0.0.0)를 복붙 명령으로 진단하고 curl·Node·Go·psql 케이스까지 정리했습니다.

address already in use 해결: 포트 점유 프로세스 찾아 종료하기 (EADDRINUSE)
인프라6월 26일

address already in use 해결: 포트 점유 프로세스 찾아 종료하기 (EADDRINUSE)

bind: address already in use·EADDRINUSE 에러로 막막할 때, lsof·netstat로 포트 점유 프로세스를 찾아 안전히 종료하고 TIME_WAIT·중복 기동까지 막는 OS별 복붙 명령어를 단계별로 정리했습니다.

ImagePullBackOff·ErrImagePull 해결: Events로 원인 진단하고 복붙으로 끝내기
인프라6월 24일

ImagePullBackOff·ErrImagePull 해결: Events로 원인 진단하고 복붙으로 끝내기

kubectl ImagePullBackOff와 ErrImagePull을 Events 메시지 진단표로 5분 만에 특정합니다. imagePullSecrets 네임스페이스, private registry 인증, Docker Hub rate limit, ECR 토큰 만료까지 복붙 명령어로 해결하는 실전 가이드.

Docker permission denied /var/run/docker.sock 에러 5분 해결법
인프라6월 24일

Docker permission denied /var/run/docker.sock 에러 5분 해결법

Docker permission denied /var/run/docker.sock 에러를 원인별 진단표와 복붙 명령어로 해결합니다. usermod 후에도 안 될 때 세션 재적용법과 CI·rootless·보안 주의점까지 한 번에 정리했습니다.

SSH Permission denied (publickey) 원인·해결 5분 진단 (EC2)
인프라6월 24일

SSH Permission denied (publickey) 원인·해결 5분 진단 (EC2)

SSH Permission denied (publickey) 에러를 ssh -vvv 로그로 클라이언트·서버 분기 진단합니다. 키 권한, authorized_keys, sshd_config, EC2 사용자명까지 단계별 명령어로 5분 안에 복구하세요.

Istio/Ingress 네트워킹 장애: 트래픽 분할·경로 매칭 YAML로 원인 찾기
인프라6월 22일

Istio/Ingress 네트워킹 장애: 트래픽 분할·경로 매칭 YAML로 원인 찾기

마이크로서비스 환경에서 Istio와 Ingress 사용 중 발생하는 트래픽 라우팅 오류, Path Matching 실패 등 복잡한 네트워킹 문제를 해결하는 실전 가이드입니다. 필수 YAML 예시와 L4/L7 디버깅 체크리스트를 통해 운영 안정성을 확보하세요.