infra: 서울존 K3s 3노드 클러스터 구성 반영 (hp2/kr1/kr2)
- incus-hp2 서버 추가, OpenWrt HAProxy 라우터 추가 - 서울 K3s 클러스터 섹션 신설 (v1.34.5+k3s1, 3 control-plane) - APISIX를 K3s 클러스터로 이전, ArgoCD/cert-manager 추가 - Vault upstream IP 수정 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,10 +1,14 @@
|
|||||||
---
|
---
|
||||||
title: APISIX 설정 및 운영
|
title: APISIX 설정 및 운영
|
||||||
updated: 2026-03-17
|
updated: 2026-03-18
|
||||||
---
|
---
|
||||||
|
|
||||||
## 아키텍처
|
## 아키텍처
|
||||||
|
|
||||||
|
서울 K3s 클러스터 구성: 고객 도메인 → [[cloudflare]](DNS) → OpenWrt HAProxy (80/443) → K3s NodePort (32020/30675) → APISIX Gateway → 서비스
|
||||||
|
|
||||||
|
오사카 구성: 고객 도메인 → [[cloudflare]](DNS) → [[crowdsec-safeline|SafeLine WAF]] → APISIX(라우팅) → 고객 오리진
|
||||||
|
|
||||||
3개의 독립 APISIX 인스턴스. kr1의 Docker APISIX는 2026-03-15 제거 완료.
|
3개의 독립 APISIX 인스턴스. kr1의 Docker APISIX는 2026-03-15 제거 완료.
|
||||||
|
|
||||||
### 서울 relay (relay4wd)
|
### 서울 relay (relay4wd)
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
---
|
---
|
||||||
title: 인프라 호스트 및 네트워크
|
title: 인프라 호스트 및 네트워크
|
||||||
updated: 2026-03-17
|
updated: 2026-03-18
|
||||||
tags: [infra, network, kr-zone, openwrt]
|
tags: [infra, network, kr-zone, openwrt]
|
||||||
---
|
---
|
||||||
|
|
||||||
## SSH 접속 정보
|
## SSH 접속 정보
|
||||||
|
|
||||||
인프라 호스트 SSH 접속 정보: incus-jp1 (공인 42.125.196.116, Tailscale 100.109.123.1), incus-kr1 (공인 220.120.65.245, Tailscale 100.84.111.28), osaka(gw) (ssh root@100.108.39.107, 공인 172.233.93.180), Synology NAS (SSH 불가, Tailscale 100.126.100.82)
|
인프라 호스트 SSH 접속 정보: incus-jp1 (공인 42.125.196.116, Tailscale 100.109.123.1), incus-kr1 (공인 220.120.65.245, Tailscale 100.84.111.28), incus-hp2 (Tailscale 100.100.52.34), osaka(gw) (ssh root@100.108.39.107, 공인 172.233.93.180), Synology NAS (SSH 불가, Tailscale 100.126.100.82)
|
||||||
|
|
||||||
## 서버 상세
|
## 서버 상세
|
||||||
|
|
||||||
@@ -14,23 +14,43 @@ tags: [infra, network, kr-zone, openwrt]
|
|||||||
|-----------|-------------|------|------|
|
|-----------|-------------|------|------|
|
||||||
| apisix-osaka | 100.108.39.107 | [[apisix]] API Gateway (오사카) | SSH 직접 접속 |
|
| apisix-osaka | 100.108.39.107 | [[apisix]] API Gateway (오사카) | SSH 직접 접속 |
|
||||||
| incus-jp1 | 100.109.123.1 | Incus 호스트 (도쿄) | monitoring, db, default 프로젝트 |
|
| incus-jp1 | 100.109.123.1 | Incus 호스트 (도쿄) | monitoring, db, default 프로젝트 |
|
||||||
| incus-kr1 | 100.84.111.28 | Incus 호스트 (서울) | default, inbest, karakeep, security 프로젝트 |
|
| incus-kr1 | 100.84.111.28 | Incus+K3s 호스트 (서울) | default, inbest 프로젝트, K3s control-plane (LAN 192.168.9.214) |
|
||||||
| incus-kr2 | 100.119.109.41 | Incus+K3s 호스트 (서울) | Ryzen 9 6900HX, 24GB RAM, Radeon 680M, Ollama, K3s |
|
| incus-kr2 | 100.119.109.41 | Incus+K3s 호스트 (서울) | default, inbest 프로젝트, K3s control-plane (LAN 192.168.9.135) |
|
||||||
|
| incus-hp2 | 100.100.52.34 | Incus+K3s 호스트 (서울) | Xeon E5-2670 32코어, 188GB RAM, K3s control-plane (LAN 192.168.9.134), default, inbest 프로젝트 |
|
||||||
|
| openwrt-gw | 100.66.60.66 | OpenWrt 라우터 (서울) | HAProxy: 80/443 → K3s NodePort → APISIX |
|
||||||
| sandbox-tokyo | 100.79.87.48 | 테스트 서버 (도쿄, Linode) | |
|
| sandbox-tokyo | 100.79.87.48 | 테스트 서버 (도쿄, Linode) | |
|
||||||
| relay4wd | 100.120.61.54 | APISIX Gateway (서울, AWS) | inbest 전용, Docker APISIX |
|
| relay4wd | 100.120.61.54 | APISIX Gateway (서울, AWS) | inbest 전용, Docker APISIX |
|
||||||
| safeline-osaka | 100.100.212.6 | SafeLine WAF (오사카, Linode) | |
|
| safeline-osaka | 100.100.212.6 | SafeLine WAF (오사카, Linode) | |
|
||||||
| synology | 100.126.100.82 | NAS (시놀로지) | |
|
| synology | 100.126.100.82 | NAS (시놀로지) | |
|
||||||
|
|
||||||
|
## 서울 K3s 클러스터
|
||||||
|
|
||||||
|
서울존 3대(hp2, kr1, kr2)를 K3s v1.34.5+k3s1 클러스터로 구성. 모두 control-plane 역할.
|
||||||
|
|
||||||
|
| 노드 | LAN IP | OS |
|
||||||
|
|------|--------|----|
|
||||||
|
| incus-hp2 | 192.168.9.134 | Debian 13 (trixie) |
|
||||||
|
| incus-kr1 | 192.168.9.214 | Debian 13 (trixie) |
|
||||||
|
| incus-kr2 | 192.168.9.135 | Debian 13 (trixie) |
|
||||||
|
|
||||||
|
주요 네임스페이스: anvil, apisix, argocd, cert-manager, db
|
||||||
|
|
||||||
|
트래픽 흐름: 외부 → OpenWrt HAProxy (80/443) → K3s NodePort (32020/30675) → APISIX Gateway → 서비스
|
||||||
|
|
||||||
## 서비스 위치
|
## 서비스 위치
|
||||||
|
|
||||||
| 서비스 | 위치 | 접근 방법 |
|
| 서비스 | 위치 | 접근 방법 |
|
||||||
|--------|------|-----------|
|
|--------|------|-----------|
|
||||||
| [[apisix]] (오사카) | apisix-osaka (Linode) | SSH 직접 접속 / Admin API |
|
| [[apisix]] (오사카) | apisix-osaka (Linode) | SSH 직접 접속 / Admin API |
|
||||||
| [[apisix]] (서울) | hp2 incus 컨테이너 (10.179.99.126) | incus exec apisix / Admin API(:9180) |
|
| [[apisix]] (서울) | hp2 incus 컨테이너 (10.179.99.126) | incus exec apisix / Admin API(:9180) |
|
||||||
|
| Anvil | K3s 클러스터 (서울, anvil ns) | kubectl |
|
||||||
|
| ArgoCD | K3s 클러스터 (서울, argocd ns) | kubectl / NodePort 30080 |
|
||||||
|
| cert-manager | K3s 클러스터 (서울) | kubectl |
|
||||||
| NocoDB | K3s 클러스터 (kr2), namespace tools | kubectl, nocodb.inouter.com |
|
| NocoDB | K3s 클러스터 (kr2), namespace tools | kubectl, nocodb.inouter.com |
|
||||||
| Anvil, Ironclad | K8s 클러스터 (kr1) | kubectl |
|
| ProxySQL | K3s 클러스터 (서울, db ns) | kubectl |
|
||||||
| Prometheus, Grafana | jp1 (monitoring) | incus exec --project monitoring |
|
| Prometheus, Grafana | jp1 (monitoring) | incus exec --project monitoring |
|
||||||
| DB 서버 | jp1 (db) | incus exec --project db |
|
| DB 서버 | jp1 (db) | incus exec --project db |
|
||||||
|
| DB (분산) | etcd+mariadb+postgres 각 서울 노드 Incus 컨테이너 | incus exec |
|
||||||
| etcd (relay4wd용) | jp1 (db), etcd-1 (10.253.102.11) | etcd 2379 |
|
| etcd (relay4wd용) | jp1 (db), etcd-1 (10.253.102.11) | etcd 2379 |
|
||||||
| [[vault]] | 인프라 내부 | vault CLI / MCP |
|
| [[vault]] | 인프라 내부 | vault CLI / MCP |
|
||||||
| [[gitea]] | 자체 호스팅 (gitea.anvil.it.com) | git push → Gitea Act Runner |
|
| [[gitea]] | 자체 호스팅 (gitea.anvil.it.com) | git push → Gitea Act Runner |
|
||||||
@@ -40,8 +60,9 @@ tags: [infra, network, kr-zone, openwrt]
|
|||||||
## Incus 프로젝트
|
## Incus 프로젝트
|
||||||
|
|
||||||
- **jp1**: monitoring, db, default
|
- **jp1**: monitoring, db, default
|
||||||
- **kr1**: default, inbest, karakeep, security
|
- **kr1**: default, inbest
|
||||||
- **kr2**: default
|
- **kr2**: default, inbest
|
||||||
|
- **hp2**: default, inbest
|
||||||
|
|
||||||
## KR존 네트워크 토폴로지
|
## KR존 네트워크 토폴로지
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user