More details...
NOT including any hub TLS settings, as suggested in the minimal static configuration for kubernetes, results in no routers being added for proxy.traefik
.
Adding at least the insecure option will create those routers:
hub:
tls:
insecure: true
This can be seen in a bunch of the debug logs that show up once this argument gets passed:
time="2023-04-19T20:25:58Z" level=info msg="The entryPoint \"traefikhub-tunl\" is created on port 9901 to allow exposition of services."
time="2023-04-19T20:25:58Z" level=info msg="The entryPoint \"traefikhub-api\" is created on port 9900 to allow Traefik to communicate with the Hub Agent for Traefik."
time="2023-04-19T20:25:58Z" level=debug msg="Static configuration loaded {\"global\":{\"checkNewVersion\":true,\"sendAnonymousUsage\":true},\"serversTransport\":{\"maxIdleConnsPerHost\":200},\"entryPoints\":{\"metrics\":{\"address\":\":9100/tcp\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":\"10s\"},\"respondingTimeouts\":{\"idleTimeout\":\"3m0s\"}},\"forwardedHeaders\":{},\"http\":{},\"http2\":{\"maxConcurrentStreams\":250},\"udp\":{\"timeout\":\"3s\"}},\"traefik\":{\"address\":\":9000/tcp\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":\"10s\"},\"respondingTimeouts\":{\"idleTimeout\":\"3m0s\"}},\"forwardedHeaders\":{},\"http\":{},\"http2\":{\"maxConcurrentStreams\":250},\"udp\":{\"timeout\":\"3s\"}},\"traefikhub-api\":{\"address\":\":9900\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":\"10s\"},\"respondingTimeouts\":{\"idleTimeout\":\"3m0s\"}},\"forwardedHeaders\":{},\"http\":{\"tls\":{\"options\":\"traefik-hub\"}},\"http2\":{\"maxConcurrentStreams\":250},\"udp\":{\"timeout\":\"3s\"}},\"traefikhub-tunl\":{\"address\":\":9901\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":\"10s\"},\"respondingTimeouts\":{\"idleTimeout\":\"3m0s\"}},\"forwardedHeaders\":{},\"http\":{},\"http2\":{\"maxConcurrentStreams\":250},\"udp\":{\"timeout\":\"3s\"}},\"web\":{\"address\":\":8000/tcp\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":\"10s\"},\"respondingTimeouts\":{\"idleTimeout\":\"3m0s\"}},\"forwardedHeaders\":{},\"http\":{},\"http2\":{\"maxConcurrentStreams\":250},\"udp\":{\"timeout\":\"3s\"}},\"websecure\":{\"address\":\":8443/tcp\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":\"10s\"},\"respondingTimeouts\":{\"idleTimeout\":\"3m0s\"}},\"forwardedHeaders\":{},\"http\":{\"tls\":{}},\"http2\":{\"maxConcurrentStreams\":250},\"udp\":{\"timeout\":\"3s\"}}},\"providers\":{\"providersThrottleDuration\":\"2s\",\"kubernetesIngress\":{\"ingressClass\":\"traefik-cert-manager\",\"ingressEndpoint\":{\"publishedService\":\"kube-system/traefik\"}},\"kubernetesCRD\":{\"allowCrossNamespace\":true,\"allowExternalNameServices\":true}},\"api\":{\"insecure\":true,\"dashboard\":true},\"metrics\":{\"prometheus\":{\"buckets\":[0.1,0.3,1.2,5],\"addEntryPointsLabels\":true,\"addRoutersLabels\":true,\"addServicesLabels\":true,\"entryPoint\":\"metrics\"}},\"ping\":{\"entryPoint\":\"traefik\",\"terminatingStatusCode\":503},\"log\":{\"level\":\"DEBUG\",\"format\":\"common\"},\"accessLog\":{\"format\":\"common\",\"filters\":{},\"fields\":{\"defaultMode\":\"keep\",\"headers\":{\"defaultMode\":\"drop\"}}},\"hub\":{\"tls\":{\"insecure\":true}},\"experimental\":{\"hub\":true}}"
time="2023-04-19T20:25:58Z" level=debug msg="Starting TCP Server" entryPointName=traefikhub-tunl
time="2023-04-19T20:25:58Z" level=debug msg="Starting TCP Server" entryPointName=traefikhub-api
time="2023-04-19T20:25:58Z" level=info msg="Starting provider *hub.Provider"
time="2023-04-19T20:25:58Z" level=debug msg="*hub.Provider provider configuration: {\"tls\":{\"insecure\":true}}"
time="2023-04-19T20:25:58Z" level=debug msg="Configuration received: {\"http\":{\"routers\":{\"api\":{\"entryPoints\":[\"traefik\"],\"service\":\"api@internal\",\"rule\":\"PathPrefix(`/api`)\",\"priority\":2147483646},\"dashboard\":{\"entryPoints\":[\"traefik\"],\"middlewares\":[\"dashboard_redirect@internal\",\"dashboard_stripprefix@internal\"],\"service\":\"dashboard@internal\",\"rule\":\"PathPrefix(`/`)\",\"priority\":2147483645},\"ping\":{\"entryPoints\":[\"traefik\"],\"service\":\"ping@internal\",\"rule\":\"PathPrefix(`/ping`)\",\"priority\":2147483647},\"prometheus\":{\"entryPoints\":[\"metrics\"],\"service\":\"prometheus@internal\",\"rule\":\"PathPrefix(`/metrics`)\",\"priority\":2147483647}},\"services\":{\"api\":{},\"dashboard\":{},\"noop\":{},\"ping\":{},\"prometheus\":{}},\"middlewares\":{\"dashboard_redirect\":{\"redirectRegex\":{\"regex\":\"^(http:\\\\/\\\\/(\\\\[[\\\\w:.]+\\\\]|[\\\\w\\\\._-]+)(:\\\\d+)?)\\\\/$\",\"replacement\":\"${1}/dashboard/\",\"permanent\":true}},\"dashboard_stripprefix\":{\"stripPrefix\":{\"prefixes\":[\"/dashboard/\",\"/dashboard\"]}}},\"models\":{\"traefikhub-api\":{\"tls\":{\"options\":\"traefik-hub\"}},\"websecure\":{\"tls\":{}}},\"serversTransports\":{\"default\":{\"maxIdleConnsPerHost\":200}}},\"tcp\":{},\"udp\":{},\"tls\":{}}" providerName=internal
time="2023-04-19T20:25:58Z" level=debug msg="Configuration received: {\"http\":{\"routers\":{\"traefik-hub-agent-api\":{\"entryPoints\":[\"traefikhub-api\"],\"service\":\"api@internal\",\"rule\":\"Host(`proxy.traefik`) \\u0026\\u0026 PathPrefix(`/api`)\"},\"traefik-hub-agent-metrics\":{\"entryPoints\":[\"traefikhub-api\"],\"service\":\"prometheus@internal\",\"rule\":\"Host(`proxy.traefik`) \\u0026\\u0026 PathPrefix(`/metrics`)\"},\"traefik-hub-agent-service\":{\"entryPoints\":[\"traefikhub-api\"],\"service\":\"traefik-hub-agent-service\",\"rule\":\"Host(`proxy.traefik`) \\u0026\\u0026 PathPrefix(`/config`, `/discover-ip`, `/state`)\"}},\"services\":{\"traefik-hub-agent-service\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://127.0.0.1:34253\"}],\"passHostHeader\":null}}}},\"tcp\":{},\"udp\":{},\"tls\":{\"options\":{\"traefik-hub\":{\"minVersion\":\"VersionTLS13\",\"clientAuth\":{}}}}}" providerName=hub
time="2023-04-19T20:25:59Z" level=debug msg="Creating middleware" middlewareName=metrics-entrypoint middlewareType=Metrics entryPointName=traefikhub-api
time="2023-04-19T20:25:59Z" level=debug msg="Creating middleware" entryPointName=traefikhub-tunl middlewareName=metrics-entrypoint middlewareType=Metrics
time="2023-04-19T20:25:59Z" level=debug msg="Creating middleware" entryPointName=traefikhub-api middlewareName=metrics-entrypoint middlewareType=Metrics
time="2023-04-19T20:25:59Z" level=debug msg="Creating middleware" entryPointName=traefikhub-tunl middlewareName=metrics-entrypoint middlewareType=Metrics
time="2023-04-19T20:26:00Z" level=debug msg="Creating middleware" middlewareName=metrics-entrypoint middlewareType=Metrics entryPointName=traefikhub-api
time="2023-04-19T20:26:00Z" level=debug msg="Creating middleware" entryPointName=traefikhub-tunl middlewareName=metrics-entrypoint middlewareType=Metrics
time="2023-04-19T20:26:00Z" level=debug msg="Added outgoing tracing middleware api@internal" middlewareType=TracingForwarder entryPointName=traefikhub-api routerName=traefik-hub-agent-api
hub middlewareName=tracing
time="2023-04-19T20:26:00Z" level=debug msg="Creating middleware" entryPointName=traefikhub-api routerName=traefik-hub-agent-api@hub middlewareName=metrics-router middlewareType=Metrics
time="2023-04-19T20:26:00Z" level=debug msg="Added outgoing tracing middleware prometheus@internal" entryPointName=traefikhub-api routerName=traefik-hub-agent-metrics@hub middlewareType=TracingForwarder middlewareName=tracing
time="2023-04-19T20:26:00Z" level=debug msg="Creating middleware" entryPointName=traefikhub-api routerName=traefik-hub-agent-metrics@hub middlewareType=Metrics middlewareName=metrics-router
time="2023-04-19T20:26:00Z" level=debug msg="Creating middleware" entryPointName=traefikhub-api middlewareName=pipelining middlewareType=Pipelining routerName=traefik-hub-agent-service@hu
serviceName=traefik-hub-agent-service
time="2023-04-19T20:26:00Z" level=debug msg="Creating middleware" middlewareType=Metrics middlewareName=metrics-service entryPointName=traefikhub-api routerName=traefik-hub-agent-service@hub serviceName=traefik-hub-agent-service
time="2023-04-19T20:26:00Z" level=debug msg="Creating load-balancer" routerName=traefik-hub-agent-service@hub serviceName=traefik-hub-agent-service entryPointName=traefikhub-api
time="2023-04-19T20:26:00Z" level=debug msg="Creating server 0 http://127.0.0.1:34253" serverName=0 entryPointName=traefikhub-api routerName=traefik-hub-agent-service@hub serviceName=traefik-hub-agent-service
time="2023-04-19T20:26:00Z" level=debug msg="Added outgoing tracing middleware traefik-hub-agent-service" middlewareName=tracing middlewareType=TracingForwarder entryPointName=traefikhub-api routerName=traefik-hub-agent-service@hub
time="2023-04-19T20:26:00Z" level=debug msg="Creating middleware" entryPointName=traefikhub-api routerName=traefik-hub-agent-service@hub middlewareName=metrics-router middlewareType=Metrics
time="2023-04-19T20:26:00Z" level=debug msg="Creating middleware" middlewareType=Recovery entryPointName=traefikhub-api middlewareName=traefik-internal-recovery
time="2023-04-19T20:26:00Z" level=debug msg="Creating middleware" middlewareType=Metrics entryPointName=traefikhub-api middlewareName=metrics-entrypoint
time="2023-04-19T20:26:00Z" level=debug msg="Creating middleware" entryPointName=traefikhub-tunl middlewareName=metrics-entrypoint middlewareType=Metrics
time="2023-04-19T20:26:00Z" level=debug msg="Adding route for proxy.traefik with TLS options traefik-hub@hub" entryPointName=traefikhub-api
time="2023-04-19T20:26:02Z" level=debug msg="Creating middleware" entryPointName=traefikhub-api middlewareName=metrics-entrypoint middlewareType=Metrics
time="2023-04-19T20:26:02Z" level=debug msg="Creating middleware" entryPointName=traefikhub-tunl middlewareName=metrics-entrypoint middlewareType=Metrics
time="2023-04-19T20:26:02Z" level=debug msg="Creating middleware" middlewareName=pipelining middlewareType=Pipelining routerName=traefik-hub-agent-service@hub serviceName=traefik-hub-agent-service entryPointName=traefikhub-api
time="2023-04-19T20:26:02Z" level=debug msg="Creating middleware" entryPointName=traefikhub-api routerName=traefik-hub-agent-service@hub serviceName=traefik-hub-agent-service middlewareName=metrics-service middlewareType=Metrics
time="2023-04-19T20:26:02Z" level=debug msg="Creating load-balancer" routerName=traefik-hub-agent-service@hub serviceName=traefik-hub-agent-service entryPointName=traefikhub-api
time="2023-04-19T20:26:02Z" level=debug msg="Creating server 0 http://127.0.0.1:34253" serverName=0 entryPointName=traefikhub-api routerName=traefik-hub-agent-service@hub serviceName=traefik-hub-agent-service
time="2023-04-19T20:26:02Z" level=debug msg="Added outgoing tracing middleware traefik-hub-agent-service" entryPointName=traefikhub-api routerName=traefik-hub-agent-service@hub middlewareName=tracing middlewareType=TracingForwarder
time="2023-04-19T20:26:02Z" level=debug msg="Creating middleware" routerName=traefik-hub-agent-service@hub middlewareName=metrics-router middlewareType=Metrics entryPointName=traefikhub-api
time="2023-04-19T20:26:02Z" level=debug msg="Added outgoing tracing middleware api@internal" middlewareName=tracing middlewareType=TracingForwarder routerName=traefik-hub-agent-api@hub entryPointName=traefikhub-api
time="2023-04-19T20:26:02Z" level=debug msg="Creating middleware" entryPointName=traefikhub-api routerName=traefik-hub-agent-api@hub middlewareName=metrics-router middlewareType=Metrics
time="2023-04-19T20:26:02Z" level=debug msg="Added outgoing tracing middleware prometheus@internal" entryPointName=traefikhub-api routerName=traefik-hub-agent-metrics@hub middlewareName=tracing middlewareType=TracingForwarder
time="2023-04-19T20:26:02Z" level=debug msg="Creating middleware" entryPointName=traefikhub-api routerName=traefik-hub-agent-metrics@hub middlewareName=metrics-router middlewareType=Metrics
time="2023-04-19T20:26:02Z" level=debug msg="Creating middleware" entryPointName=traefikhub-api middlewareType=Recovery middlewareName=traefik-internal-recovery
time="2023-04-19T20:26:02Z" level=debug msg="Creating middleware" entryPointName=traefikhub-api middlewareName=metrics-entrypoint middlewareType=Metrics
time="2023-04-19T20:26:02Z" level=debug msg="Creating middleware" entryPointName=traefikhub-tunl middlewareName=metrics-entrypoint middlewareType=Metrics
time="2023-04-19T20:26:02Z" level=debug msg="Adding route for proxy.traefik with TLS options traefik-hub@hub" entryPointName=traefikhub-api
I'm starting to suspect that there's an issue on the hub-agent-kubernetes
side of things. Comparing it to the hub-agent-traefik
(what's used for Docker I believe?), it doesn't seem to have an argument to set TLS to insecure, so I'm wondering if the client that is created defaults to trying to verify TLS?