Installing Traefik v2 with Helm
Part 1 describes how to deploy a Kubernetes ingress with Traefik v2 CRD IngressRoute in it’s own namespace using a values.yaml file.
Part 2 describes http to https redirects by changing the values.yaml file.
Part 3 explains the implementation of Let’s Encrypt SSL Certificates on AKS including persistancy for TLS certificates.
Add the Helm repository:
helm repo add traefik https://helm.traefik.io/traefik
Update the repo to get the latest info from the charts in all repositories:
helm repo update
Create the namespace you want to run Traefik in:
kubectl create ns traefik
Download the values.yaml example file from https://github.com/traefik/traefik-helm-chart/blob/master/traefik/values.yaml and customize if needed.
Deploy Traefik:
helm install --namespace=traefik --values=values.yaml traefik traefik/traefik
Now you can deploy your IngressRoute using the IngressRoute CRD. The following example will create an IngressRoute with the name ingress-app1 in the namespace app1, using the entryPoint web for every requestion on www.cloudt.it port 80, which will be sent to the app1-service service
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: ingress-app1
namespace: app1
spec:
entryPoints:
- web
routes:
- match: Host(`www.cloudt.it`)
kind: Rule
services:
- name: app1-service
port: 80
In the example values.yaml file the entrypoint web is being used. Web is defined in the values.yaml file in the ports: section:
ports:
web:
port: 8000
expose: true
exposedPort: 80
protocol: TCP

2 thoughts on “TRAEFIK v2 (Part 1)”