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