GithubHelp home page GithubHelp logo

loafoe / nomad-driver-ch Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 648 KB

Experimental Nomad Container Host driver plugin

License: Other

Makefile 0.25% HCL 6.68% Go 92.33% Dockerfile 0.74%
nomad nomad-task-driver container-host hsdp hashicorp-nomad

nomad-driver-ch's Introduction

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

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.

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

License

Apache 2.0

nomad-driver-ch's People

Contributors

dependabot[bot] avatar loafoe avatar

Stargazers

 avatar

Watchers

 avatar  avatar

nomad-driver-ch's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.