Firecracker Executor for Apache Mesos



With the Firecracker Executor for Apache Mesos it becomes possible to schedule MicroVM’s in a Mesos wrapper.

The functionality can be seen in the following picture. This is only one of many possible ways. The Executor is developed as open as possible to adapt to the needs of the respective environment.

Firecracker Executor

Create MicroVM Image

To use Firecracker, we need a VM image with the components we need. The following agent serves as an example:

> git clone https://github.com/AVENTER-UG/vmm-agent.git
> make 

Installation Firecracker Executor

In the first step we compile the firecracker executor.

> git clone https://github.com/AVENTER-UG/mesos-firecracker-executor.git
> make submodule-update
> make

The Makefile creates a Docker image which contains the executor as well as all required components. This Docker image is executed as executor in Apache Mesos.

Workload Deploy

Workload for Custom Executor can be deployed e.g. via Marathon as well as via mesos-compose framework. The following example uses the mesos-compose framework:

version: '3.9'
services:
  test1:
    image: avhost/firecracker:latest
    command: "sleep 1"
    environment:
      - FIRECRACKER_WORKDIR=/tmp
      - FIRECRACKER_AGENT_PORT=8080
    cap_add:
      - SYS_ADMIN
      - NET_ADMIN
    privileged: true
    labels:
      biz.aventer.mesos_compose.executor: "/tmp/mesos-firecracker-executor"
    pull_policy: always
    restart: no