K3s + Cilium Ingress + PiHole-Kubernetes Helm

Expected Behaviour:

Navigating to pihole.homelab should redirect me to /admin/ and then effectively /admin/login.php like my raspberry pi install. Pi install is standard build and uses pi.hole as DNS name.

Actual Behaviour:

Hitting https://pihole.homelab redirects to https://pihole.homelab/admin/ however then I get a 404

Debug Token:

https://tricorder.pi-hole.net/1tqpEu5v/

Other Details

  • K3s install and using Cilium as the Ingress Controller.
  • I currently have another pihole installed on raspberry pi as my primary
  • pi.hole has a local DNS record called cilium.homelab which points to the ingress ip for my homelab (192.168.5.100)
  • CNAME records then help with hostname mapping to the respective service. So in this case there is a record for pihole.homelab that points to cilium.homelab
  • Running curl from the pod itself:
root@pihole-64d7557648-249rk:/# curl -I http://localhost/admin/
HTTP/1.1 302 Found
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Set-Cookie: PHPSESSID=egjku81g8rskvlfq6qru1bdf5m; path=/; HttpOnly; SameSite=Strict
Location: login.php
Content-type: text/html; charset=UTF-8
X-Pi-hole: The Pi-hole Web interface is working!
X-Frame-Options: DENY
X-XSS-Protection: 0
X-Content-Type-Options: nosniff
Content-Security-Policy: default-src 'self' 'unsafe-inline';
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: same-origin
Date: Sun, 08 Dec 2024 01:16:28 GMT
Server: lighttpd/1.4.59
  • Running curl from a host on the network
curl -L -I -k pihole.homelab                                         
HTTP/1.1 301 Moved Permanently
location: https://pihole.homelab/
date: Sun, 08 Dec 2024 01:17:24 GMT
server: envoy
transfer-encoding: chunked

HTTP/1.1 301 Moved Permanently
location: /admin/
date: Sun, 08 Dec 2024 01:17:24 GMT
server: envoy
x-envoy-upstream-service-time: 0
transfer-encoding: chunked

HTTP/1.1 404 Not Found
date: Sun, 08 Dec 2024 01:17:24 GMT
server: envoy
transfer-encoding: chunked

Final details

  • Cilium install is working as i have multiple other services running on k3s and pihole's DNS lookup routes traffic flawlessly.
  • I am testing this install as a potential backup incase my pi fails

As Pi-hole's webserver only would redirect http://pi.hole, you'd have to configure your webserver to redirect other URLs as required by you yourself.

Hrmm, so in the helm chart I did update the virtualHost to use pihole.homelab which also updated lighttpd with the configs to redirect to /admin for that hostname.

Are you thinking there is another config that needs an update?

Oh man, just solved it: [BUG] Ingress Controller unexpected behavior with "PathType=ImplementationSpecific" · Issue #30071 · cilium/cilium · GitHub

looks like im running into this same bug

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.