承接 Day 12(影像編碼調校),今天來看 Ingress 與 TURN 的拓樸擺位。這決定了使用者從不同網路環境(公司內網、家用 NAT、公網)連進來時,能否成功建立 WebRTC 連線,以及延遲能否保持在可接受範圍。
isaac.example.com
, turn.example.com
)。Browser ──HTTPS──▶ Ingress (LB:443) ─▶ Selkies Pod
└─STUN──▶ turn.example.com:3478 (僅查詢外網 IP)
Browser ──HTTPS──▶ Ingress (企業/雲 LB)
└─STUN──▶ 公網 STUN Server
└─TURN──▶ 公網 TURN (relay)
turn.example.com
→ 1.2.3.4。建議:Ingress 可在私網 LoadBalancer / NodePort,TURN Server 需放在可被外部訪問的公網節點。
[User Asia] ─▶ turn-asia.example.com ─▶ coturn (Tokyo)
[User US] ─▶ turn-us.example.com ─▶ coturn (Oregon)
[User EU] ─▶ turn-eu.example.com ─▶ coturn (Frankfurt)
適用情境:使用者分布全球,需要就近 relay。
DNS / Anycast 技巧:
優點:減少跨洲轉發延遲。
缺點:運維成本提高。
不同角色,勿混用:
防火牆規則:
TLS:
turns:
),但多數情境下 UDP3478 即可。今日気づいてしまった、買ったストレージサーバーはk8sサポートしていませ......