푸른영혼의 별 | Tech Blog
Java Backend Engineer의 기술 블로그입니다.
Spring Boot, MSA, JPA, Kafka, Kubernetes 등 실무 경험을 공유합니다.
주요 프로젝트: Settlement MSA · ASAT · GitHub
Posts (총 1371편 · 128 / 138 페이지)
-
Dell R730XD iDRAC 첫 셋업 — 전용 포트·DHCP·600초 잠금·F2 리셋·모뎀 직결의 함정 5종
홈랩 K3s 클러스터 6번째 노드로 중고 Dell PowerEdge R730XD 한 대를 들였다. 489,000원에 20코어 / 40스레드 / 16GB DDR4 / iDRAC 8 Enterprise / X540 quad-port NIC — 가성비는 미친 가격인데, iDRAC 첫 셋업 에서 다섯 군데서 막혔다. 매번 “이게 진짜 안 되는 건가?” 싶었지만, 결국 전부 문서엔 잘 안 나오는 함정 이었다.
-
Grafana 사용법 — *메트릭·트레이스·로그* 를 한 화면에서 가로지르는 방법 (4 datasource 통합 구성 + Explore + Alerting 실전)
Grafana 를 '’대시보드 보는 곳’’ 으로만 쓴다면 절반밖에 못 쓴 거다. 진짜 가치는 Explore 에 있다. 메트릭에서 이상 신호를 보고, 클릭 한 번 으로 그 시점의 트레이스를 보고, 또 한 번 으로 그 트레이스의 로그를 보는 흐름이 5초 안에 끝나야 한다. 이 글은 그 흐름을 어떻게 구성하고 어떻게 활용하는가 를, 실제 K3s 홈랩 + Spring Boot 4 워크로드 위에서 정리한 글이다.
-
ping 안 되면 서버 죽었다? — 새벽 3시 디버그가 가르쳐준 ICMP·TCP 기초
사설망 주소는
<lan>·<mgmt>로 가렸다. 호스트 옥텟과 각 줄의 의미는 원본 실측 그대로다. -
Spring AOP — 무대 감독의 시선으로: 면접에서 점수 따는 답변과, 시니어가 *현장에서 다친 흔적*
연극 무대를 상상해보세요. 배우(핵심 로직)는 연기에만 집중해야 합니다. 만약 배우가 직접 조명을 켜고, 배경 음악을 틀고, 퇴장할 때 막을 내린다면 연극이 엉망이 될 것입니다. AOP 는 무대 감독(Aspect)처럼, 배우가 언제 등장하고 퇴장하는지(Pointcut)를 지켜보다가, 적절한 타이밍에 조명과 음향(Advice)을 틀어주는 역할을 합니다.
-
K3s 3노드 etcd HA 복구 — cluster-reset 후 노드 재가입 4단계 (단순 db 삭제만으론 안 됨)
홈랩 K3s 클러스터 (3 control-plane + 2 worker, embedded etcd HA) 가 새벽 작업 cascade 끝에 죽었다. 두 control-plane 이
"bootstrap data already found and encrypted with different token"에러로 부팅 실패 루프. 살아남은 1 노드의 API 도 etcd quorum 없어서 timeout. -
K3s logs-es-cold 가 4 시간 Pending 이던 이유 — nodeSelector 만 있고 toleration 이 빠진 함정
K3s 홈랩의 logs-es-cold-0 (Elasticsearch cold tier) 가 4 시간 32 분 Pending 으로 떠있었다. PVC 도 bound 되어 있고, target node (solomon) 는 Ready 였다. 그런데도 scheduler 가 거부.
-
K3s + ufw — Ubuntu 노드 재부팅 후 cluster overlay 가 죽는 함정
사설망 주소는
<lan>·<mgmt>로 가렸다. 호스트 옥텟과 각 줄의 의미는 원본 실측 그대로다. -
bitnami/kubectl 이 Docker Hub 에서 사라진 사건 + *미봉책의 수명* — pod-restart-cleanup CronJob 폐기 회고
pod-restart-cleanup이라는 CronJob 이ImagePullBackOff였다. 5월 초까지는 잘 도는 CronJob 이었는데 어느 날부터 이미지를 찾을 수 없다고 한다. 디버깅을 시작하기 직전에 잠시 멈추고 '’이 CronJob 이 왜 존재했지?’’ 라고 물어보니, 그 존재 이유가 이미 사라졌다는 사실을 깨달았다. 수정 이 아니라 폐기 가 정답인 케이스였다. -
노드 IP 가 DHCP 로 매번 바뀐다 — NetworkManager 로 *유선/무선 둘 다 같은 정적 IP* 박기 + k3s --node-ip 명시 + autoconnect-priority 페일오버
사설망 주소는
<lan>·<mgmt>로 가렸다. 호스트 옥텟과 각 줄의 의미는 원본 실측 그대로다. -
kubeconfig 가 가리킨 control-plane 이 죽었다 + etcd 가 *죽은 멤버에게 raft heartbeat* 를 보내느라 클러스터가 2초씩 느려졌다
사설망 주소는
<lan>·<mgmt>로 가렸다. 호스트 옥텟과 각 줄의 의미는 원본 실측 그대로다.