This page discusses the options for the _ingress.tpl to generate different resources:
- Ingress (different classes: nginx, traefik)
- Istio specific Gateway/VirtualService (https://istio.io/latest/docs/tasks/traffic-management/ingress/ingress-control/)
- Gateway-API HTTPRoute/TCPRoute... (will be the the new default API in Istio...) https://gateway-api.sigs.k8s.io/api-types/gateway/
Problem:
→ In the current implementation the template is able to generate only for nginx and Istio GW/VS
→ for each ingress definition for each VS a separate GW is created, which is generally not correct.
Instead a single GW should be provided, which should be used by all VCs
→ if a "commonGW" is used, the GW needs to be created during the Ingress setup phase (described in OOM documentation)
Proposal:
- Create new "global.Ingress" option to select the provider resource (Ingress, Istio, GW-API)
- For "Ingress" provide setting for the class (e.g. nginx, traefik)
- Provide a "shared Gateway" name as option, which is refered by the VC/HTTPRoute,...
Istio-Ingress Provider
Options: no commonGW (not optimal or wrong) → currently implemented
Special case: TCP Routes (e.g. Kafka)
Options: commonGW → needs to be checked, if it is working
Gateway-API Provider
Options: commonGW
Special case: TCP Routes (e.g. Kafka)
Special case: UDP Routes (e.g. DCAE SNMP Trap collector)