How to run Podman with Hashicorp Nomad on Ubuntu 20.04 LTS

Requirements

  • You already have a Nomad cluster running (or in dev mode)
  • Docker isn’t installed, or at least disabled (otherwise it will mess with iptables and your containers will probably not be reachable)

Install Podman on Nomad client nodes

For the official documentation, refer here.

Create a systemd service for Podman

Here the goal is to use the Podman API as a socket. Find more details here.
In this service example, we run Podman as root but you can run it (should?) with a non-root user, just make sure the socket file will be in a writable path for the podman user.

Then reload systemd and start Podman service

Download and install Podman plugin for Nomad on client nodes

Make sure you download the correct version for your distribution and your processor architecture. Find all Podman plugin versions here.
Note that the folder to your Nomad plugins may differ from this example.

Enable Podman plugin in Nomad clients

In the Nomad client nodes configuration file add. Don’t forget to reload the Nomad clients after the modification.

That’s it! Now you can enjoy Podman with Nomad :) Let’s try it with a simple job.

Create a job that uses the Podman plugin

For this example, we will launch a very basic job that will run a Redis instance in your Nomad cluster.

Note that in the driver section we now use “podman”.

Run your job

Check the status of your job

You should see your job running.

Hope this quick start with Podman and Hashicorp Nomad helped you ✌️

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store