This page discusses the options for the _ingress.tpl to generate different resources:
- nginx 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 (NginxIngress, 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: Istio, no commonGW (not optimal or wrong) → currently implemented
draw.io Diagram |
---|
border | true |
---|
diagramName | Istio-GW_VS |
---|
simpleViewer | false |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 1353 |
---|
revision | 12 |
---|
|
Special case: TCP Routes (e.g. Kafka)
draw.io Diagram |
---|
border | true |
---|
diagramName | Istio-TCP-GW_VS |
---|
simpleViewer | false | width |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 13531613 |
---|
revision | 25 |
---|
|
Options: Istio, commonGWcommonGW → needs to be checked, if it is working
draw.io Diagram |
---|
border | true |
---|
diagramName | Istio-VS |
---|
simpleViewer | false |
---|
width | links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 13331453 |
---|
revision | 3 | 8 |
---|
|
Gateway-API Provider
Options: gw-api, commonGW
draw.io Diagram |
---|
border | true |
---|
diagramName | GW-API-HR |
---|
simpleViewer | false |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 1353 |
---|
revision | 9 |
---|
|
Special case: TCP Routes (e.g. Kafka)
draw.io Diagram |
---|
border | true |
---|
diagramName | GW-API-TCP |
---|
simpleViewer | false |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 1533 |
---|
revision | 5 |
---|
|
Special case: UDP Routes (e.g. DCAE SNMP Trap collector)
draw.io Diagram |
---|
border | true |
---|
diagramName | GW-API-TCP |
---|
simpleViewer | false | width |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 13331533 |
---|
revision | 25 |
---|
|