You can configure CoreDNS for what you are trying to do, there is usually a ConfigMap containing the CoreDNS config in the kube-system namespace. We did that as a quick hack on one of our clusters at work, but I wouldn’t recommend it tbh. Instead I would do what others already suggested and deploy a Pi-Hole or AdGuard Home, or even a second CoreDNS for this purpose.


Sorry didn’t find the time until now to reply. Also in the process of migrating everything to my Kubernetes cluster, so this is not as up to date in regards to image versions as it should be.
This is my current setup, with only qBittorrent and SABnzbd going through the Gluetun VPN container. Everything else just uses my regular home internet:
--- [Unit] Description=Flaresolverr Container [Container] ContainerName=flaresolverr HostName=flaresolverr EnvironmentFile=global.env Image=ghcr.io/flaresolverr/flaresolverr:v3.4.6 AutoUpdate=registry PublishPort=8091:8191 Network=arr-stack.network [Service] Restart=always [Install] WantedBy=default.target --- [Unit] Description=qBittorrent Container Wants=gluetun.service After=gluetun.service [Container] ContainerName=qbittorrent HostName=qbittorrent EnvironmentFile=global.env Environment=WEBUI_PORT=8080 Image=lscr.io/linuxserver/qbittorrent:5.1.4 AutoUpdate=registry UserNS=keep-id:uid=1000,gid=1000 Network=container:gluetun Volume=%h/container_volumes/qbittorrent/conf:/config:Z,U Volume=%h/Downloads/completed:/downloads:z,U Volume=%h/Downloads/incomplete:/incomplete:z,U Volume=%h/Downloads/torrents:/torrents:z,U Memory=1.5g [Service] Restart=always [Install] WantedBy=default.target --- [Unit] Description=Recyclarr TRaSH Guide Sync Container Wants=radarr.service sonarr.service After=radarr.service sonarr.service [Container] ContainerName=recyclarr HostName=recyclarr EnvironmentFile=global.env Image=ghcr.io/recyclarr/recyclarr:8 AutoUpdate=registry UserNS=keep-id:uid=1000,gid=1000 Network=arr-stack.network Secret=sonarr_api_key,type=env,target=SONARR_API_KEY Secret=radarr_api_key,type=env,target=RADARR_API_KEY Volume=%h/container_volumes/recyclarr/conf:/config:Z,U [Service] Restart=always [Install] WantedBy=default.target --- [Unit] Description=SABnzbd Container Wants=gluetun.service After=gluetun.service [Container] ContainerName=sabnzbd HostName=sabnzbd Image=lscr.io/linuxserver/sabnzbd:4.5.5 AutoUpdate=registry UserNS=keep-id:uid=1000,gid=1000 Network=container:gluetun EnvironmentFile=global.env Volume=%h/container_volumes/sabnzbd/conf:/config:Z,U Volume=%h/Downloads/sabnzbd/completed:/downloads:z,U Volume=%h/Downloads/sabnzbd/incomplete:/incomplete-downloads:z,U Memory=1.5g [Service] Restart=always [Install] WantedBy=default.target --- [Unit] Description=Sonarr Container After=gluetun.service prowlarr.service Wants=gluetun.service prowlarr.service [Container] ContainerName=sonarr HostName=sonarr EnvironmentFile=global.env Image=lscr.io/linuxserver/sonarr:4.0.17 AutoUpdate=registry UserNS=keep-id:uid=1000,gid=1000 PublishPort=8089:8989 Network=arr-stack.network HealthCmd=["curl","--fail","http://127.0.0.1:8989/sonarr/ping"] HealthInterval=30s HealthRetries=10 SecurityLabelDisable=true Volume=%h/container_volumes/sonarr/conf:/config:Z,U Volume=/mnt/eldanas/tv:/tv Volume=%h/Downloads/completed/sonarr:/downloads:z,U Volume=%h/Downloads/sabnzbd/completed/tv:/downloads-usenet:z,U [Service] Restart=always [Install] WantedBy=default.target --- [Unit] Description=Prowlarr Container Wants=gluetun.service flaresolverr.service After=gluetun.service flaresolverr.service [Container] ContainerName=prowlarr HostName=prowlarr EnvironmentFile=global.env Image=lscr.io/linuxserver/prowlarr:2.3.5 AutoUpdate=registry UserNS=keep-id:uid=1000,gid=1000 PublishPort=8096:9696 Network=arr-stack.network HealthCmd=["curl","--fail","http://127.0.0.1:9696/prowlarr/ping"] HealthInterval=30s HealthRetries=10 Volume=%h/container_volumes/prowlarr/conf:/config:Z,U [Service] Restart=always [Install] WantedBy=default.target --- [Unit] Description=Radarr Container After=gluetun.service prowlarr.service Wants=gluetun.service prowlarr.service [Container] ContainerName=radarr HostName=radarr EnvironmentFile=global.env Image=lscr.io/linuxserver/radarr:6.1.1 AutoUpdate=registry UserNS=keep-id:uid=1000,gid=1000 PublishPort=8078:7878 Network=arr-stack.network HealthCmd=["curl","--fail","http://127.0.0.1:7878/radarr/ping"] HealthInterval=30s HealthRetries=10 SecurityLabelDisable=true Volume=%h/container_volumes/radarr/conf:/config:Z,U Volume=/mnt/eldanas/movies:/movies Volume=%h/Downloads/completed/radarr:/downloads:z,U Volume=%h/Downloads/sabnzbd/completed/movies:/downloads-usenet:z,U [Service] Restart=always [Install] WantedBy=default.target --- [Unit] Description=Gluetun Container [Container] ContainerName=gluetun HostName=gluetun EnvironmentFile=global.env EnvironmentFile=gluetun.env Environment=FIREWALL_INPUT_PORTS=8080 Image=docker.io/qmcgaw/gluetun:v3.41.1 AutoUpdate=registry PodmanArgs=--privileged AddCapability=NET_ADMIN AddDevice=/dev/net/tun:/dev/net/tun PublishPort=8080:8080 # SABnzbd Port Mapping PublishPort=8085:8085 # Gluetun Port Mapping PublishPort=8123:8000 Network=arr-stack.network Volume=%h/container_volumes/gluetun/conf:/gluetun:Z,U Secret=proton_wireguard_private_key,type=env,target=WIREGUARD_PRIVATE_KEY [Service] Restart=always [Install] WantedBy=default.target --- [Unit] Description=Seerr Container After=gluetun.service Wants=gluetun.service [Container] ContainerName=seerr HostName=seerr EnvironmentFile=global.env Image=ghcr.io/seerr-team/seerr:v3.2.0 UserNS=keep-id:uid=1000,gid=1000 AutoUpdate=registry PublishPort=8055:5055 Network=arr-stack.network Volume=%h/container_volumes/seerr/conf:/app/config:Z,U [Service] Restart=always [Install] WantedBy=default.targetThe
global.envfile only contains env variables like TZ or the PUID and PGID which are used in almost all my containers.