본문 바로가기

전체 글94

Docker - Docker와 로컬 환경 통신 — 왜 붙고, 왜 안 붙는지 주소 관점으로 이해하기Docker 네트워크 문제를 코드가 아니라“누가 누구를 어떤 주소로 보느냐” 기준으로 정리한 기록오늘의 한 줄 요약Docker 통신 문제의 90%는 주소 문제다.localhost, service name, host 주소만 구분하면 끝난다.배경로컬에서 Spring Boot 애플리케이션을 실행한 상태에서Docker로 여러 서비스를 띄워 연동 테스트를 진행했다.DB (예: MongoDB)외부 서비스 문제는 다음과 같았다.컨테이너 안에서는 되는데 로컬에서는 안 됨localhost로 붙었는데 연결 실패헬스체크는 실패하는데 서비스는 떠 있음결론적으로 네트워크 구조를 정확히 이해하지 못한 상태였다.Docker 네트워크 구조 한 장 요약Docker bridge 네트워크.. 2026. 1. 31.
Day 3 — ConfigMap / 이미지 불변성 한 줄 요약이미지는 그대로 두고, ConfigMap만 바꿔서 서비스 동작을 변경했다.→ 운영에서 왜 “설정 외부화”가 필요한지 체감.🎯 목표이미지 불변성 이해ConfigMap을 이용해 이미지 재빌드 없이 설정 변경✅ 실습 내용1. ConfigMap 생성 (nginx 설정 파일)apiVersion: v1kind: ConfigMapmetadata: name: nginx-configdata: default.conf: | server { listen 80; location / { return 200 "hello from configmap v1\n"; } }2. Deployment에 ConfigMap 적용apiVersion: apps/v1kind: Deplo.. 2026. 1. 20.
Day 2.5 — Pod는 살아있는데 Service 트래픽은 0 요약 Day 2.5 — 파드는 Running인데 서비스는 안 됨→ readinessProbe 실패 시 Kubernetes가 트래픽을 어떻게 차단하는지 직접 확인 📆 Day 2.5 — Pod는 살아있는데 Service 트래픽은 0 🎯 실습 목표Pod 상태가 Running이어도 서비스가 안 되는 상황을 직접 만든다livenessProbe 와 readinessProbe 차이를 행동 기준으로 이해한다Service → Endpoint → Pod 연결 흐름을 정확히 본다 🧱 실습 전제 조건Day 2까지 실습 완료 (multi-container Pod 이해)Kubernetes 클러스터 접근 가능kubectl 사용 가능 [사실] 참고 문서 (probe 공식 개념)https://kubernetes.io/docs.. 2026. 1. 19.
Day 2 — Sidecar 컨테이너만 OOMKilled 시키기 요약 Day 2 — Sidecar 컨테이너만 OOMKilled 시키기→ 같은 Pod 안에서 컨테이너 하나만 죽어도 Pod는 살아있을 수 있다. 📆 Day 2 — Sidecar 컨테이너 OOMKilled 재현 🎯 실습 목표같은 Pod 안에서 컨테이너 하나만 죽는 상황을 직접 만든다Sidecar 패턴에서 리소스 설계가 왜 중요한지 체감한다READY 1/2, CrashLoopBackOff 상태를 눈으로 확인한다 🧱 실습 전제 조건Day 1 실습을 이미 해봄 (OOM 개념 이해됨)Kubernetes 클러스터 접근 가능kubectl 사용 가능 [사실] 참고 문서 (Pod / multi-container 개념)https://kubernetes.io/docs/concepts/workloads/pods/ 1.. 2026. 1. 17.