pihole.yaml 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. name: pihole
  5. labels:
  6. app: pihole
  7. spec:
  8. selector:
  9. matchLabels:
  10. octopusexport: OctopusExport
  11. revisionHistoryLimit: 10
  12. replicas: 1
  13. strategy:
  14. type: RollingUpdate
  15. template:
  16. metadata:
  17. labels:
  18. app: pihole
  19. octopusexport: OctopusExport
  20. spec:
  21. dnsPolicy: ClusterFirstWithHostNet
  22. dnsConfig:
  23. nameservers:
  24. - 8.8.8.8
  25. searches:
  26. - dezendorf.net
  27. - dezendorf.com
  28. volumes:
  29. - name: "pihole-custom-list"
  30. configMap:
  31. name: "pihole-custom-list"
  32. containers:
  33. - name: pihole
  34. image: 'pihole/pihole:latest'
  35. ports:
  36. - name: dns-udp
  37. containerPort: 53
  38. protocol: UDP
  39. - name: dns-tcp
  40. containerPort: 53
  41. protocol: TCP
  42. - name: web
  43. containerPort: 80
  44. protocol: TCP
  45. volumeMounts:
  46. - name: "pihole-custom-list"
  47. mountPath: "/etc/pihole/custom.list"
  48. subPath: "custom.list"
  49. affinity:
  50. podAntiAffinity:
  51. preferredDuringSchedulingIgnoredDuringExecution:
  52. - weight: 100
  53. podAffinityTerm:
  54. labelSelector:
  55. matchExpressions:
  56. - key: app
  57. operator: In
  58. values:
  59. - web
  60. topologyKey: kubernetes.io/hostname
  61. ---
  62. apiVersion: v1
  63. kind: PersistentVolumeClaim
  64. metadata:
  65. name: piholednsmasq
  66. namespace: default
  67. spec:
  68. accessModes:
  69. - ReadWriteOnce
  70. resources:
  71. requests:
  72. storage: 500M
  73. storageClassName: longhorn
  74. ---
  75. apiVersion: v1
  76. kind: PersistentVolumeClaim
  77. metadata:
  78. name: piholeetc
  79. namespace: default
  80. spec:
  81. accessModes:
  82. - ReadWriteOnce
  83. resources:
  84. requests:
  85. storage: 500M
  86. storageClassName: longhorn
  87. ---
  88. apiVersion: traefik.containo.us/v1alpha1
  89. kind: IngressRoute
  90. metadata:
  91. name: pihole-websecure-route
  92. namespace: default
  93. spec:
  94. entryPoints:
  95. - websecure
  96. routes:
  97. - match: Host(`pihole.dezendorf.net`)
  98. kind: Rule
  99. services:
  100. - name: pihole-web-svc
  101. port: 80
  102. tls:
  103. certResolver: myresolver
  104. ---
  105. apiVersion: v1
  106. kind: Service
  107. metadata:
  108. name: pihole-web-svc
  109. spec:
  110. type: ClusterIP
  111. ports:
  112. - name: websecure
  113. port: 80
  114. targetPort: 80
  115. selector:
  116. app: pihole
  117. ---
  118. apiVersion: v1
  119. kind: Service
  120. metadata:
  121. name: pihole-dns-tcp-svc
  122. spec:
  123. type: ClusterIP
  124. selector:
  125. app: pihole
  126. ports:
  127. - name: dns-tcp
  128. port: 53
  129. targetPort: 53
  130. protocol: TCP
  131. ---
  132. apiVersion: v1
  133. kind: Service
  134. metadata:
  135. name: pihole-dns-udp-svc
  136. spec:
  137. type: ClusterIP
  138. selector:
  139. app: pihole
  140. ports:
  141. - name: dns-udp
  142. port: 53
  143. targetPort: 53
  144. protocol: UDP
  145. ---
  146. apiVersion: traefik.containo.us/v1alpha1
  147. kind: IngressRoute
  148. metadata:
  149. name: pihole-web-route
  150. namespace: default
  151. spec:
  152. entryPoints:
  153. - web
  154. routes:
  155. - match: Host(`pihole.dezendorf.net`)
  156. kind: Rule
  157. middlewares:
  158. - name: redirecthttps
  159. services:
  160. - name: pihole-web-svc
  161. port: 80
  162. ---
  163. apiVersion: traefik.containo.us/v1alpha1
  164. kind: IngressRouteTCP
  165. metadata:
  166. name: pihole-tcp-route
  167. spec:
  168. entryPoints:
  169. - dns-tcp
  170. routes:
  171. - match: HostSNI(`*`)
  172. priority: 10
  173. services:
  174. - name: pihole-dns-tcp-svc
  175. port: 53
  176. ---
  177. apiVersion: traefik.containo.us/v1alpha1
  178. kind: IngressRouteUDP
  179. metadata:
  180. name: pihole-udp-route
  181. spec:
  182. entryPoints:
  183. - dns-udp
  184. routes:
  185. - services:
  186. - name: pihole-dns-udp-svc
  187. port: 53
  188. ---
  189. apiVersion: v1
  190. kind: ConfigMap
  191. metadata:
  192. name: pihole-custom-list
  193. namespace: default
  194. data:
  195. custom.list: |
  196. 192.168.1.9 gondor.dezendorf.net
  197. 192.168.1.50 astoria.dezendorf.net
  198. 192.168.1.87 go.dezendorf.net
  199. 192.168.1.87 pihole.dezendorf.net
  200. 192.168.1.87 tesseract.dezendorf.net
  201. 192.168.1.87 sso.dezendorf.net
  202. 192.168.1.87 argocd.dezendorf.net
  203. 192.168.1.87 auth.dezendorf.net
  204. 192.168.1.87 longhorn.dezendorf.net
  205. 192.168.1.87 whoami.dezendorf.net
  206. 192.168.1.87 transmission.dezendorf.net
  207. 192.168.1.87 traefik.dezendorf.net
  208. 192.168.1.87 jackett.dezendorf.net
  209. 192.168.1.87 sonarr.dezendorf.net
  210. 192.168.1.87 whisparr.dezendorf.net
  211. 192.168.1.87 radarr.dezendorf.net
  212. 192.168.1.87 bazarr.dezendorf.net
  213. 192.168.1.87 prometheus.dezendorf.net
  214. 192.168.1.87 alertmanager.dezendorf.net
  215. 192.168.1.87 readarr.dezendorf.net
  216. 192.168.1.87 calibre.dezendorf.net
  217. 192.168.1.87 books.dezendorf.net
  218. 192.168.1.87 lidarr.dezendorf.net
  219. 192.168.1.87 airsonic.dezendorf.net
  220. 192.168.1.87 beets.dezendorf.net
  221. 192.168.1.87 codeserver.dezendorf.net
  222. 192.168.1.87 gogs.dezendorf.net
  223. 192.168.1.87 grafana.dezendorf.net
  224. 192.168.1.87 mysql.dezendorf.net
  225. 192.168.1.157 thick2.dezendorf.net
  226. 192.168.1.158 thick1.dezendorf.net
  227. 192.168.1.151 thin1.dezendorf.net
  228. 192.168.1.152 thin2.dezendorf.net
  229. 192.168.1.153 thin3.dezendorf.net
  230. 192.168.1.154 apc-pdu-01.dezendorf.net
  231. 192.168.1.155 pve1.dezendorf.net
  232. 192.168.1.159 apc-pdu-02.dezendorf.net
  233. 192.168.1.236 plex.dezendorf.net