# 유령 행을 지운 쪽과 그 시각 ## Alternative text kubectl 이 강제 종료한 Keycloak 노드가 클러스터에서 빠지고, 남은 노드가 JGROUPS_PING 의 행을 지운 뒤 다른 이름의 새 노드가 합류하는 시간 순서. ## Long description 왼쪽부터 kubectl, keycloak-0-60375, keycloak-1-36736, JGROUPS_PING, keycloak-0-16105 다섯 참여자가 생명선으로 선다. 1번 메시지에서 kubectl 이 keycloak-0-60375 를 --grace-period=0 --force 로 끊는다. 2번에서 07:40:28 에 남은 노드 keycloak-1-36736 의 뷰에서 그 노드가 빠진다. 3번이 이 그림의 중심이다 — 같은 07:40:28 에 JGROUPS_PING 의 행을 지우는 화살표가 keycloak-1-36736 에서 나온다. 강제 종료로 이미 끊긴 keycloak-0-60375 의 생명선에서는 테이블로 가는 화살표가 없다. 4번에서 20초 뒤 07:40:48 에 keycloak-0-16105 가 합류한다. 돌아온 노드의 이름은 접두사 keycloak-0 만 같고 접미사가 다르다. ## Elements and evidence - **kubectl** (participant): 파드를 정상 종료와 강제 종료로 끊는 쪽. Evidence: L886–L888. - **keycloak-0-60375** (participant): 강제 종료로 끊긴 노드. 자기 행을 지우고 나갈 틈이 없다. Evidence: L898–L901. - **keycloak-1-36736** (participant): 남아 있는 코디네이터. 정리 주체다. Evidence: L914–L916. - **JGROUPS_PING** (participant): 노드 행이 등록되는 발견 테이블. Evidence: L888–L888. - **keycloak-0-16105** (participant): 복구 뒤 올라온 노드. 접두사만 같다. Evidence: L918–L920. ## Relationships - **kubectl → keycloak-0-60375:** delete pod --force. Evidence: L886–L888. - **keycloak-0-60375 → keycloak-1-36736:** 이탈 07:40:28. Evidence: L906–L907. - **keycloak-1-36736 → JGROUPS_PING:** 행 삭제 07:40:28. Evidence: L897–L898, L914–L916. - **keycloak-0-16105 → keycloak-1-36736:** 합류 07:40:48. Evidence: L908–L909.