Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kubernetes: Liveness/Readiness check for external Endpoints Services #8147

Closed
ChristianCiach opened this issue May 20, 2021 · 5 comments · Fixed by #10467
Closed

Kubernetes: Liveness/Readiness check for external Endpoints Services #8147

ChristianCiach opened this issue May 20, 2021 · 5 comments · Fixed by #10467

Comments

@ChristianCiach
Copy link

ChristianCiach commented May 20, 2021

Traefik IngressRoute has no support for health checks. Unfortunately, the issue #6492 has been closed with this comment:

You have to use the heathcheck systems from k8s.

As we can read here, Kubernetes has no support for health checks of headless services (with custom Endpoints) or services of type ExternalName: kubernetes/kubernetes#77738 (comment)

This leaves us with the unsatisfying situation that it is currently impossible to have health checks for external services when using the KubernetesCRD provider.

I see no good reason for omitting this feature from KubernetesCRD and forcing people to use the file provider instead.

Please see the comments starting at #6492 (comment) for further use-cases of this feature.

@marcmognol
Copy link
Contributor

Dear traefik team,

Is there any solution that you could provide to anwser our needs?
I would like to use Traefik as a load balancer for some services hosted outside our Kubernetes cluster, so today I use file provider and it worked like a charm.

But I would prefere using CRD resources.

Would be possible to have the same level of feature between the CRD and the file provider for Service objects ?

Thanks

Marc

@emilevauge
Copy link
Member

If someone from the community wants to contribute on this, the maintainers team would love to support & help :)

@emilevauge emilevauge added the contributor/wanted Participation from an external contributor is highly requested label Feb 22, 2024
@marcmognol
Copy link
Contributor

Hi @emilevauge,
Thank you for your reply.

Are we in line that the need is to be able to use a CRD type TraefikService, in order to replace the following configuration in file ?

  services:
    uat-service:
      loadBalancer:
        serversTransport: uat-transport
        servers:
          - url: https://localserver-1.asf.pri:443
          - url: https://localserver-2.asf.pri:443
        healthCheck:
          hostname: uat.local.pri
          path: /landing-page/
          interval: 15s
        sticky:
          cookie:
            secure: true
            httpOnly: true

@marcmognol
Copy link
Contributor

I will try to do a PR soon to handle service LoadBalancer type from CRD.

@kevinpollet
Copy link
Member

kevinpollet commented Mar 5, 2024

Hello @ChristianCiach and thanks for opening this issue,

We missed during the triage that we had another issue about adding the HeatlhCheck feature for external services in K8S. To keep discussions focused on only one issue I am closing this one as a duplicate of #8541 as it contains details on how the issue can be solved, as well as a corresponding draft pull request.

@kevinpollet kevinpollet added resolution/duplicate and removed priority/P3 maybe kind/enhancement a new or improved feature. contributor/wanted Participation from an external contributor is highly requested labels Mar 5, 2024
@traefik traefik locked and limited conversation to collaborators Apr 7, 2024
@traefiker traefiker added this to the next milestone May 30, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants