Kubernetes deployments of Phoenix apps

Hello everyone,

I created a deployment tutorial for Phoenix applications with Kubernetes (microk8s) a few months back with the goal of simplifying the lifecycle. It was meant to be implemented at the company I work for but in the startup world we live in, temporary implementations tend to stick, and the approach was never implemented.

It took quite some effort, and instead of letting it rot away in a dead repository I decided to share the implementation here as I found the topic to be quite under-documented on the internet. I have no mentionable experience with elixir or phoenix itself but I think the approach could be useful to others.

The implementation was integrated in a gitlab repository that is now publlic Phoenix Kubernetes integrations. Some of the documentation might be lacking since we ultimately canceled the integration, however the whole shebang is implemented around a default template phoenix app, and filling in the gaps should not be too hard.

11 Likes

I could also set up a simpler version of the kubernetes deployment if people are interested and just want to see how the k8s work with the phoenix app. This one is made for deploying to multiple environments by the use of environment variables and bash scripts.

5 Likes

@hauks96 the more content we have on this stuff the better! Please do! Thanks!

5 Likes

Had some time recently to set up something much simpler and easier to follow than previously.

We’ve been running a similar setup in production over the past year now and It’s been an absolute pleasure to maintain. Give this project a look if you need some ideas on moving your deployments to kubernetes, you probably wont regret it!

6 Likes