The answer to this will depend on your setup but here are two things to keep in mind. If you can install software via Kubernetes, then you don't need to build your own images, for example for a Ruby on Rails application, you don't need Ruby at the host system, since it will running in containers. If you cannot or don't want to install on Kubernetes, then just keep this in mind. Changes to your cloud-config can be applied on a node and the effects will be present as soon as you reboot, giving you a faster feedback loop, while changes done at the Dockerfile level, will require that you build a new image and upgrade all your nodes.