nomad-driver-ch

command module
v0.0.22 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 20, 2021 License: Apache-2.0 Imports: 3 Imported by: 0

README

Nomad Container Host (ch) Driver Plugin

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.

Limitations and aspirations

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. 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.

Requirements

  • Nomad v1.1+
  • Go v1.17 or later (to build the plugin)

Building the Plugin

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.

```sh
$ go build .

Deploying Driver Plugins in Nomad

$ nomad agent -dev -config=./example/agent.hcl -plugin-dir=$(pwd)

# in another shell
$ nomad run ./example/example.nomad
$ nomad logs <ALLOCATION ID>

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL