[dns-stats-users] Running collector on Kubernetes

Sean Burford unix.gurus at gmail.com
Tue Nov 16 04:44:46 UTC 2021


I'm running NSD and Unbound on Kubernetes, and I wanted to run the DNS
Stats Collector alongside them.  To this end I created a Docker image for
Collector (https://github.com/SeanBurford/dns-stats-docker).  I'm sharing
it here in case others find it useful.

There are README.md files throughout the tree recording my thoughts, but
here are the main points:

   - Dockerfile (
   contains the directions used to build the binaries and then the container.
   - bin/start_compactor.sh adds the hostname to the output file template,
   which is handy when you're running multiple instances on Kubernetes (they
   all have unique hostnames).
   - I use a Unix socket to pass dnstap messages from the name servers to
   the compactors, with one compactor instance per name server instance.
   - I'm using NFS to mount a shared log directory across the instances,
   though there are plenty of options for cluster filesystems.
   - I would have preferred to use Alpine Linux, however various
   dependencies made Ubuntu (Focal) an easier choice.  This is fine, Alpine
   Linux containers run alongside Ubuntu containers in a single Kubernetes pod
   (sharing the dnstap Unix socket).

Feel free to send pull requests or suggestions.

Sean Burford
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mm.dns-stats.org/pipermail/dns-stats-users/attachments/20211116/6e197734/attachment.html>

More information about the dns-stats-users mailing list