Files
document-haness/docs/keycloak-session-store/final/assets/lab-topology/lab-topology.alt.md
T

1.6 KiB
Raw Blame History

실험대의 구성

Alternative text

test-server 호스트의 nginx 가 kc-lab-1 의 traefik 으로 프록시하고, 그 아래 두 VM 에 Keycloak 과 데이터 저장소가 나뉘어 있는 구성.

Long description

베어메탈 test-server 위에 VM 두 대를 올렸다. kc-lab-1 이 k3s server 이자 컨트롤 플레인이고 keycloak-1 이 여기 있다. kc-lab-2 는 agent 이며 keycloak-0 과 PostgreSQL, Redis 가 함께 있다. 저장소가 한 노드에 몰려 있어 그 노드를 잃으면 DB 도 같이 잃는다. 호스트 nginx 가 Let's Encrypt 인증서로 TLS 를 끝내고 traefik 으로 넘기며, 인증서 하나에 auth·app1·app2 세 이름이 SAN 으로 들어 있다.

Elements and evidence

  • 호스트 nginx (gateway): Let's Encrypt 인증서로 TLS 를 끝내고 traefik 으로 넘긴다. Evidence: L123L127.
  • traefik (kc-lab-1) (gateway): k3s 의 인그레스. 호스트 이름으로 서비스를 고른다. Evidence: L120L122.
  • keycloak-1 (service): 컨트롤 플레인 노드에 있다. Evidence: L120L120.
  • keycloak-0 (service): 저장소와 같은 노드에 있다. Evidence: L122L122.
  • PostgreSQL · Redis (datastore): 둘 다 kc-lab-2 에 있다. 이 노드를 잃으면 저장소도 같이 잃는다. Evidence: L122L122.

Relationships

  • keycloak-0 → PostgreSQL · Redis: 같은 노드. Evidence: L122L122.
  • 호스트 nginx → traefik (kc-lab-1): TLS 종단. Evidence: L123L127.
  • traefik (kc-lab-1) → keycloak-0: 라우팅. Evidence: L120L122.
  • traefik (kc-lab-1) → keycloak-1: 라우팅. Evidence: L120L122.