Hi
With the release of traefik 2.2 I wanted to retry the key/value configuration with a consul cluster.
I have a kubernetic test cluster in which I have deployed traefik and consul.
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: dae-traefik-ingress-controller-lan-prd
namespace: prd-lan-coolcorp
labels:
k8s-app: traefik-ingress-lb-prd-lan
kubernetes.io/cluster-service: "true"
spec:
selector:
matchLabels:
k8s-app: traefik-ingress-lb-prd-lan
template:
metadata:
namespace: prd-lan-coolcorp
labels:
k8s-app: traefik-ingress-lb-prd-lan
name: traefik-ingress-lb-prd-lan
spec:
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
serviceAccountName: sva-traefik-ingress-controller
terminationGracePeriodSeconds: 60
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
containers:
- image: traefik:v2.2.0
name: traefik-ingress-lb-prd-lan
imagePullPolicy: Always
volumeMounts:
- mountPath: "/etc/static_certs"
name: traefik-cfg-ro
- mountPath: "/etc/traefik/"
name: traefik-certif-rw
- mountPath: "/etc/dynamic_certs"
name: traefik-certif-ro
resources:
requests:
cpu: 100m
memory: 20Mi
args:
- --providers.kubernetescrd
- --entrypoints.web.address=:80
- --entrypoints.websecure.address=:443
- --entrypoints.sftp.address=:2222
# - --api
- --api.insecure
- --log.level=DEBUG
- --providers.file.directory=/etc/traefik/
- --providers.consul.endpoints=svc-consul-for-traefik:8500
- --providers.consul.rootkey=traefik
#- --providers.consul.tls.insecureSkipVerify=true
# env:
# - name: WATCH_NAMESPACE
# value: "prd-lan-coolcorp"
volumes:
- name: traefik-cfg-ro
- name: traefik-certif-ro
- name: traefik-certif-rw
Traefik is functioning properly. I have access to the dashboard. I have created a tree structure in consul as follows
traefik
entryPoints
streaming
address :1704/udb
My new entrypoint is never created. In the traefik logs I have this message
time="2020-04-20T09:52:52Z" level=debug msg="Configuration received from provider consul: {}" providerName=consul
time="2020-04-20T09:52:52Z" level=info msg="Skipping empty Configuration for provider consul" providerName=consul
I don't understand why Traefik is retrieving an empty configuration. If I run curl commands from a container to query the consul cluster, I get results.