57 lines
1.1 KiB
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
|