1.6 KiB
1.6 KiB
실험대의 구성
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: L123–L127.
- traefik (kc-lab-1) (gateway): k3s 의 인그레스. 호스트 이름으로 서비스를 고른다. Evidence: L120–L122.
- keycloak-1 (service): 컨트롤 플레인 노드에 있다. Evidence: L120–L120.
- keycloak-0 (service): 저장소와 같은 노드에 있다. Evidence: L122–L122.
- PostgreSQL · Redis (datastore): 둘 다 kc-lab-2 에 있다. 이 노드를 잃으면 저장소도 같이 잃는다. Evidence: L122–L122.
Relationships
- keycloak-0 → PostgreSQL · Redis: 같은 노드. Evidence: L122–L122.
- 호스트 nginx → traefik (kc-lab-1): TLS 종단. Evidence: L123–L127.
- traefik (kc-lab-1) → keycloak-0: 라우팅. Evidence: L120–L122.
- traefik (kc-lab-1) → keycloak-1: 라우팅. Evidence: L120–L122.