Closed ciokan closed 6 years ago
Hi there, double check that the health check on the ingress shows the kube lego backend as healthy. More than likely, it isn't pointing to /healthz
@domparry I think it is:
{
"apiVersion": "extensions/v1beta1",
"kind": "Deployment",
"metadata": {
"name": "kube-lego",
"namespace": "kube-lego"
},
"spec": {
"replicas": 1,
"template": {
"metadata": {
"labels": {
"app": "kube-lego"
}
},
"spec": {
"containers": [{
"name": "kube-lego",
"image": "jetstack/kube-lego:canary",
"imagePullPolicy": "Always",
"ports": [{
"containerPort": 8080
}],
"env": [{
"name": "LEGO_LOG_LEVEL",
"value": "debug"
},
{
"name": "LEGO_EMAIL",
"valueFrom": {
"configMapKeyRef": {
"name": "kube-lego",
"key": "lego.email"
}
}
},
{
"name": "LEGO_URL",
"valueFrom": {
"configMapKeyRef": {
"name": "kube-lego",
"key": "lego.url"
}
}
},
{
"name": "LEGO_NAMESPACE",
"valueFrom": {
"fieldRef": {
"fieldPath": "metadata.namespace"
}
}
},
{
"name": "LEGO_POD_IP",
"valueFrom": {
"fieldRef": {
"fieldPath": "status.podIP"
}
}
}
],
"readinessProbe": {
"httpGet": {
"path": "/healthz",
"port": 8080
},
"initialDelaySeconds": 5,
"timeoutSeconds": 1
}
}]
}
}
}
}
The kube lego backend is not healthy though.
yeah, so it doesn't always use the readinessProbe when setting up the healthcheck.... You can go fix it under compute Engine -> Health Checks... It's a PITA, but I've learned that this is the main reason for your issue... Every time I change the ingress, I have to go re-point the health checks...
Somehow the health check was checking the wrong port allocated.
I'm trying to run it on GKE with kubernetes version 1.7
I can access my domain via http and I can see the ingress rules pointing to kube lego and my container accordingly:
curl works ok from outside towards my domain which is responding with 200. Whenever I try to do a self test connection for the lego endpoint I get a
502
immediately - which fails inside lego as well.Any idea of what can cause this?