Awesome NomadPlugins

cneira/firecracker-task-driver

⭐ 184 Go repository created 2019-11-07

The project 'firecracker-task-driver' is a Nomad task driver designed to create and manage Firecracker micro-virtual machines (micro-vms) within the Nomad ecosystem. Firecracker is a virtualization technology that enables lightweight micro-vms, optimized for serverless computing and container workloads. This task driver integrates Firecracker with Nomad, allowing users to start and control micro-vms as part of their Nomad jobs. The driver supports Nomad versions from 0.9 up to 1.3.5 originally, with the latest supported version being 1.9.7. It requires a Linux environment with kernel version 4.14 or later, KVM enabled, and necessary kernel modules and packages such as tun and ip6tables. The project also depends on specific container networking plugins and the Firecracker binary version 0.25.2, as newer versions require additional work for compatibility. Installation involves compiling the driver binary and placing it in Nomad's plugin directory, then configuring Nomad to use the plugin. The driver supports detailed network configuration using CNI plugins, allowing micro-vms to have network connectivity and port mappings. It also supports creating root filesystems for micro-vms using ZFS zvols, which provide benefits like snapshots and efficient storage. The task driver offers various configuration options for the micro-vms, including specifying the kernel image, boot options, root filesystem, additional disks, network settings, CPU and memory allocation, and logging. It also supports disabling CPU hyperthreading. When a micro-vm starts, the driver creates a JSON file with details about the allocation, IP address, serial console, process ID, and virtual network interface. This project is highly relevant for users looking to leverage Firecracker micro-vms within Nomad for lightweight, secure, and efficient virtualization.

https://github.com/cneira/firecracker-task-driver

boot-diskbootdiskcnicontainer-networkingcpu-allocationext4firecrackerfirecracker-microvmsfirecracker-task-driverhyperthreadingjob-specificationkernel-imagekvmlinuxlinux-kernelloggingmemory-allocationmicro-virtual-machinesmicro-vmsmicrovmnomadpluginport-mappingroot-filesystemrootfstask-drivervirtualizationvmlinuxzfs

Also in Plugins

Roblox/nomad-driver-containerd

Nomad-driver-containerd is a Nomad task driver that enables launching containers directly using containerd, providing a Docker-free container orchestration solution within Nomad.

Roblox/nomad-driver-iis

Nomad-driver-iis is a Nomad task driver plugin by Roblox for orchestrating Windows IIS website tasks, enabling automated management of IIS application pools and sites within Nomad clusters.

cneira/jail-task-driver

A HashiCorp Nomad task driver plugin that enables running tasks inside FreeBSD jails, providing native containerization and resource control for FreeBSD environments.

dokku/dokku-scheduler-nomad

dokku-scheduler-nomad is a Dokku plugin that integrates Nomad as a scheduler for deploying applications within a Nomad cluster environment.

hashicorp/nomad-driver-podman

A Nomad task driver plugin that enables sandboxing and management of workloads in Podman containers with advanced resource and network configuration features.

hashicorp/terraform-provider-nomad

Terraform Nomad provider plugin maintained by HashiCorp enabling infrastructure as code management of Nomad resources through Terraform.