Setting Up HTTPS/TLS Between a Kubernetes Cluster and an iOS Device With a Self-Signed Certificate

Using cert-manager and nginx-ingress

Nintendo Engineer
The Startup

--

Photo by NESA by Makers on

Yes, I know. I, too, prefer a certificate signed by a known, publicly accessible Certificate Authority (CA). Sometimes, however, a self-signed certificate has its benefits. Testing locally, when you are running in a contained network, using a self-signed certificate might be the only way for you to test encrypted calls over TLS. Or you might be setting up a small local network of your own, with your own server(s), device(s) and access point(s), that has to run without any access to the internet. A closed off network that still needs encrypted traffic between the devices, which was the case for a problem I had to solve at my job. Looking for a way to do it online yielded some parts of the puzzle, but not all of them combined in one tutorial, beginning to end. This article is my attempt at creating just that, so let’s get started and see if I manage to pull that off!

Prerequisites

For this exercise I am going to assume a couple of things to be present:

  • You already have a Kubernetes (K8s) cluster running somewhere
  • There are Pods running under one or multiple Services
  • There is an Ingress…

--

--

Nintendo Engineer
The Startup

Geotechnical Engineer by education, .NET Developer by trade, Nintendo fan by design. Find me on Discord: NintendoEngineer#3083