Are there any plugins or methods by which one could run an application via K8S without the application being “containerized” within a Docker image/container? My client has a hard requirement that they can’t/won’t run their app within a Docker container (need to minimize CPU overhead; won’t re-write pieces of their program to run in a container versus natively on CentOS/Ubuntu bare metal hardware; among other things). However, they want to benefit from using K8S to schedule/bring-up/tear-down pods automatically.
Is there some sort of “lightweight container/alternative” and/or a plugin that can accommodate such a use case? If not, is there some sort of “K8S design pattern” that would suit such a (ugly) deployment model? i.e. is there some way to have a simple pod that runs a minimal application (e.g. a shell) in a pod/container that launches/manages/terminates a service/daemon on the node itself? Additionally, if such a hybrid approach is possible/viable, is there a way for it to supply the service to run on the node (so we don’t have to manually install/uninstall the native application by hand)?
I realize this is a horrible/hacky way to use K8S, but if there’s a practical way to accommodate it, I have to try.
One last note: the application must run natively, and can’t be run in a VM.