K3s: Ingress through default Traefik working but stuck on status "Initializing"

Created on 20 May 2019  路  7Comments  路  Source: k3s-io/k3s

Describe the bug
Tested on Rancher 2.2.3 and K3S 0.5 on AWS using default traefik embedded on k3s.
After defining my ingress, the same works (respond to my external connections, hostname and paths) but get stuck on status "Initializing"

To Reproduce

  1. Create a pod and service exposing the pod port.
  2. Create an ingress including annotation "kubernetes.io/ingress.class: "traefik"" redirecting requests to the specific service
  3. Apply yaml and on rancher status will show "Initializing"
  4. kubectl get ingress [ingress=name] --namespace="[namespace]" shows the ingress

Expected behaviour

  1. To show Active on "load balancing" rancher section
  2. To show all endpoints inside the deployed app

Screenshots
Screen Shot 2019-05-20 at 4 57 48 pm

Additional context
Tested on Rancher 2.2.3 and K3S 0.5 on AWS using default traefik embedded on k3s. Kluster was imported to Rancher.

arerancher2-appliance

Most helpful comment

We are aware of this issue, and will need to work something out between the two projects to address. Rancher looks for the external IP set by a cloud provider or in the case of RKE it looks for an annotation on the node. Once Rancher can get that information the ingresses move into the active state.

We are working on a hack-y solution to populate: rke.cattle.io/external-ip: <ip> annotation on the node manually.

All 7 comments

Hello, the same thing is happening to me,
image
although if I access the application if it works, although it does not redirect to https, I have to enter this line in the annotations:
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
also it is not showing in the logs the real IP that asks for the application tested with Nginx.
image
Additional context
Tested on Rancher 2.2.2 and K3S 0.5.0 on VMWare using default traefik embedded on k3s. Kluster was imported to Rancher.

We are aware of this issue, and will need to work something out between the two projects to address. Rancher looks for the external IP set by a cloud provider or in the case of RKE it looks for an annotation on the node. Once Rancher can get that information the ingresses move into the active state.

We are working on a hack-y solution to populate: rke.cattle.io/external-ip: <ip> annotation on the node manually.

@cloudnautique Thanks for your reply! Looking forward to a solution. Please let me know if you require help on testing again.

any luck on bypassing this for the time being to make the status changed from Initializing? The ingress works just fine though.

My setup are:

  • Racher v2.2.6
  • rancher/ui v2.2.90
  • rancher/helm v2.10.0-rancher11
  • rancher/machine v0.15.0-rancher8-1
  • traefik v1.7.12-alpine
  • K8S v1.13.7
  • On-Premise atop Proxmox

thank you

Hello, same issue for me.
Even if the annotation (rke.cattle.io/external-ip) is correctly populate by rancher on the node .
The status still Initializing
Rancher | v2.3.0
User Interface | v2.3.15
Machine | v0.15.0-rancher12-1
Traefik | V2.0.2

Same here with Traefik.

Is this related to https://github.com/traefik/traefik/issues/2173 ?

As far as I understand, the k3s default traefik deployment via helm value kubernetes.ingressEndpoint.useDefaultPublishedService queries its corresponding service status, which does not seem to work.

Was this page helpful?
0 / 5 - 0 ratings