Docker Resourcing

I can find on the IA webpage the minimum resources Ignition will need on a traditional host. Is there the same for docker containers. If I have a Linux VM and I want to run several Ignition containers on it in order to simulate a bigger architecture then how big will that VM need to be?

If I understand it correctly, the Igntion project will consume the same amount of CPU/RAM/disk resources if it’s running in a docker container or directly on the host. From the application perspective, running multiple ignition docker containers on a single VM would use similar resource as running a VM per ignition m gateway.

However, using containers does save on operating system overhead compared to individual VMs, as only a single kernel is running.

I would probably expect to use the existing sizing guide as is, but ignore the comment in section 3 about leaving 1-2GB RAM available for the operating system (only account for this once on the VM, not per docker container).

https://inductiveautomation.com/resources/article/ignition-server-sizing-and-architecture-guide

3 Likes

Generally agree with @woodsb02 response above. :+1:

With containers, you're not only sharing the host kernel, you're also not duplicating all of the other host OS processes such as systemd, sshd, cron, snapd, and on and on.

Also, keep in mind that memory settings for the Ignition container targets the JVM Heap memory size. You may observe usage above that threshold due to non-heap memory. Good to leave a buffer above that max heap size.

2 Likes