피드로 돌아가기
Tailscale + k3s in a 2‑node homelab: why I use Tailscale ONLY for the control plane
Dev.toDev.to
Infrastructure

1Gb LAN 성능 보존을 위한 Control Plane 전용 Tailscale 분리 설계

Tailscale + k3s in a 2‑node homelab: why I use Tailscale ONLY for the control plane

Mickaël Girondeau2026년 5월 26일4intermediate

Context

2노드 k3s Homelab 환경에서 외부망 접속 시 포트 개방 없이 보안 연결을 확보해야 하는 상황. 일반적인 Mesh VPN 기반 k3s 구성 시 발생하는 WireGuard 오버헤드와 MTU 이슈로 인한 Data Plane 성능 저하가 주요 병목 지점으로 식별됨.

Technical Solution

  • Tailscale을 관리용 Control Plane 전용으로 한정하여 API 서버(6443) 및 SSH 접근 권한만 제어
  • K8s Data Plane은 1Gb 물리 스위치의 LAN IP(192.168.1.x)를 그대로 사용하여 네이티브 처리량 확보
  • --flannel-iface 설정을 Tailscale 인터페이스가 아닌 물리 NIC로 유지하여 Pod 간 통신 최적화
  • Tailscale ACL 기반 SSH 인증 도입으로 개별 노드별 SSH Key 관리 복잡도 제거
  • MagicDNS를 통한 노드 호스트네임 기반 접근으로 IP 관리 오버헤드 최소화
  • 관리망(Tailscale)과 데이터망(LAN)의 물리적 분리를 통한 제어 평면 장애 시의 클러스터 생존성 확보

1. 동일 LAN 내 노드 구성 시 CNI 인터페이스를 VPN으로 강제하지 말고 물리 NIC를 사용해 성능 최적화

2. 외부 관리 접근은 VPN 인터페이스에만 API 서버 포트를 바인딩하여 Attack Surface 최소화

3. 서비스 가용성을 위해 관리 도구(VPN)의 의존성이 클러스터 내부 통신(Pod-to-Pod)에 영향을 주지 않도록 설계

원문 읽기