apiVersion: apps/v1
kind: Deployment
metadata:
  name: traefik
  labels:
    app: traefik
spec:
  replicas: 1
  selector:
    matchLabels:
      app: traefik
  template:
    metadata:
      labels:
        app: traefik
    spec:
      containers:
        - name: traefik
          image: traefik:v2.4
          ports:
            - name: web
              containerPort: 80
            - name: admin
              containerPort: 8080
          args:
            - --entrypoints.web.address=:80
            - --entrypoints.websecure.address=:443
            - --providers.kubernetescrd
            - --api
          volumeMounts:
            - mountPath: /etc/traefik
              name: traefik-config
      volumes:
        - name: traefik-config
          configMap:
            name: traefik-config