apiVersion: apps/v1 kind: Deployment metadata: name: pihole labels: app: pihole spec: replicas: 1 selector: matchLabels: app: pihole template: metadata: labels: app: pihole spec: containers: - name: pihole image: pihole/pihole:2022.01.1 ports: - containerPort: 53 - containerPort: 67 - containerPort: 80 - containerPort: 443 env: - name: TZ valueFrom: configMapKeyRef: name: pihole-configmap key: pihole_tz - name: WEBPASSWORD valueFrom: secretKeyRef: name: pihole-secret key: pihole-webpassword volumeMounts: - name: local-dns mountPath: /etc/dnsmasq.d/10-customdns.conf readOnly: true volumes: - name: local-dns configMap: name: local-dns-file --- apiVersion: v1 kind: Service metadata: name: pihole-service spec: selector: app: pihole type: NodePort ports: - protocol: TCP port: 2053 targetPort: 53 nodePort: 30153 name: "pihole-tcp-53" - protocol: UDP port: 2053 targetPort: 53 nodePort: 30153 name: "pihole-udp-53" - protocol: UDP port: 2067 targetPort: 67 nodePort: 30167 name: "pihole-udp-67" - protocol: TCP port: 2080 targetPort: 80 nodePort: 30180 name: "pihole-tcp-80" - protocol: TCP port: 20443 targetPort: 443 nodePort: 30443 name: "pihole-tcp-443"