This document discusses running Icinga2 monitoring software on Kubernetes using the Acorn tool. It describes how Acorn can bundle Docker images and configuration to deploy Icinga2 and its components on Kubernetes. The document walks through setting up an Icinga2 deployment with Acorn, including defining a blueprint configuration and deploying it. It concludes that Acorn provides an easy way for developers to get started with Kubernetes and maintain consistent environments, although it currently lacks some advanced features.
3. @d_bodky
Icinga2 for Devs
There are many possible setups for developing/debugging with/for Icinga2:
● VMs
● preconfigured Vagrant Boxes
● Docker Images
○ Icinga2
○ Icingaweb2
○ IcingaDB
5. @d_bodky
…but can it run on Kubernetes?
Perhaps!
● containers are available and do their jobs
● Kubernetes-on-desktop is available and
does its job
● let’s try!
6. @d_bodky
Welcome to Hell YAML
Resources needed in addition to containers:
● Secrets for
○ API user(s)
○ WebUI user(s)
○ database root password(s) and user(s)
● Volume(claims) for
○ database(s)
○ Icinga2 configuration
○ Icingaweb2 configuration
● Services/Ingresses
7. @d_bodky
Enter Stage Right: Acorn
● builds OCI-compliant artifacts, bundling images and
configuration
● docker-compose like configuration (my words)
● runs in-cluster, interacted with via API
● many features regarding ✨developer experience✨
13. @d_bodky
…summing it up
Acorn can be useful if…
● developers need/want to get started with Kubernetes without previous (or
little) knowledge about it
● dev, test, and prod environments shall ‘feel the same’
● different profiles/configurations need to be provided at deploy time
14. @d_bodky
…summing it up
Acorn still lacks…
● CRD support
● more flexible and extensible configuration/manipulation of API resources
● a few other quality-of-live features
15. @d_bodky
Thank you for listening!
https://github.com/mocdaniel/acorn-icinga2
https://hub.docker.com/r/dbodky/acorn-icinga2
…and Excalidraw and Carbon for helping with the slides… 😉