With MicroK8s it’s easy to enable the Kubernetes Dashboard by running If you’re running MicroK8s on a local PC or VM, you can access the dashboard with kube-proxy as described in the docs, but if you want to expose it properly then the best way to do this is with an Ingress resource. Firstly, make […]Read more "Exposing the Kubernetes Dashboard with an Ingress"
This guide explains how to build a highly-available, hyperconverged Kubernetes cluster using MicroK8s, Ceph and MetalLB on commodity hardware or virtual machines. This could be useful for small production deployments, dev/test clusters, or a nerdy toy. Other guides are available – this one is written from a sysadmin point of view, focusing on stability and […]Read more "Building a hyperconverged Kubernetes cluster with MicroK8s and Ceph"
Originally published 2015-09-02 on the UoB Unix blog The eduroam wireless network has a reliance on a database for the authorization and accounting parts of AAA (authentication, authorization and accounting – are you who you say you are, what access are you allowed, and what did you do while connected). When we started dabbling with database-backed AAA in 2007 […]Read more "Rethinking database architecture"
Originally published 2016-11-21 on the UoB Unix blog Several times, senior management have asked Team Wireless to provide an uptime figure for eduroam. While we do have an awful lot of monitoring of systems and services, it has never been possible to give a single uptime figure because it needs some detailed knowledge to make sense of […]Read more "Service availability monitoring with Nagios and BPI"
Originally published 2016-08-01 on the UoB Unix blog We make extensive use of SELinux on all our systems. We manage SELinux config and policy with the jfryman/selinux Puppet module, which means we store SELinux policies in plain text .te format – the same format that audit2allow generates them in. One of our SELinux policies that covers permissions for NRPE is a large file. When we generate […]Read more "Merging SELinux policies"
There are many benefits to Kubernetes but what’s not discussed so often is how to migrate your services from their legacy hosting to their new home in Kubernetes. Specifically, I’m looking at the case where you have a single server or a single public IP address and you want to run your services on that […]Read more "Fronting legacy services with Kubernetes"
I was trying to find a way to search my archive of recordings on Linux and return the filenames of 32-bit WAV audio files. It’s a little tricky, but I did it. You’ll need to install the ffprobe command (part of the ffmpeg package). I came up with this command. It’s quite long and maybe not the most […]Read more "Finding 32-bit WAV audio files on Linux"
I was looking for easy methods of burning several CD or DVD images across several drives simultaneously on Linux, since burning 20+ CDs on one burner is pretty tedious. It’s possible to use some bash magic to loop cdrecord in parallel but I wanted a GUI app as an alternative to using Nero or Alcohol […]Read more "CD/DVD duplication on Linux with TurboJet"
This is going to be a long article about photography and databases. Mostly databases, and in particular how to model certain photographic entities in a relational database. If you’re not interested in databases, stop reading now! I have quite a collection of cameras and lenses and I wanted to track as much information as possible […]Read more "Camera database"
Anyone who has come to this page either from photos.jonathangazeley.com or blog.jonathangazeley.com will notice I’ve now merged the two blogs in a single site called http://www.jonathangazeley.com. For now there are automatic redirects in place, and my RSS feed and all historic links will continue to work. But please do change your bookmarks, and if you […]Read more "Merging my blogs"