Infra
인프라, 오케스트레이션, CI/CD, 컨테이너, Kubernetes, Airflow
-
[쿠버네티스 SMTP #1] Postal이냐 Stalwart냐 — 메일함까지 만들기로 하니 답이 하나로 좁혀졌다
예전에 C++로 짠 SMTP 클라이언트로 네이버에, Node.js로 다시 짜서 Gmail에 보냈는데 두 번 다 스팸함으로 갔습니다. 언어도 구현도 수신처도 다른데 결과가 같았다는 게 원인을 가리키는…
-
SMTP·POP3·IMAP·JMAP는 각각 무엇을 하나 — 메일함이 있다는 말의 정확한 뜻
메일 클라이언트 설정 화면의 ‘POP3/SMTP’와 ‘IMAP/SMTP’는 무엇이 다른가. 보내는 프로토콜은 하나뿐이고 읽는 프로토콜이 셋이라는 구도를 잡으면 나머지가 정리됩니다. JMAP이 IMAP의 무엇을 고쳤는지, Sieve·LMTP·CalDAV 같은 주변…
-
[메일 인프라] Postfix·OpenSMTPD·Haraka·Mailu·Mailcow는 각각 무엇을 맡나 — 리눅스 프로세스 트리로 본 메일 서버 지형도
메일 서버를 직접 띄우려고 검색하면 Postfix·Haraka·OpenSMTPD·Mailu·Mailcow가 한 줄에 나열되지만, 이들은 경쟁 관계가 아니라 서로 다른 층에 있습니다. 세 MTA를 리눅스 컨테이너에서 실제로 띄워 프로세스 트리·스레드…
-
[홈랩 검증기] 안전장치가 안전하지 않았습니다 — Vault로 평문 Secret 11개를 걷어낸 기록
집 서버의 평문 Secret 11개를 HashiCorp Vault로 옮겼습니다. 그런데 정작 기록에 남을 만한 것은 이행 자체가 아니라, 그 과정에서 안전을 보장한다고 믿었던 장치들이 하나씩 제…
-
[홈랩 검증기] TCP는 붙는데 HTTP만 죽었다 — Cilium L7 프록시를 계층별로 배제한 기록
HTTP readiness probe를 쓰는 파드 9개만 동시에 NotReady가 됐습니다. exec·tcp probe 파드는 멀쩡했고 DNS도 서비스 VIP도 정상이었습니다. TCP는 붙는데 HTTP 응답만 오지 않는 상태를 계층별로…
-
[홈랩 검증기] 파드를 지워도 데이터는 남아 있었다 — PVC로 옮기기 전에 틀린 전제 두 개를 찾은 이야기
집 서버의 Postgres를 PVC로 옮기려다 전제 두 개가 연달아 틀렸습니다. hostPath는 이미 영속이었고, 데이터가 있던 디스크도 제가 본 것과 달랐습니다. 두 번째 오독을 잡지 못했다면…
-
홈서버 하나로 관측성부터 GitOps까지 — Prometheus·Loki·Tempo·Grafana, eBPF 실패와 Linkerd, ArgoCD 편입 실전기
집에 굴리는 서버 PC 한 대에 관측성 스택을 세우고 보안 게이팅과 GitOps까지 밀어붙인 기록. 디스크 14GB 제약 안에서의 스택 구성, 같은 데이터로 재현한 APM 대시보드…
-
[로컬 서버 운영기] 이관 뒤가 진짜다 — 백업 cron이 조용히 깨진 이야기
인프라를 옮기면 서비스만 이사하는 게 아닙니다. 거기 매달린 백업·모니터링 같은 운영 작업도 함께 깨집니다 — 그것도 조용히. Postgres가 Docker 컨테이너에서 K3s Pod로 바뀌자 docker exec로…
-
[로컬 서버 운영기] Docker Compose에서 K3s로 — 집 서버 쿠버네티스 이주기
잘 도는 Docker Compose 스택을 굳이 K3s로 옮길 이유가 있을까요. 단일 노드라도 선언형 배포와 셀프힐링은 매력적입니다. 서비스 이름을 그대로 유지해 이관 표면적을 줄인 방법과, 집…
-
[로컬 서버 운영기] 집 PC를 공개 서버로 — 포트 하나 열지 않고 도메인 붙이기
집에 있는 PC 한 대로 실서비스를 공개하려면 보통 공유기 포트포워딩과 고정 IP를 떠올립니다. 하지만 아웃바운드 터널(Cloudflare Tunnel)을 쓰면 인바운드 포트를 하나도 열지 않고 도메인을 붙일…