푸른영혼의 별 | Tech Blog
Java Backend Engineer의 기술 블로그입니다.
Spring Boot, MSA, JPA, Kafka, Kubernetes 등 실무 경험을 공유합니다.
주요 프로젝트: Settlement MSA · ASAT · GitHub
Posts (총 1666편 · 163 / 167 페이지)
-
CVE 패치 일괄 작업 — Netty 4.1.119 → 4.1.133 을 BOM 한 줄로 잡은 이야기
Trivy CI 가 매일 SARIF 를 뱉으면서 4 개 백엔드 서비스에 Netty CVE 12 개 가 빨간 줄로 뜨고 있었습니다. 단순한 패치 같았는데 첫 시도(PR #1) 가 실패했고, 두 번째(PR #2) 에서 BOM 패턴으로 잡았습니다. 그 과정 정리.
-
K3s 실전 3편 — LimitRange / ResourceQuota / PriorityClass 로 OOM 방어
2편 에서 솔로몬에 DB 8 개를 박았습니다. 이제 진짜 무서운 건 OOM 으로 DB 가 죽는 일 입니다. 메모리 burst 한 앱이 솔로몬을 압박하면 PostgreSQL 이 evict 당해버려요. 이걸 막기 위해 K3s 클러스터 전체에 3가지 거버넌스 를 깔았습니다.
-
K3s 실전 2편 — 디스크 큰 노드(Solomon)에 DB 8개 몰빵하기
1편 에서 솔로몬을 storage tier 로 정했습니다. 이번 글은 그 솔로몬에 PostgreSQL 8 개를 StatefulSet 으로 박는 과정 을 정리합니다. local-path-provisioner 의
nodePathMap,WaitForFirstConsumer,Retain같은 키워드가 핵심입니다. -
K3s 실전 1편 — 5대 서버 K3s 클러스터를 4-Tier로 쪼개기
집에 굴러다니는 미니 PC 와 노트북을 모아 5대 서버 K3s 클러스터 를 만들었습니다. 처음에는 그냥 다 워커로 묶었는데 한 노드에 죄다 몰리는 문제가 생겨서, 결국 4-Tier 역할 분리 로 다시 설계했습니다. 이 글은 그 과정과 최종 구도를 정리합니다.
-
K3s 가 ghcr.io 의 private 이미지를 pull 못 할 때 — PAT 등록이 표준
GitHub Actions 가
ghcr.io/myoungsoo7/dart-analytics:latest를 잘 push 했는데, K3s 가unauthorized: 403 Forbidden으로 pull 못 합니다. “패키지를 public 으로 바꾸면 되는데” 하는 빠른 해결책도 있지만, 운영 클러스터에서는 Personal Access Token(PAT) 을 K3s 에 등록 하는 게 표준입니다. 둘의 차이와 K3s 의 docker/containerd 런타임별 등록 방법을 정리합니다. -
K3s flannel cross-node 가 안 될 때 — ufw 8472/UDP 함정
K3s 클러스터에서 Pod-to-Pod 통신이 안 됐습니다. cross-node Service DNS 도 안 됐고, ClusterIP 로 가는 TCP 도 timeout. 처음에는 NodeLocal DNS 의 문제라고 생각했는데, 진짜 원인은 ufw 가 flannel VXLAN port 8472/UDP 를 막고 있었던 것 이었습니다. 한 노드만 그래도 클러스터 전체가 망가집니다.
-
쿠버네티스 3일차 — ConfigMap / Secret / Volume / PVC
2일차 까지 우리는 Pod 를 띄우고 Service 로 노출 하는 법을 배웠습니다. 그런데 진짜 운영에서는 두 가지가 더 필요합니다.
-
쿠버네티스 2일차 — Pod / Deployment / Service / Ingress 4종 세트
1일차 에서는 클러스터 안에 누가 사는지 봤습니다. 2일차는 그 클러스터 위에 내 앱을 올리는 데 필요한 4가지 오브젝트 를 직접 만들어보면서 익힙니다.
-
TypeScript + Next.js 15 풀스택 1일차 — App Router 첫 페이지
이 시리즈는 르무엘이 jen.lemuel.co.kr (커머스) + academy.lemuel.co.kr (영상 강의) 를 만들면서 정리한 7일 노트입니다.
-
온체인 개발 입문 1일차 — Solidity + Hardhat 첫 컨트랙트
이 시리즈는 르무엘이
$LMULERC-20 + Academy NFT 수료증 + USDC 결제 컨트랙트를 만들면서 정리한 7일 노트입니다.