Hi all,
I'm facing an issue when trying to setup error pages on traefik1. This is what we're trying to implement:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
external-dns.alpha.kubernetes.io/hostname: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
external-dns.alpha.kubernetes.io/ttl: "300"
ingress.kubernetes.io/custom-response-headers: Server:Traefik
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/error-pages: |
notfound:
status:
- "404"
backend: nginx-error-service
query: "/jenkins_404.html"
error:
status:
- "500"
backend: nginx-error-service
query: "/jenkins_500.html"
maintenance:
status:
- "502"
- "503"
- "504"
backend: nginx-error-service
query: "/jenkins_502.html"
traefik.ingress.kubernetes.io/frontend-entry-points: http,https
traefik.ingress.kubernetes.io/redirect-entry-point: https
traefik.ingress.kubernetes.io/redirect-permanent: "true"
labels:
io.cattle.field/appId: devops-jenkins
name: devops-jenkins-jenkins-dsu
namespace: devops-jenkins
spec:
rules:
- host: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
http:
paths:
- backend:
serviceName: devops-jenkins-jenkins-dsu
servicePort: 8080
We're getting this error:
time="2020-01-10T16:39:04Z" level=error msg="Error when creating error page \"error\" for frontend \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx": the backend \"nginx-error-service\" doesn't exist."
time="2020-01-10T16:39:04Z" level=error msg="Error when creating error page \"maintenance\" for frontend \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx": the backend \"nginx-error-service\" doesn't exist."
time="2020-01-10T16:39:04Z" level=error msg="Error when creating error page \"notfound\" for frontend \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx": the backend \"nginx-error-service\" doesn't exist."
The service exists:
❯ k get services -n kube-system nginx-error-service -o yaml
apiVersion: v1
kind: Service
metadata:
annotations:
kubernetes.io/ingress.class: traefik
labels:
Toolkit: Shared
name: nginx-error-service
namespace: kube-system
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
selector:
k8s-app: nginx-error-deployment
type: ClusterIP
To which resource the ingress controller is trying to reach? It says can't find the backend... i'm i wrong to point the "backend" to a service??
Thanks in advance!