Files
homelab/k8s/pihole/services.yaml

57 lines
1.1 KiB
YAML

---
# DNS TCP Service (LoadBalancer with fixed IP)
apiVersion: v1
kind: Service
metadata:
name: pihole-dns-tcp
namespace: pihole
annotations:
metallb.universe.tf/loadBalancerIPs: 192.168.11.181
metallb.universe.tf/allow-shared-ip: pihole-dns
spec:
type: LoadBalancer
externalTrafficPolicy: Local
selector:
app: pihole
ports:
- name: dns-tcp
port: 53
targetPort: 53
protocol: TCP
---
# DNS UDP Service (LoadBalancer with fixed IP)
apiVersion: v1
kind: Service
metadata:
name: pihole-dns-udp
namespace: pihole
annotations:
metallb.universe.tf/loadBalancerIPs: 192.168.11.181
metallb.universe.tf/allow-shared-ip: pihole-dns
spec:
type: LoadBalancer
externalTrafficPolicy: Local
selector:
app: pihole
ports:
- name: dns-udp
port: 53
targetPort: 53
protocol: UDP
---
# Web UI Service (ClusterIP, exposed via Ingress)
apiVersion: v1
kind: Service
metadata:
name: pihole-web
namespace: pihole
spec:
type: ClusterIP
selector:
app: pihole
ports:
- name: web
port: 80
targetPort: 80
protocol: TCP