푸른영혼의 별 | Tech Blog

Java Backend Engineer의 기술 블로그입니다.
Spring Boot, MSA, JPA, Kafka, Kubernetes 등 실무 경험을 공유합니다.

주요 프로젝트: Settlement MSA · ASAT · GitHub


Posts (총 57편 · 1 / 6 페이지)

  • K3s NodePort 충돌 디버깅 — "Employee Report 가 ASAT 도메인에 나오는 이유"

    청각 재활 사이트 (eln.lemuel.co.kr) 에 들어갔는데 갑자기 Employee Report 라는 페이지가 뜸. 모든 게 정상 같은데 콘텐츠가 다른 이상한 버그. NodePort 충돌이 어떻게 다른 Service 의 응답을 만들어내는지, 어떻게 추적했는지 정리.

  • K3s local-path-provisioner 에 4TB HDD 통합 — configmap 자동 복원 우회하기

    K3s 의 default storage class local-path/var/lib/rancher/k3s/storage 에 PVC 를 만듭니다. 일원 노드에 4TB HDD 를 새로 장착한 김에 모든 ilwon PVC 를 HDD 에 자동 할당하도록 통합한 기록입니다. 처음 ConfigMap 수정 방식이 K3s addon 매니지드 라서 자동 복원되는 함정도 같이.

  • Spring Boot 4 의존성 지옥 디버깅 후기 — Spring AI / SpringDoc / classpath leakage

    K3s 이관 작업 중 Spring Boot 4.0.4 로 마이그레이션된 3 개 프로젝트 (sparta-msa, sns-portfolio, shopping-lowprice) 가 전부 다른 방식으로 실패하는 걸 디버깅한 기록입니다. 사진: 깨끗하게 잘 도는 SB 3 으로 다운그레이드가 정답이었다.

  • AWS Lightsail → 5-노드 온프레미스 K3s 이관 — 월 $30 비용 0 으로

    서울 리전 Lightsail 2 인스턴스 (르무엘클라우드 + 포트폴리오클라우드) 에서 굴러가던 7 개 컨테이너 워크로드를 온프레미스 K3s 클러스터로 이관하고 인스턴스를 종료했습니다. 월 $24-30 비용 절감 + 모든 워크로드가 GitOps 로 통일된 후기.

  • WiFi 3-NIC + bash watchdog 로 K3s 노드 floating VIP failover — 2014 Mac Mini 살리기

    2014년산 Mac Mini (솔로몬) 의 내장 WiFi 가 무작위로 끊겨서 K3s 노드가 NotReady 되는 일이 반복됐습니다. WiFi 동글 2 개 추가 (AX900 / A3000UA) + 자체 bash watchdog 로 192.168.219.108 floating VIP 페일오버 구현. keepalived 가 단일 호스트 다중 NIC 시나리오에 맞지 않아서 직접 만든 기록입니다.

  • K3s 3-Master HA — SQLite → embedded etcd 18분 in-place 마이그레이션 후기

    22일 운영 중인 single-master K3s 클러스터를 18분 다운타임 으로 3-master HA 로 전환했습니다. 백엔드는 SQLite → embedded etcd. 공식 문서에는 “지원 안 함” 으로 적혀있는 in-place 마이그레이션을 시도해서 성공시킨 기록입니다. 4 개의 실전 트러블도 같이 정리합니다.

  • 쿠버네티스 4일차 — 무중단 배포 (RollingUpdate / Canary / Blue-Green)

    3일차까지 우리는 앱을 띄우고, 노출하고, 데이터까지 붙였습니다. 이제 진짜 운영 기술 — 새 버전을 어떻게 끊김 없이 갈아끼우나 — 를 봅니다.

  • docker compose → K3s 마이그, 9개 서비스 실전 후기 — 고심한 것, 차이, 장단점

    홈랩 K3s 5 노드 클러스터에 docker compose 로 굴러가던 서비스 9 개를 하루 안에 옮겼습니다 (cost / dart / pilgrim / data / report / fashion / goods / grid / academy). 그 과정에서 진짜로 고민한 것들, docker compose 와 K3s 가 운영상 어떻게 다른지, 각각의 장단점을 정리합니다. “K8s 가 다 좋다” 가 아니라 “언제 어떤 게 더 나은지” 의 관점입니다.

  • K3s NodeLocal DNS — Pod 가 Service 이름을 못 풀 때, 진짜 원인은 forward loop

    오늘 K3s 5 노드 클러스터에서 Pod 가 Service 이름을 DNS resolve 못 하는 문제를 추적했습니다. 8 케이스 마이그를 IP 직접 사용으로 우회하고 있었는데, ArgoCD 자동 sync 가 같은 이유로 실패하는 걸 보고 근본 해결에 들어갔습니다. 진짜 원인은 NodeLocal DNS 의 forward loop 였습니다.

  • DDR3 사기 직전에 멈춘 이야기 — DDR4 RAM 호환성 5분 점검법

    K3s 워커 노드 하나(일원, i7-8700) 의 RAM 을 14GB → 32GB 로 늘리려고 쿠팡에서 “DDR3 8GB 28,900원” 을 보고 거의 클릭할 뻔했습니다. 그런데 i7-8700 은 DDR4 만 쓴다. DDR3 사면 슬롯에 안 들어가서 그냥 버리는 28,900원 입니다.