장애 대응 가이드
먼저 확인할 신호, 명령 예시, 흔한 오진, 복구 순서를 정리했습니다. 읽은 뒤 같은 장애를 다룬 문제로 바로 연습할 수 있습니다.
CrashLoopBackOff가 뜰 때 가장 먼저 볼 것Pod가 반복 재시작하면서 이전 로그와 event에 실제 원인이 남는 상황Kubernetes5분 읽기ImagePullBackOff에서 먼저 확인할 registry와 Secret이미지 이름은 맞아 보이지만 tag, registry credential, network policy 때문에 pull이 실패하는 상황Kubernetes4분 읽기ImagePullBackOff root cause를 분리하는 법registry 인증, tag drift, node egress, mirror policy가 같은 오류처럼 보이는 상황Kubernetes3분 읽기Pod는 Running인데 Service traffic만 실패하는 경우Pod 상태는 정상으로 보이지만 Service, Endpoint, NetworkPolicy, Ingress 경로가 끊긴 상황Kubernetes3분 읽기CoreDNS는 Running인데 DNS 조회만 실패할 때CoreDNS Pod는 정상처럼 보이지만 kube-dns 경로, upstream, node-local-dns, policy에서 실패하는 상황Kubernetes3분 읽기Helm values merge와 환경 override drift 점검법GitOps sync는 성공했지만 실제 rendered manifest와 기대 설정이 다른 상황Kubernetes2분 읽기ConfigMap은 바뀌었는데 Pod가 이전 값을 계속 쓸 때ConfigMap 업데이트 이후 envFrom, subPath, volume projection, rollout trigger 차이로 값이 갱신되지 않는 상황Kubernetes3분 읽기Kubernetes 장애를 Pod, Service, rollout 경계로 나누는 법Kubernetes 장애가 Pod 상태, Service discovery, controller, storage, network 중 어디에서 시작됐는지 분리해야 하는 상황Kubernetes2분 읽기Linux 장애를 systemd, 권한, 파일시스템 신호로 나누는 법서비스는 실패하지만 원인이 systemd unit, permission, inode, mount, process 중 어디인지 분리해야 하는 상황Linux2분 읽기수동 실행은 되는데 cron에서만 실패할 때같은 명령이 interactive shell에서는 성공하지만 cron이나 비대화형 환경에서만 실패하는 상황Linux3분 읽기권한은 고쳤는데 새 디렉터리만 다른 group으로 생길 때기존 파일 권한은 맞지만 새로 생성되는 파일과 디렉터리의 group inheritance가 깨지는 상황Linux2분 읽기shell에서는 sudo가 되는데 automation에서 실패할 때TTY, sudoers, environment reset, service user 차이 때문에 자동화 작업만 실패하는 상황Linux3분 읽기GitHub Actions 성공 후 rollout만 실패하는 경우빌드 로그는 정상인데 배포 대상 cluster나 runtime에서만 장애가 드러나는 상황CI/CD3분 읽기CI cache가 잘못된 dependency graph를 복원할 때cache hit 이후에도 package.json, lockfile, artifact 기준이 서로 맞지 않는 상황CI/CD2분 읽기self-hosted runner job이 queued에서 멈출 때runner는 등록되어 보이지만 label, group, network, token 문제로 job을 가져오지 못하는 상황CI/CD2분 읽기GitHub Actions는 성공했는데 배포만 실패할 때 점검 순서workflow는 green인데 rollout, promotion, health check 단계에서만 실패하는 상황CI/CD2분 읽기firewalld에서 열려 보이는데 접속은 계속 막힐 때port rule은 있어 보이지만 zone, runtime/permanent drift, source binding, 상위 방화벽 때문에 연결이 실패하는 상황Network3분 읽기timeout과 connection refused를 네트워크 경로로 분리하는 법DNS, route, firewall, proxy, listener 상태가 같은 연결 실패처럼 보이는 상황Network2분 읽기DNS는 바뀌었는데 일부 client가 이전 backend로 갈 때DNS record는 갱신됐지만 resolver cache, HTTP/2 keepalive, client pool이 이전 target을 붙잡는 상황Network2분 읽기x509 unknown authority와 중간 인증서 누락 점검법서버 인증서 자체보다 chain, CA bundle, trust store 차이 때문에 TLS 검증이 실패하는 상황Security2분 읽기mTLS trust bundle 불일치를 분리하는 법client certificate, server certificate, CA bundle, sidecar reload 시점이 서로 달라 handshake가 실패하는 상황Security2분 읽기WAF 403 false positive를 안전하게 진단하는 법권한 문제처럼 보이지만 특정 header, payload, rule group이 정상 요청을 차단하는 상황Security2분 읽기IAM, TLS, WAF 장애를 보안 운영 흐름으로 나누는 법인증, 인가, certificate, WAF, audit log 신호가 섞여 하나의 접근 실패처럼 보이는 상황Security2분 읽기GPU 노드는 있는데 워크로드는 계속 스케줄되지 않을 때GPU node는 보이는데 Pod만 계속 Pending일 때, resource request, taint/toleration, node selector, driver 준비 상태를 먼저 분리하는 가이드입니다.Kubernetes4분 읽기PersistentVolume은 다시 붙는데 롤아웃은 계속 멈출 때볼륨 attach는 된 것처럼 보이는데 Pod replacement와 rollout만 계속 멈출 때, attach 상태와 workload readiness를 분리해서 보는 가이드입니다.Kubernetes4분 읽기/tmp noexec 때문에 설치 스크립트나 러너만 실패할 때/tmp에 noexec가 걸려 있을 때 특정 installer, self-hosted runner, 임시 파일 기반 배포만 실패하는 상황을 나누는 가이드입니다.Linux4분 읽기Preview는 통과했는데 production feature flag에서 secret만 빠질 때preview 환경은 정상인데 production flag나 release toggle을 켠 순간만 secret path가 비어 보일 때, secret scope와 environment contract를 먼저 나누는 가이드입니다.CI/CD4분 읽기native VLAN mismatch일 때 한 VLAN만 되고 나머지가 안 되는 이유native VLAN mismatch, trunk 설정 드리프트, 부분적인 inter-VLAN 장애, Router-on-a-Stick 혼선을 다루는 검색형 증상 가이드입니다.Network5분 읽기OSPF adjacency가 안 잡힐 때 체크리스트OSPF neighbor down, adjacency stuck, failover 이후 route loss, 부분적인 경로 드리프트를 다루는 검색형 체크리스트 가이드입니다.Network5분 읽기Router on a Stick과 SVI를 실무에서 구분하는 법inter-VLAN routing, gateway 위치, 장애 시 로그 신뢰 지점을 기준으로 Router on a Stick과 SVI를 비교하는 검색형 가이드입니다.Network4분 읽기NGINX와 Azure 프록시 헤더 차이로 로그인 콜백이 꼬일 때reverse proxy 헤더 불일치, secure callback 실패, NGINX와 Azure 경로 사이의 프록시 동작 차이를 다루는 검색형 비교 가이드입니다.Security4분 읽기