Mirth on Kubernetes

Part: I

Enver Karadede
3 min readFeb 14, 2024

Hello there, tech enthusiasts and integration engineers! 👋🏼

Connecting the dots, being a pipe between the water stream and wilted flowers… That’s how I see being an integration engineer. And today, I want to guide you on how to run one of the best middleware applications for integration on Kubernetes using Minikube.

This is gonna be a long journey… Because I will explain everything in detail for the sake of beginner-friendly approach. That’s why I’m planning to split this guide into 3 pieces. And this is what I have covered in this guide.

Table of Content

  • Prerequisites
  • How to Install
    - Docker Desktop
    - Minikube
    - Kubectl
    - Optional: Lens
  • PostgreSQL Setup
    - Creating Configurations
    - Enabling Port Forwarding
  • Mirth Connect (NextGen) Setup
    - Creating Configurations

Prerequisites

Of course, just like any other setup bundles, we have some prerequisites before getting started.

  • Powershell / Winget / Chocolatey / Brew
  • Docker Desktop
  • Minikube
  • Kubectl
  • Optional: Lens Desktop

Powershell / Winget / Chocolatey / Brew: Package instal manager depending on your operating system

Docker Desktop: GUI for Docker, helps us to visualize our containers and easy management of these containers

Minikube: A lightweight Kubernetes implementation that helps us to deploy our clusters

Kubectl: A Command-line tool that helps us to run command against our Kubernetes clusters

Lens Desktop: GUI for our Kubernetes clusters that removes complexity, helps us to manage our clusters much easier and faster way

How to Install

Docker Desktop

Docker Desktop has all the features that Docker provides. Here is what Docker Desktop has;

  • Docker Engine
  • Docker CLI client
  • Docker Scout (additional subscription may apply)
  • Docker Build
  • Docker Extensions
  • Docker Compose
  • Docker Content Trust
  • Kubernetes
  • Credential Helper

To install Docker Desktop, go to its official website and click Download for <Your OS> button to download the installer.

Since it’s a one-click installation, steps are pretty forward so you can find your own way. There is no specific customization.

Minikube

Minikube is basically a local Kubernetes which allows you to develop Kubernetes environments easier and faster way.

Minimum System Requirements

  • 2 CPUs or more
  • 2GB of free memory
  • 20GB of free disk space
  • Internet connection
  • Container or virtual machine manager, such as: Docker, QEMU, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, or VMware Fusion/Workstation (We are going to use Docker)

To install Minikube, go to its official website and select your;

  • Operating System
  • Architecture
  • Release Type
  • Installer Type

according to your needs. Then the site will tell you how to install minikube depending on your selections.

Side Note: If you are using a Macbook or Mac that has Apple Silicon as a chipset, installing ARM64 might cause some problems throughout our journey. So eventhough I have an Apple Silicon Macbook, I have downloaded the x86–64 version.

Kubectl

Kubectl is a command-line tool to run commands against Kubernetes clusters. It lets you to deploy applications, manage and inspect resources of cluster and see the logs.

To install Kubectl;

Thanks to Kubernetes’ community, there is a well-documented installation guide in the links above. You can follow the steps and can install Kubectl without any problem.

Important Note: You need to make sure which version your cluster is before you install the Kubectl. According to the documentation,

You must use a kubectl version that is within one minor version difference of your cluster. For example, a v1.29 client can communicate with v1.28, v1.29, and v1.30 control planes. Using the latest compatible version of kubectl helps avoid unforeseen issues.

Optional: Lens

Lens is a solution to configure the settings of pods and their services in a much faster way.

To install Lens, simply go to it’s official website and click Download.

If you followed the guide till this point, thank you for your time, all the prerequisites should have been downloaded and installed. So our next step is to getting started to create our configuration YAML files. In the next part, we are going to setup PostgreSQL on Minikube.

--

--