DevOps
배포, 인프라, Docker, K8s
-
[관측 확장 #2] 접속자를 지도 위에 올리기 — 똑같이 생긴 “No data” 를 네 갈래로 가르는 법
접속자 IP 를 좌표로 바꿔 Grafana Geomap 에 올리는 일에서 어려운 쪽은 배선이 아니라 빈 패널의 원인을 가르는 일이었습니다. 라벨 폭발로 로그가 상류에서 버려지는 것,…
-
[관측 확장 #1] 활동 모니터를 PostgreSQL 위에 다시 그리기 — 누적 카운터와 순간 표본은 다른 물건이다
진단 화면은 베낄 수 있지만 그 화면을 떠받치는 계측은 베낄 수 없습니다. SQL Server 의 활동 모니터를 PostgreSQL 대시보드로 옮기면서, 누적 카운터와 순간 표본의 차이…
-
[측정 보고서] 홈서버의 TCP 수신 윈도우·MSS·수신 처리량 — 값이 아니라 식을 남긴다
집 서버의 TCP 수신 창과 MSS를 재고, 그 값이 어떤 식에서 나오는지 커널 파라미터까지 거슬러 확인했습니다. 소켓에서 파일 버퍼로 읽는 속도는 858 MB/s, 실제 네트워크…
-
홈서버 하나로 관측성부터 GitOps까지 — Prometheus·Loki·Tempo·Grafana, eBPF 실패와 Linkerd, ArgoCD 편입 실전기
집에 굴리는 서버 PC 한 대에 관측성 스택을 세우고 보안 게이팅과 GitOps까지 밀어붙인 기록. 디스크 14GB 제약 안에서의 스택 구성, 같은 데이터로 재현한 APM 대시보드…
-
[인프라 비용] Bitnami Helm으로 무료 인프라? — 라이선스 피와 개발자 시간, 무엇이 진짜 싼가
Bitnami Helm 차트는 프로덕션급 Postgres·RabbitMQ·Redis를 한 줄로 띄워주던 무료 지름길이었다. 그런데 2025년 라이선스 변경으로 무료 사용이 크게 제약됐다. 무료 인프라를 목표로 할 때 이게 무슨…
-
[인프라 자동화] Provider 계층만 교체한다 — 인프라에 적용한 Hexagonal과 ‘무료가 기본값’인 스킬 설계
GKE에서 OKE로 갈아탔는데 ArgoCD·Traefik·배포 스크립트는 한 줄도 안 바꿨다. 인프라 자동화 스킬을 Hexagonal 포트/어댑터로 설계해 클라우드 provider 계층만 교체하는 법, 실수로 과금되지 않도록 ‘무료를 기본값’으로…
-
[OKE 인프라 학습 시리즈] arm64 노드에 실제 서비스 얹기 — 무료 OKE 배포에서 부딪힌 함정들
무료 A1(arm64) 단일 노드에 Go 채팅 백엔드 8개 pod를 얹으며 실제로 부딪힌 것들. cri-o의 short-name 거부, RabbitMQ의 deprecated env로 인한 부팅 실패, WebSocket을 위한 sessionAffinity·graceful…
-
Docker 핵심 개념 — Dockerfile·Image·Container를 Class·인스턴스로 이해하기
Docker의 세 개념(Dockerfile→Image→Container)은 OOP의 소스코드→Class→Object 구조와 정확히 대응된다. 이미지는 불변 산출물, 컨테이너는 살아있는 프로세스. Dockerfile 명령어, docker build/run/exec, docker-compose로 멀티 컨테이너 구성까지 핵심만 정리.
-
“마이그레이션이 잘 됐다”는 어떻게 증명하는가 — 5가지 필수 항목
“마이그레이션이 잘 됐다”는 말은 증명되어야 합니다. 핵심 세 축: 숫자로 일치한다(Row Count) + 샘플로 일치한다(Checksum) + 실패가 없다(0건 명시). 여기에 엣지 케이스 확인과 운영 영향…
-
[WebRTC 디버깅] ‘끊긴다’ 현상이 보일 때 보는 5가지
결론 먼저 — 5축 체크리스트 축 본다 도구 1. ICE 상태 iceConnectionState 천이 로그 chrome://webrtc-internals 2. 네트워크 품질 RTT, jitter, packet loss getStats() 3. 디바이스…