참고한 것들
TL;DR
- NS 생성 (선택)
kubectl create ns system-wg
- Helm values:
wg.yaml
environmentVariables:
WG_HOST: {{ WireGuard 엔드포인트 }}
PASSWORD: {{ WireGuard UI 비밀번호 }}
WG_DEFAULT_ADDRESS: 10.1.0.x
WG_ALLOWED_IPS: 10.0.0.0/16
UI_CHART_TYPE: 1
UI_TRAFFIC_STATS: true
service:
type: NodePort
ingress:
enabled: true
className: "nginx"
hosts:
- host: {{ WireGuard 엔드포인트 }}
paths:
- path: /
pathType: ImplementationSpecific
- 여기서
externalTrafficPolicy: "Local"
은 성능을 위한 것이다. - Helm repo add:
helm repo add wg-easy https://raw.githubusercontent.com/haeramkeem/wg-easy-helm/main/helm/charts
helm repo update
- Helm install:
helm -n system-wg upgrade --install wg-easy wg-easy/wg-easy -f wg.yaml
삽질기
- 원래는 이 차트 를 사용하려 했는데, NodePort 지원이 구려서 여기서 좀 바꿔서 사용했다.
- 원래는 NodePort 로
31820
port 를 열고, HAProxy 로 원래의 WireGuard port 인51820
으로 되돌려주려 했으나, HAProxy 에서 UDP 를 지원하지 않아 (참고) 어쩔 수 없이31820
을 사용함.- 근데 WG-Easy 에서는
51820
으로 인지하고 있기 때문에, tunnel config 을 생성할 때51820
으로 생성해 준다. - 이것을 해결하기 위해 environment variable 과 ContainerPort 를
31820
으로 바꿔서 사용하려 했으나 잘 안됐었다. - 근데 이건 chart 의 WG-Easy 버전이 너무 낮아서였음; 변경3 에서 고쳤다.
- 근데 WG-Easy 에서는