feat: добавить аддон ingress-add-domains — добавить домены к сервисам кластера

Helm chart + Ansible роль, создающие Ingress-only правила для уже существующих
K8s сервисов. Каждый Ingress создаётся в namespace целевого сервиса.

Поддерживает: TLS (cert-manager или готовый Secret), basic auth (автохэш пароля
через openssl passwd -apr1), WebSocket, несколько хостов, per-entry аннотации.
This commit is contained in:
Sergey Antropoff
2026-04-26 12:02:41 +03:00
parent fafcc34f03
commit 5079975d5e
18 changed files with 823 additions and 1 deletions

View File

@@ -27,6 +27,8 @@
| NetBird: клиент не подключается | DNS не настроен | Настрой A-записи для Management, Signal, Coturn LB IPs |
| MinIO: distributed не поднимается | Мало нод | Distributed требует минимум 4 реплики/ноды |
| Nextcloud: redirect loop | HTTP→HTTPS конфликт | Добавь `TRUSTED_PROXIES` в конфиг Nextcloud |
| ingress-add-domains: 404 | Ingress не найден в namespace сервиса | `kubectl get ingress -A -l app.kubernetes.io/instance=ingress-add-domains` |
| ingress-add-domains: 503 | Сервис/порт неверный | `kubectl -n <namespace> get svc <name>` — проверь имя и порт |
| ingress-proxypass: 502 Bad Gateway | Кластер не достигает внешний IP | `curl -v http://<external-ip>:<port>` с ноды кластера; проверь файрвол на внешнем хосте |
| ingress-proxypass: 503 | Endpoints пустой | `kubectl -n ingress-proxypass get endpoints` — должны быть адреса |
| ingress-proxypass: 404 | Имя хоста не совпадает | `kubectl -n ingress-proxypass describe ingress <name>` — хост должен совпасть точно |
@@ -134,6 +136,22 @@ kubectl describe certificate <name> -n <namespace>
kubectl logs -n cert-manager deployment/cert-manager -f
```
## Диагностика ingress-add-domains
```bash
# Все созданные Ingresses
kubectl get ingress -A -l app.kubernetes.io/instance=ingress-add-domains
# Детали конкретного Ingress
kubectl describe ingress <name> -n <namespace>
# Проверить что сервис существует
kubectl -n <namespace> get svc <service-name>
# Логи nginx-контроллера
kubectl -n ingress-nginx logs -l app.kubernetes.io/name=ingress-nginx --tail=50
```
## Диагностика ingress-proxypass
```bash