Træfik

Configuring Træfik as a cluster ingress controller.

Træfik is kubernetes-ready blazing fast reverse-proxy server. Although nginx is more mature product, Træfik provides a lot of cool features out of the box, for example DNS-wildcarding through Let’s Encrypt.

Minimal setup requires to create a following traefik.yaml file (for the full list of options check github repo):

WARN DuckDNS is used as an example DNS registrator.

You can find full list of supported DNS-providers here.

ssl:
  enabled: true
  tlsMinVersion: VersionTLS12
  insecureSkipVerify: true
acme:
  enabled: true
  email: your_email
  staging: false
  logging: false
  domains:
    enabled: true
    domainsList:
      - main: "*.your_domain"
  challengeType: dns-01
  dnsProvider:
  name: duckdns
  duckdns:
    DUCKDNS_TOKEN: your_token
  persistence:
    enabled: true
    size: 1Gi
    storageClass: gluster
rbac:
  enabled: true

If you don’t want to use Let’s Encrypt, just skip acme section.

You may want to expose your dashboard as well, for this, check dashboard section in the Chart’s repo.

Install:

helm install stable/traefik --name traefik --namespace kube-system --values=traefik.yaml