~/devops-blog on ⎇ main | ghost

인프라를 코드로.
복잡성을 단순하게.

Kubernetes, Linux, Network, Observability — 직접 구축하고 운영하며 마주친 문제와 검증한 해법을 기록합니다. Evidence over assumptions.

58Posts
20RCA Notes
15Incidents
79Topics
TOPICS ALL Kubernetes27 RCA20 DevOps16 Troubleshooting15 MeetBack14 Network8 Linux7 Observability7 Infrastructure7 AIOps7 Node Agent7 Audit6 Security6 Spring Boot6

LATEST FIELD NOTES

운영 과정에서 남긴 최신 기록

updated 2026.09.08

RAID5

RAID5 NFS와 백업에서 권한 거부를 해결한 과정

MeetBack에는 사용자가 올리는 이미지와 첨부파일이 있다. App replica가 어느 Worker에서 실행되더라도 같은 파일을 봐야 한다. DB backup과 service log도 별도 장비에 보관해야 했다. 나는 NFS를 두 역할로 나눴다.

6 min read
MySQL

VyOS 뒤에 MySQL Primary Replica를 격리한 이유

초기에는 DB도 애플리케이션과 같은 서비스망에 있었다. 구축은 쉬웠지만 application traffic, 관리 traffic, replication traffic의 경계가 흐렸다. 나는 DB 두 대를 별도 subnet으로 옮기고 VyOS를 통해 필요한 노드만 접근하도록

6 min read
Docker

main 변경분을 운영 이미지로 배포하기까지

프로젝트 막바지에는 main이 여러 번 바뀌었다. 나는 “최신 코드를 받았으니 바로 build”하지 않았다. 소스 동기화, 일회용 DB 테스트, image 추적, registry 배포, stack update, 외부 readiness를 하나의

7 min read
Docker Swarm

정적 IP 전환부터 Docker Swarm 5노드까지

Docker Swarm을 구성하기 전에 나는 먼저 네트워크를 고정해야 했다. Cluster node 주소, DB route, NFS export, monitoring target이 모두 IP에 의존하기 때문이다. 이 단계에서 가장 큰 실수는 “Ubuntu니까

6 min read
STACK
Kubernetesorchestration
R2RKE2distribution
Ciliumnetwork · eBPF
TSTailscaleprivate routing
Prometheusmetrics
Grafanaobservability
Ghostpublishing
$_Linuxplatform