Wireguard로 VPN 환경을 구축하려고 했다.
이 과정에서 몇 kb~mb 수준의 설정파일을 위해 pvc를 할당하는 것은 돈낭비 같다.
그렇다고 로컬에 저장하면 다른 노드에 pod가 생성되는 경우 대응을 못하기 때문에 k8s를 쓰는 의미가 없을 것 같다.
어떻게 하면 클라우드 서비스의 뽕을 뽑아먹으면서 무료로 vpn을 운용할까?
ConfigMap + Secret 활용
다음의 방식을 차용한다.
- Pod 시작 → initContainer가 Secret에서 wg0.json 복사
- wg-easy 실행, 클라이언트 추가
단, 위와 같이 진행하면 클라이언트 추가 후 수동으로 백업이 필요하다.
# 현재 설정 백업
kubectl cp vpn-system/<pod-name>:/etc/wireguard/wg0.json ./wg0.json
당연한 내용이지만 필요한 사람을 위해 secret 갱신 방법을 제공한다.
kubectl create secret generic wireguard-secret \
--from-file=wg0.json=./wg0.json \
--from-literal=PASSWORD_HASH='$2b$12$...' \
-n vpn-system --dry-run=client -o yaml | kubectl apply -f -
이제 내 설정파일은 내 돈주고 세팅하지 않고
오라클 클라우드가 관리한다 :)
'인프라 > 자유' 카테고리의 다른 글
| 내부망 구성하기 (개정판) (0) | 2026.03.23 |
|---|---|
| JCasC에서 Jenkins 계정 관리 방법 (0) | 2026.03.14 |
| NFS를 통해 다중 노드 스토리지 공유하기 (0) | 2026.03.12 |
| VPN을 통해 사내망을 구축해보자 (0) | 2026.03.09 |
| Path MTU Discovery(PMTUD)가 뭘까? (0) | 2026.03.09 |