dariopb / traefikServiceFabricPlugin

Traefik 2.x Service Fabric Provider Plugin
MIT License
8 stars 6 forks source link

SF Application not talking to Traefik? #6

Open mccw opened 2 years ago

mccw commented 2 years ago

I finally got Traefik v2.5.3 deployed to our test Service Fabric cluster however, I'm having trouble exposing a test application via the Traefik plugin. I don't see any indication in the logs that the application is talking to Traefik.

Current ServiceManifest labels: https://pastebin.pl/view/47b82ef6 Current Traefik.yml: https://pastebin.pl/view/86cda29e

I'm currently running Traefik v2.5.3 at home on Docker and trying to compare the two sets of labels, it seems like a router label is missing?

dariopb commented 2 years ago

In the traefik logs you should see something like this, that is what the provider is emitting:

time="2021-09-30T13:07:16-07:00" level=info msg="Skipping same configuration" providerName=plugin-sf
time="2021-09-30T13:07:21-07:00" level=debug msg="Configuration received from provider plugin-sf: {\"http\":{\"routers\":{\"fabric-pinger0-PingerService\":{\"entryPoints\":[\"web\"],\"middlewares\":[\"sf-stripprefixregex_nonpartitioned\"],\"service\":\"fabric-pinger0-PingerService\",\"rule\":\"PathPrefix(`/pinger0/PingerService`)\"},\"fabric-pinger0-PingerService-ff13d508-1445-4279-b21e-95b0a06f150d\":{\"entryPoints\":[\"web\"],\"middlewares\":[\"sf-stripprefixregex_partitioned\"],\"service\":\"fabric-pinger0-PingerService-ff13d508-1445-4279-b21e-95b0a06f150d\",\"rule\":\"PathPrefix(`/pinger0/PingerService/ff13d508-1445-4279-b21e-95b0a06f150d`)\"}},\"services\":{\"fabric-pinger0-PingerService\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://DESKTOP-ER456BI:7000/\"}],\"healthCheck\":{\"scheme\":\"http\",\"path\":\"/\",\"interval\":\"10s\",\"followRedirects\":null},\"passHostHeader\":true}},\"fabric-pinger0-PingerService-ff13d508-1445-4279-b21e-95b0a06f150d\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://DESKTOP-ER456BI:7000/\"}],\"healthCheck\":{\"scheme\":\"http\",\"path\":\"/\",\"interval\":\"10s\",\"followRedirects\":null},\"passHostHeader\":true}}},\"middlewares\":{\"sf-stripprefixregex_nonpartitioned\":{\"stripPrefixRegex\":{\"regex\":[\"^/[^/]*/[^/]*/*\"]}},\"sf-stripprefixregex_partitioned\":{\"stripPrefixRegex\":{\"regex\":[\"^/[^/]*/[^/]*/[^/]*/*\"]}}}},\"tcp\":{},\"udp\":{},\"tls\":{}}" providerName=plugin-sf

One thing I noticed in your service manifest is that you don't have the right format (main branch, where v0.2.2 tag is pointing to), in your manifest you added "scoresheet". It should looks something like this:

        <Labels xmlns="http://schemas.microsoft.com/2015/03/fabact-no-schema">
          <Label Key="traefik.http.enable">true</Label>
<!--          <Label Key="traefik.http.rule">PathPrefix(`/dario`)</Label>
          <Label Key="traefik.http.middleware.stripprefix.prefixes">/dario</Label>
          -->
          <Label Key="traefik.http.loadbalancer.passhostheader">true</Label>
          <Label Key="traefik.http.loadbalancer.healthcheck.path">/</Label>
          <Label Key="traefik.http.loadbalancer.healthcheck.interval">10s</Label>
          <Label Key="traefik.http.loadbalancer.healthcheck.scheme">http</Label>
        </Labels>