feat: добавить аддон technitium-dns — HA DNS Primary+Secondary с kube-vip LB и zone sync
- Helm chart: Primary и Secondary Deployment, kube-vip LoadBalancer сервисы (UDP+TCP :53), ClusterIP для Web UI, PVC (ReadWriteOnce), Secret, Ingress - CronJob sync (*/5 мин): Python sync.py опрашивает Technitium REST API, создаёт Secondary зоны на secondary и вызывает forceSyncZone для каждой зоны - ExternalDNS (disabled по умолчанию): RFC 2136 DDNS для автоматических DNS-записей из Ingress - Ansible role: validate, namespace, Helm deploy, cleanup secrets, summary с Keenetic-инструкцией - Интеграция: Makefile, playbooks/addons.yml, group_vars/all/addons.yml, vault.yml.example - README с архитектурой, Keenetic-конфигурацией и troubleshooting
This commit is contained in:
@@ -9,8 +9,8 @@ addon_nfs_server: false # NFS сервер
|
||||
addon_csi_nfs: false # CSI NFS Driver + StorageClass
|
||||
addon_ingress_nginx: true # ingress-nginx (Ingress controller)
|
||||
addon_cert_manager: false # cert-manager (TLS через Let's Encrypt)
|
||||
addon_metrics_server: true # metrics-server (kubectl top nodes/pods)
|
||||
addon_prometheus_stack: true # Prometheus + Grafana + Alertmanager
|
||||
addon_metrics_server: false # metrics-server (kubectl top nodes/pods)
|
||||
addon_prometheus_stack: false # Prometheus + Grafana + Alertmanager
|
||||
addon_istio: false # Istio service mesh + Kiali UI
|
||||
addon_argocd: false # ArgoCD (GitOps)
|
||||
addon_longhorn: false # Longhorn (distributed block storage)
|
||||
@@ -44,6 +44,7 @@ addon_splitgw: false # Split Gateway — прозрачный пр
|
||||
addon_ingress_proxypass: false # External Services Ingress Proxy — проксировать внешние сервисы через ingress-nginx
|
||||
addon_ingress_add_domains: false # Ingress-only — добавить домены к существующим сервисам кластера
|
||||
addon_yandex_dns_controller: false # Yandex 360 DNS controller — управление DNS через ConfigMap (safe mode)
|
||||
addon_technitium_dns: false # Technitium DNS HA — Primary+Secondary с kube-vip LB, зональный sync
|
||||
|
||||
# ─── NFS Server ───────────────────────────────────────────────────────────────
|
||||
nfs_exports:
|
||||
@@ -358,6 +359,28 @@ minio_api_ingress_host: "s3.example.com"
|
||||
# netbird_exit_node_enabled: false
|
||||
# После установки — настрой маршруты в Management UI
|
||||
|
||||
# ─── Technitium DNS HA ───────────────────────────────────────────────────────
|
||||
# Self-hosted Primary+Secondary DNS с kube-vip LoadBalancer IP и авто-синхронизацией зон.
|
||||
# Пароль задаётся в vault.yml: technitium_dns_admin_password
|
||||
# technitium_dns_primary_ip: "192.168.1.53" # статический IP для primary DNS (kube-vip)
|
||||
# technitium_dns_secondary_enabled: true
|
||||
# technitium_dns_secondary_ip: "192.168.1.54" # статический IP для secondary DNS (kube-vip)
|
||||
# technitium_dns_primary_node: "" # pinned hostname (пусто = soft anti-affinity)
|
||||
# technitium_dns_secondary_node: ""
|
||||
# technitium_dns_domain: "home.local" # локальная DNS-зона
|
||||
# technitium_dns_forwarders: ["1.1.1.1", "8.8.8.8"]
|
||||
# technitium_dns_recursion: "AllowOnlyForPrivateNetworks" # Allow | Deny | AllowOnlyForPrivateNetworks
|
||||
# technitium_dns_primary_host: "dns.home.local" # Web UI через ingress
|
||||
# technitium_dns_secondary_host: "dns-secondary.home.local"
|
||||
# technitium_dns_ingress_enabled: true
|
||||
# technitium_dns_ingress_tls_enabled: false
|
||||
# technitium_dns_sync_schedule: "*/5 * * * *" # как часто синхронизировать зоны primary→secondary
|
||||
# ExternalDNS (автоматические DNS-записи из Ingress/Service):
|
||||
# technitium_dns_externaldns_enabled: false
|
||||
# technitium_dns_externaldns_domain_filter: ["home.local"]
|
||||
# technitium_dns_externaldns_policy: "upsert-only" # sync | upsert-only
|
||||
# technitium_dns_externaldns_txt_owner_id: "k3s-home"
|
||||
|
||||
# ─── etcd backup ──────────────────────────────────────────────────────────────
|
||||
etcd_backup_dir: "{{ k3s_data_dir }}/server/db/snapshots"
|
||||
etcd_backup_retention: 5 # сколько снимков хранить
|
||||
|
||||
@@ -132,3 +132,6 @@ vault_transmission_password: "changeme-transmission"
|
||||
yandex_dns:
|
||||
org_id: "3312086"
|
||||
token: "y0_ЗАМЕНИ_НА_OAUTH_ТОКЕН"
|
||||
|
||||
# ── Technitium DNS HA ─────────────────────────────────────────────────────────
|
||||
technitium_dns_admin_password: "ЗАМЕНИ_НА_ПАРОЛЬ" # минимум 8 символов
|
||||
|
||||
Reference in New Issue
Block a user