Hello there,
I have EKS cluster and ALB ingress controller to receive the traffic and send it to the Traefik controller service type Nodeport.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
alb.ingress.kubernetes.io/backend-protocol: HTTP
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
alb.ingress.kubernetes.io/load-balancer-name: my-lb
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/certificate-arn:
alb.ingress.kubernetes.io/ssl-redirect: "443"
alb.ingress.kubernetes.io/success-codes: 200-404
alb.ingress.kubernetes.io/target-type: instance
alb.ingress.kubernetes.io/tags: Environment=staging
name: traefik
namespace: traefik
spec:
ingressClassName: alb
rules:
- http:
paths:
- backend:
service:
name: traefik
port:
name: web
path: /*
pathType: ImplementationSpecific
Traefik values file:
nodeSelector:
USAGE: "SECURITY"
service:
type: NodePort
spec:
externaltrafficpolicy: Local
logs:
general:
format:
level: INFO
access:
enabled: true
ports:
web:
asDefault: true
nodePort: 30080
persistence:
enabled: true
tracing:
addInternals: true
otlp:
enabled: true
http:
# -- Set to true in order to send metrics to the OpenTelemetry Collector using HTTP.
enabled: true
image:
# -- Traefik image host registry
registry: docker.io
# -- Traefik image repository
repository: traefik
# -- defaults to appVersion
tag: v3.0.4
Ingressroutes for all API are working fine.
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: ingress-{{ .Values.name }}
namespace: {{ .Values.namespace }}
spec:
entrypoints:
- web
routes:
- kind: Rule
match: Host(`{{ .Values.host }}`)
services:
- name: {{ .Values.name }}
port: 3000
namespace: {{ .Values.namespace }}
but for services that serve nginx it's not working I get 504 error.
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: ingress-{{ .Values.name }}
namespace: {{ .Values.namespace }}
spec:
entrypoints:
- web
routes:
- kind: Rule
match: Host(`{{ .Values.host }}`)
services:
- name: {{ .Values.name }}
port: 80
namespace: {{ .Values.namespace }}
passHostHeader: true