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:
@@ -127,6 +127,52 @@ netbird up --management-url grpc://netbird.example.com:80
|
||||
|
||||
---
|
||||
|
||||
## ingress-add-domains — добавить домены к сервисам кластера
|
||||
|
||||
Позволяет быстро открыть дополнительные домены для уже существующих K8s сервисов без изменения их шаблонов. Создаёт **только Ingress** в namespace целевого сервиса. Подробнее: [addons/ingress-add-domains/README.md](../addons/ingress-add-domains/README.md).
|
||||
|
||||
```yaml
|
||||
# group_vars/all/addons.yml
|
||||
addon_ingress_add_domains: true
|
||||
|
||||
ingress_add_domains_entries:
|
||||
# Внутренний домен без TLS
|
||||
- name: gitea-local
|
||||
hosts: [gitea.local]
|
||||
service:
|
||||
name: gitea-http
|
||||
namespace: gitea
|
||||
port: 3000
|
||||
|
||||
# Внешний домен с TLS + basic auth
|
||||
- name: grafana-home
|
||||
hosts: [grafana.home.ru]
|
||||
service:
|
||||
name: prometheus-stack-grafana
|
||||
namespace: monitoring
|
||||
port: 80
|
||||
tls:
|
||||
enabled: true
|
||||
certManager:
|
||||
enabled: true
|
||||
issuer: letsencrypt-prod
|
||||
auth:
|
||||
enabled: true
|
||||
username: admin
|
||||
password: "{{ vault_grafana_proxy_password }}"
|
||||
```
|
||||
|
||||
```bash
|
||||
make addon-ingress-add-domains
|
||||
```
|
||||
|
||||
| Сценарий | Инструмент |
|
||||
|---|---|
|
||||
| Открыть K8s-сервис по новому домену | **ingress-add-domains** |
|
||||
| Проксировать сервис вне кластера (по IP) | ingress-proxypass |
|
||||
|
||||
---
|
||||
|
||||
## ingress-proxypass — проксировать внешние сервисы
|
||||
|
||||
Позволяет открыть по домену любой сервис, работающий **вне кластера** (роутер, NAS, Plex на отдельной машине и т.д.), через тот же ingress-nginx VIP. Для каждой записи создаётся: `Service (ClusterIP, без selector)` + `Endpoints` + `Ingress`. Подробнее: [addons/ingress-proxypass/README.md](../addons/ingress-proxypass/README.md).
|
||||
|
||||
Reference in New Issue
Block a user