I’ve just completed a basic Docker Machine driver for OpenCrowbar. This enables you to quickly spin-up (and down) remote Docker hosts on bare metal servers from their command line tool. There are significant cost, simplicity and performance advantages for this approach if you were already planning to dedicate servers to container workloads.
The basics are pretty simple: using Docker Machine CLI you can “create” and “rm” new Docker hosts on bare metal using the crowbar driver. Since we’re talking about metal, “create” is really “assign a machine from an available pool.”
Behind the scenes Crowbar is doing a full provision cycle of the system including installing the operating system and injecting the user keys. Crowbar’s design would allow operators to automatically inject additional steps, add monitoring agents and security, to the provisioning process without changing the driver operation.
Beyond Create, the driver supports the other Machine verbs like remove, stop, start, ssh and inspect. In the case of remove, the Machine is cleaned up and put back in the pool for the next user [note: work remains on the full remove>recreate process].
Overall, this driver allows Docker Machine to work transparently against metal infrastructure along side whatever cloud services you also choose.
Want to try it out?
- You need to setup OpenCrowbar – if you follow the defaults (192.168.124.10 ip, user, password) then the Docker Machine driver defaults will also work. Also, make sure you have the Ubuntu 14.04 ISO available for the Crowbar provisioner
- Discover some nodes in Crowbar – you do NOT need metal servers to try this, the tests work fine with virtual machines (tools/kvm-slave &)
- Clone my Machine repo (Wde’re looking for feedback before a pull to Docker/Machine)
- Compile the code using script/build.
- Allocate a Docker Node using ./docker-machine create –driver crowbar testme
- Go to the Crowbar UI to watch the node be provisioned and configured into the Docker-Machines pool
- Release the node using ./docker-machine rm testme
- Go to the Crowbar UI to watch the node be redeployed back to the System pool
- Try to contain your enthusiasm :)