fix(setup): 실험대를 새로 세워 setup 35편을 밟고 어긋난 명령과 결과를 고친다

기반 가이드 7단계로 실험대를 철거하고 다시 세운 뒤 virtualization setup 9편과
keycloak-session-store 26편을 순서대로 밟았다. 24편은 끝까지, 11편은 되는 데까지
밟았고 밟은 범위를 편마다 적었다.

명령이 못 도는 것을 고쳤다.

- kubectl 을 `kc-lab-1` 에서 치라고 적었는데 그 기계에 kubeconfig 가 없다.
  라벨 639개와 각 편의 「어디서 치는가」를 `[lab host]` 로 옮겼다
- `-o custom-columns=…[0]…` 이 zsh 에서 글로브로 읽혀 안 돈다. 28곳에 따옴표
- busybox `sed` 가 끝 개행을 안 붙여 A-3 의 측정이 언제나 0 이었다
- `--token-file ~/node-token` 뒤에 그 파일을 지우면 k3s agent 가 재부팅을
  못 견딘다. `/etc/rancher/node-token` 으로 옮기는 처방을 재서 넣었다
- 게스트에 없는 도구를 전제로 한 명령 넷 — `conntrack`·`dig`·`strings`·`nginx -v`
- `echo` 와 JWT 헤더가 `"이름" : [ 값 ]` 으로 찍는데 문서는 공백 없이 옮겨 적어
  그 실측으로 만든 grep·sed 가 한 줄도 못 잡는다
- B-0 이 `directAccessGrantsEnabled` 와 계정 완성을 빠뜨려 B-3 이 못 돈다
- D-4·D-4a 가 `test-server` 와 `certbot-renew.*` 를 가리키는데 실제로는
  `kc-lab-edge` 의 `certbot.service` 다
- `virsh setmaxmem --config` 를 `dominfo` 로 판정하면 틀린다. `--inactive` 로
- `LIBVIRT_DEFAULT_URI` 를 rc 에만 넣으면 `ssh host '명령'` 에서 안 먹는다

결과가 조건부인 것을 갈랐다.

- readiness 는 즉시 안 뒤집힌다. A-1·A-2 의 60초 창을 적었다
- 03 의 층 ②③ `301` 은 04 이후의 값이고 그 단계에서는 `404` 다
- A-0 의 로그 필터를 요청 직후에 치면 정반대 결론이 나온다
- A-5 의 한 방향 차단은 잠깐 `1` 이었다 `2` 로 돌아온다

증거는 두 프로젝트의 `evidence/raw/` 에 99벌을 README 와 함께 남겼다. 비밀은
길이만 적었고 화면에 찍힌 토큰은 가렸다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
DongHyeonka
2026-09-17 15:59:42 +09:00
co-authored by Claude Opus 5
parent ab59130196
commit 024362d096
197 changed files with 8336 additions and 960 deletions
@@ -0,0 +1,32 @@
=== 0d-① 문장 로깅을 켠다 ===
ALTER SYSTEM
ALTER SYSTEM
pg_reload_conf
----------------
t
(1 row)
=== 0d-② 적용됐는지 읽는다 ===
log_statement
---------------
all
(1 row)
log_line_prefix
-----------------
%m [%p] %h
(1 row)
K0=10.42.1.7 K1=10.42.0.13
=== 0d-③ 로그인 한 번 · 반대편에서 refresh 한 번 ===
SID=wITYiY7I4t8Ovy9wzwM1ewOA
REFRESH_ON_K1=200
=== 반대편 노드가 날린 문장만 ===
2026-09-17 04:47:30.547 UTC [916] 10.42.0.13 LOG: execute <unnamed>: SELECT address, name, ip, coord, coordinated_by, last_update FROM JGROUPS_PING WHERE cluster_name=$1
=== 그 sid 가 들어간 줄만 120자씩 ===
2026-09-17 04:47:31.285 UTC [948] 10.42.1.7 DETAIL: parameters: $1 = '0', $2 = 'wITYiY7I4t8Ovy9wzwM1ewOA'
2026-09-17 04:47:31.288 UTC [948] 10.42.1.7 DETAIL: parameters: $1 = '2d7893fb-6003-4f0e-b6a8-d6e7e9e8fa25', $2 = 'loca
2026-09-17 04:47:31.294 UTC [948] 10.42.1.7 DETAIL: parameters: $1 = '0', $2 = 'wITYiY7I4t8Ovy9wzwM1ewOA'
2026-09-17 04:47:31.295 UTC [948] 10.42.1.7 DETAIL: parameters: $1 = '2d7893fb-6003-4f0e-b6a8-d6e7e9e8fa25', $2 = 'loca
2026-09-17 04:47:31.296 UTC [948] 10.42.1.7 DETAIL: parameters: $1 = NULL, $2 = '1789620451', $3 = '{"ipAddress":"10.42
2026-09-17 04:47:31.296 UTC [948] 10.42.1.7 DETAIL: parameters: $1 = '{"authMethod":"openid-connect","notes":{"clientId