apiVersion: v1 kind: ServiceAccount metadata: name: traefik-ingress-controller --- kind: Deployment apiVersion: apps/v1 metadata: name: traefik labels: app: traefik spec: replicas: 1 selector: matchLabels: app: traefik template: metadata: labels: app: traefik spec: serviceAccountName: traefik-ingress-controller containers: - name: traefik image: traefik:v2.11 args: - --log.level=DEBUG - --api - --api.insecure - --entrypoints.web.address=:80 - --entrypoints.websecure.address=:443 - --providers.kubernetescrd - "--certificatesresolvers.le.acme.email=youremmail@gmail.com" - "--certificatesresolvers.le.acme.storage=/data/acme.json" - "--certificatesresolvers.le.acme.tlschallenge=true" - "--certificatesresolvers.le.acme.caServer=https://acme-staging-v02.api.letsencrypt.org/directory" ports: - name: web containerPort: 80 - name: websecure containerPort: 443 - name: admin containerPort: 8080 - name: tcpep containerPort: 8000 - name: udpep containerPort: 9000 --- apiVersion: v1 kind: Service metadata: name: traefik spec: type: LoadBalancer selector: app: traefik ports: - protocol: TCP port: 80 name: web targetPort: 80 - protocol: TCP port: 443 name: websecure targetPort: 443 - protocol: TCP port: 8080 name: admin targetPort: 8080 - protocol: TCP port: 8000 name: tcpep targetPort: 8000 externalIPs: - "192.168.101.141" --- apiVersion: v1 kind: Service metadata: name: traefikudp spec: type: LoadBalancer selector: app: traefik ports: - protocol: UDP port: 9000 name: udpep targetPort: 9000