This is a Nomad Driver plugin that allows HSDP Container Host instances to function as Nomad client nodes.
The initial focus is on getting things working on a single client. Once this is stable we will expand the scope of the project to cluster setups and possibly enabling auto scaling features.
The primary goal of this project is to build knowledge of Nomad and its internals and to validate Nomad as a possible alternative to Kubernetes which is much more complex and heavy weight.
The current Container Host architecture rules out any sort of multi-tenancy capability of the Nomad cluster so any deployment using this driver is effectively single tenant today. This is fine as there is very little overhead. Customers can theoretically spin up dozens of clusters side by side. Even though the driver is Container Host specific, any knowledge we gain should be applicable to any future hardened environment. Potentially, it can also be an interesting platform for on-premise or hybrid deployments.
Clone the repository somewhere in your computer. This project uses
Go modules so you will need to set
the environment variable GO111MODULE=on
or work outside your GOPATH
if it
is set to auto
or not declared.
$ git clone https://github.com/loafoe/nomad-driver-ch
Enter the plugin directory.
Build the plugin.
$ go build .
$ nomad agent -dev -config=./example/agent.hcl -plugin-dir=$(pwd)
# in another shell
$ nomad run ./example/example.nomad
$ nomad logs <ALLOCATION ID>
Apache 2.0