Firecracker Executor for Apache Mesos


Achtung! Der Firecracker Executor ist in sehr früher Entwicklung.

Der Firecracker Executor für Apache Mesos soll es ermöglichen, Workload in MicroVM’s auszuführen.

MicroVM Image erstellen

Um Firecracker nutzen, benötigen wir ein VM Image mit den von uns benötigten Komponenten. Für den ersten Test belassen wir es bei einem einfachen Kernel und Alpine als RootFS.

> git clone https://github.com/AVENTER-UG/vmm-agent.git
> make build-bin
> make kernel
> make rootfs

Installation Firecracker Executor

Im ersten Schritt compilieren wir den firecracker executor.

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

Die dadurch erstellte mesos-firecracker-executor Executable, sowie die zuvor erstellte rootfs.ext4 und vmlinuz muss auf jeden Mesos Agent in das /usr/libexec/mesos Verzeichnis kopiert werden.

Aktuell muss die Apache Mesos Isolation Konfiguration wie folgt angepasst werden:

MESOS_ISOLATION=filesystem/linux,docker/runtime

Workload Deploy

Workload für Custom Executor kann z.B. über Marathon als auch über unser. mesos-compose Framework deployed werden. Das nachfolgende Beispiel bedient unser mesos-compose Framework:

version: '3.9'
services:
  test1:
    command: "sleep 1"
    environment:
      - FIRECRACKER_WORKDIR=/usr/libexec/mesos
      - FIRECRACKER_AGENT_PORT=8080
    labels:
      biz.aventer.mesos_compose.executor: "/usr/libexec/mesos/mesos-firecracker-executor"