I'm trying to configure traefik 2 with GRPC but drawing a blank.
The setup here is that I'm running a Thanos Querier on Cluster A which accepts a store
record configured as follows:
--store=dns+thanos.domain.com:443
The querier then makes grpc requests to that domain. On Cluster B, which is thanos.domain.com I have traefik configured with the following route:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: thanos-grpc
namespace: monitoring
spec:
entryPoints:
- websecure
routes:
- match: Host(`thanos.domain.com`)
kind: Rule
services:
- name: prometheus-k8s
port: 10901
tls:
certResolver: default
options: {}
Checking the logs for the traefik pod suggests this service is configured properly, for example:
level=debug msg="Configuration received from provider kubernetescrd: {\"http\":{\"routers\":{\"monitoring-thanos-grpc-56cfaafbc01c26ca0ffd\":{\"entryPoints\":[\"websecure\"],\"service\":\"monitoring-thanos-grpc-56cfaafbc01c26ca0ffd\",\"rule\":\"Host(`thanos.domain.com`)\",\"tls\":{\"certResolver\":\"default\"}}},\"services\":{\"monitoring-thanos-grpc-56cfaafbc01c26ca0ffd\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://10.36.4.39:10901\"},{\"url\":\"http://10.36.5.69:10901\"}],\"passHostHeader\":true}}}},\"tcp\":{},\"tls\":{}}" providerName=kubernetescrd
However, switching back to Cluster A and checking the calling service yields the follwoing error:
initial store client info fetch: rpc error: code = Internal desc = transport: received the unexpected content-type \"text/plain; charset=utf-8\"" address={IP_OF_SUBDOMAIN}:443
Obviously that is an external log, but from that the important part is:
received the unexpected content-type \"text/plain; charset=utf-8\""
Which suggests that the backend is uncoinfigured but I can't figure out where. I don't have any error logs that help with this on the cotnainers withing the prometheus-k8s service.
Any pointers would be very welcome.