0

Google Cloud GCP Will NOT forward to Ingress that does not pass health checks. Could anyone share how exactly to configure Traefik Ingress to pass health checks? I think it needs to return a 200 on /health or something like that. But what would exact configuration look like? I am starting traefik using arguments rather than toml file. Thanks. 304 not accepted. Must be 200 I think.

UPDATE: Here is my deployment. I think this correct but looking at the logs I am getting:

[29/Jun/2019:16:21:44 +0000] “GET /health HTTP/1.1” 404 19 “-” “kube-probe/1.13+” 4 “backend not found” “/health” 0ms How do I setup to return the 200?

kind: Deployment
apiVersion: apps/v1
metadata:
name: traefik-ingress-controller
labels:
k8s-app: traefik-ingress-controller
spec:
replicas: 2
selector:
matchLabels:
k8s-app: traefik-ingress-controller
template:
metadata:
labels:
k8s-app: traefik-ingress-controller
name: traefik-ingress-controller
spec:
serviceAccountName: traefik-ingress-serviceaccount
terminationGracePeriodSeconds: 35
containers:
- image: traefik
name: traefik-ingress-controller
imagePullPolicy: Always
resources:
limits:
cpu: 200m
memory: 384Mi
requests:
cpu: 25m
memory: 128Mi
livenessProbe:
failureThreshold: 2
httpGet:
path: /health
port: 80
scheme: HTTP
initialDelaySeconds: 10
periodSeconds: 5
readinessProbe:
failureThreshold: 2
httpGet:
path: /health
port: 80
scheme: HTTP
periodSeconds: 5
ports:
- name: http
containerPort: 80
- name: https
containerPort: 443
- name: dashboard
containerPort: 8080
args:
- --logLevel=DEBUG
- --api
- --api.dashboard=true
- --kubernetes
- --accesslog=true
Steven Smart
  • 113
  • 2

1 Answers1

0

With Traefik the ping definition can be utilized to add a health check endpoint to Traefik. Use it like this:

defaultEntryPoints = ["http"]

[entryPoints]
  [entryPoints.http]
  address = ":80"

[ping]
entryPoint = "http"

It will add

A simple endpoint to check for Traefik process liveness. Return a code 200 with the content: OK

Henrik Pingel
  • 8,676
  • 2
  • 24
  • 38