Обновлена документация под новые аддоны (gitlab, redis, mongodb, kafka, kafka-ui, rabbitmq) и новую модель явного выбора зависимостей. Добавлены и унифицированы описания переключателей *_database_mode и *_redis_mode, обновлена таблица зависимостей аддонов, примеры конфигурации и список vault-секретов.
NetBird VPN
Self-hosted WireGuard-based VPN. Устанавливает Management сервер, Signal сервер, Coturn (STUN/TURN) и опционально Subnet Router (доступ к локальным подсетям) и Exit Node (интернет через кластер). Все компоненты получают внешние IP через kube-vip LoadBalancer.
Быстрый старт
# group_vars/all/addons.yml
addon_netbird: true
netbird_domain: "netbird.example.com"
Секреты в vault.yml:
vault_netbird_coturn_password: "coturn-password"
vault_netbird_router_setup_key: "" # заполнить после создания в Management UI
vault_netbird_exit_node_setup_key: "" # заполнить после создания в Management UI
make addon-netbird
Параметры
| Переменная | Умолч. | Описание |
|---|---|---|
netbird_domain |
netbird.example.com |
Домен Management сервера |
netbird_management_lb_ip |
"" |
Статический IP (авто если пусто) |
netbird_signal_lb_ip |
"" |
Статический IP Signal |
netbird_coturn_lb_ip |
"" |
Статический IP Coturn |
netbird_subnet_router_enabled |
false |
Subnet Router Pod |
netbird_exit_node_enabled |
false |
Exit Node Pod |
Порядок установки
Ansible автоматически:
- Деплоит Coturn → ждёт LB IP
- Деплоит Management (использует IP Coturn в конфиге) → ждёт LB IP
- Деплоит Signal → ждёт LB IP
После установки Ansible выводит IP всех компонентов и инструкции для настройки DNS.
Настройка DNS (после установки)
Ansible выведет IP адреса — создай DNS записи:
netbird.example.com → Management LB IP
signal.netbird.example.com → Signal LB IP
turn.netbird.example.com → Coturn LB IP
Подключение клиентов
# Linux/macOS
netbird up --management-url grpc://netbird.example.com:80
# Или через UI (Management Dashboard):
# http://MANAGEMENT_IP:80
Subnet Router
Разрешает VPN-клиентам обращаться к локальным сетям кластера:
netbird_subnet_router_enabled: true
netbird_subnet_routes:
- "192.168.1.0/24" # локальная сеть
- "10.42.0.0/16" # pod CIDR
- "10.43.0.0/16" # service CIDR
Создать Setup Key в Management UI:
- Management Dashboard → Setup Keys → Add Key
- Скопируй ключ в
vault.yml:vault_netbird_router_setup_key - Запусти
make addon-netbirdснова
Активировать маршруты в Management UI: Management Dashboard → Network Routes → настрой подсети
Exit Node
Направляет весь интернет-трафик VPN-клиентов через ноду кластера:
netbird_exit_node_enabled: true
Создать отдельный Setup Key для Exit Node или использовать тот же.
В Management Dashboard → Network Routes → добавь маршрут 0.0.0.0/0 через Exit Node пир.
Статические IP через kube-vip
Чтобы зафиксировать IP компонентов (рекомендуется для prod):
netbird_management_lb_ip: "192.168.1.110"
netbird_signal_lb_ip: "192.168.1.111"
netbird_coturn_lb_ip: "192.168.1.112"
Диагностика
kubectl get pods -n netbird
kubectl get svc -n netbird # LB IPs
kubectl logs -n netbird deployment/netbird-management -f
kubectl logs -n netbird deployment/netbird-signal -f
kubectl logs -n netbird deployment/netbird-coturn -f
Официальные ресурсы
- Официальный сайт: https://netbird.io/
- Официальная документация: https://docs.netbird.io/
- Версии Helm chart / ПО: https://github.com/netbirdio/netbird/releases