apiVersion: apps/v1 kind: Deployment metadata: annotations: name: esphome namespace: esphome spec: replicas: 1 selector: matchLabels: app.kubernetes.io/instance: esphome app.kubernetes.io/name: esphome strategy: type: Recreate template: metadata: labels: app.kubernetes.io/instance: esphome app.kubernetes.io/name: esphome spec: containers: - name: esphome-esphome-release env: - name: TZ value: Europe/Berlin image: esphome/esphome:stable imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 periodSeconds: 10 successThreshold: 1 tcpSocket: port: 6052 timeoutSeconds: 1 ports: - containerPort: 6052 name: http protocol: TCP readinessProbe: failureThreshold: 3 periodSeconds: 10 successThreshold: 1 tcpSocket: port: 6052 timeoutSeconds: 1 resources: {} startupProbe: failureThreshold: 30 periodSeconds: 5 successThreshold: 1 tcpSocket: port: 6052 timeoutSeconds: 1 volumeMounts: - mountPath: /config name: config-volume - mountPath: /cache name: cache-volume dnsPolicy: "None" dnsConfig: nameservers: - 192.168.0.5 # YOUR DNS SERVER searches: - realm.local # YOUR DOMAIN NAME volumes: - name: config-volume persistentVolumeClaim: claimName: pvc-nfs-esphome - name: cache-volume emptyDir: sizeLimit: 5Gi