I trying to upgrade from v1.7.18
to v2.0.2
with following traefik.toml
traefik.toml
## static configuration
[global]
checkNewVersion = true
[entryPoints]
[entryPoints.web]
address = ":80"
[entryPoints.websecure]
address = ":443"
[entryPoints.tcp5000]
address = ":5000"
[entryPoints.internal]
address = ":4080"
[providers]
[providers.kubernetesCRD]
[providers.file]
directory = "/etc/traefik/providers/"
watch = true
[log]
level = "INFO"
[accessLog]
[api]
insecure = true
dashboard = true
debug = true
[metrics]
[metrics.prometheus]
buckets = [0.1,0.3,1.2,5.0]
addEntryPointsLabels = true
addServicesLabels = true
entryPoint = "web"
[ping]
entryPoint = "web"
[certificatesResolvers]
[certificatesResolvers.default]
[certificatesResolvers.default.acme]
email = "admin@domain.com"
caServer = "https://acme-v02.api.letsencrypt.org/directory"
storage = "/etc/traefik/storage/acme.json"
[certificatesResolvers.default.acme.dnsChallenge]
provider = "route53"
delayBeforeCheck = 0
resolvers = ["1.1.1.1:53", "8.8.8.8:53"]
and dynamic.toml
dynamic.toml
## dynamic configuration
[http.routers]
[http.routers.redirecttohttps]
entryPoints = ["web","websecure"]
rule = "HostRegexp(`{host:.+}`)"
middlewares = ["httpsredirect"]
service = "noop"
[http.middlewares]
[http.middlewares.httpsredirect.redirectScheme]
scheme = "https"
[http.services]
[http.services.noop]
[http.services.noop.loadBalancer]
[[http.services.noop.loadBalancer.servers]]
url = "http://192.168.0.1"
But when Traefik container starts it complains about Unable to add ACME provider
and non-existent resolver: default
Following are the container logs
time="2019-10-19T13:12:16Z" level=info msg="Configuration loaded from file: /etc/traefik/traefik.toml"
time="2019-10-19T13:12:16Z" level=info msg="Traefik version 2.0.2 built on 2019-10-09T19:26:05Z"
time="2019-10-19T13:12:16Z" level=info msg="\nStats collection is disabled.\nHelp us improve Traefik by turning this feature on :)\nMore details on: https://docs.traefik.io/v2.0/contributing/data-collection/\n"
time="2019-10-19T13:12:16Z" level=error msg="Unable to add ACME provider to the providers list: unable to get ACME account: json: cannot unmarshal array into Go value of type acme.StoredData"
time="2019-10-19T13:12:16Z" level=info msg="Starting provider aggregator.ProviderAggregator {}"
time="2019-10-19T13:12:16Z" level=info msg="Starting provider *file.Provider {\"directory\":\"/etc/traefik/providers/\",\"watch\":true}"
time="2019-10-19T13:12:16Z" level=info msg="Starting provider *crd.Provider {}"
time="2019-10-19T13:12:16Z" level=info msg="label selector is: \"\"" providerName=kubernetescrd
time="2019-10-19T13:12:16Z" level=info msg="Creating in-cluster Provider client" providerName=kubernetescrd
time="2019-10-19T13:12:17Z" level=error msg="the router kube-system-traefik-admin-11fe1d1c292cfe13cf34 uses a non-existent resolver: default"
time="2019-10-19T13:12:19Z" level=error msg="the router kube-system-traefik-admin-11fe1d1c292cfe13cf34 uses a non-existent resolver: default"
time="2019-10-19T13:12:21Z" level=error msg="the router kube-system-traefik-admin-11fe1d1c292cfe13cf34 uses a non-existent resolver: default"
time="2019-10-19T13:12:23Z" level=error msg="the router kube-system-traefik-admin-11fe1d1c292cfe13cf34 uses a non-existent resolver: default"
I am using acme/let's encrypt certificate generated by traefik v1.7.18
Any idea whats wrong here ?
Following is manifest file for Traefik.
deployment.yaml
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: traefik
namespace: kube-system
labels:
app: traefik
spec:
selector:
matchLabels:
app: traefik
minReadySeconds: 5
updateStrategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
template:
metadata:
labels:
app: traefik
spec:
serviceAccountName: traefik-ingress-controller
terminationGracePeriodSeconds: 30
hostNetwork: true
containers:
- name: traefik
image: traefik:v2.0.2
ports:
- name: web
containerPort: 80
- name: websecure
containerPort: 443
- name: tcp5000
containerPort: 5000
- name: admin
containerPort: 8080
securityContext:
privileged: true
env:
- name: AWS_REGION
valueFrom:
configMapKeyRef:
name: aws-config
key: aws_region
- name: AWS_HOSTED_ZONE_ID
valueFrom:
configMapKeyRef:
name: aws-config
key: aws_hosted_zone_id
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: aws-secret
key: access_key
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: aws-secret
key: secret_key
volumeMounts:
- mountPath: /etc/traefik/traefik.toml
name: traefik2-config
subPath: traefik.toml
- mountPath: /etc/traefik/providers/dynamic.toml
name: traefik2-config
subPath: dynamic.toml
- mountPath: /etc/traefik/storage/
name: traefik2-storage
volumes:
- name: traefik2-config
configMap:
name: traefik2-conf
- name: traefik2-storage
hostPath:
path: /tmp/traefik
type: DirectoryOrCreate