--- apiVersion: apps/v1 kind: Deployment metadata: name: cloudflared namespace: cloudflared spec: replicas: 3 selector: matchLabels: app: cloudflared template: metadata: labels: app: cloudflared spec: affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchLabels: app: cloudflared topologyKey: kubernetes.io/hostname containers: - name: cloudflared image: cloudflare/cloudflared:latest imagePullPolicy: IfNotPresent args: - tunnel - --no-autoupdate - --metrics - 0.0.0.0:2000 - run env: - name: TUNNEL_TOKEN valueFrom: secretKeyRef: name: tunnel-token key: token ports: - name: metrics containerPort: 2000 protocol: TCP livenessProbe: httpGet: path: /ready port: 2000 initialDelaySeconds: 10 periodSeconds: 10 resources: requests: memory: "64Mi" cpu: "50m" limits: memory: "256Mi" cpu: "200m" restartPolicy: Always