Software Update

25. November 2022 Andreas Peters

There are a several updates of my software projects.

M3s - Kubernetes Framework for Apache Mesos

Version 0.4.0 of Mesos-M3s has been released. The following features have been added:

  • Redis reconnect after unhealthy ping.
  • Mysql support as datastore endpoint
  • Healthcheck for Datastore
  • Reconnect after losing connection to Mesos master.
  • Container volume to persist datastore.
  • Hashicorp Vault support for framework environment variables.
  • Support for TLS and bootstrap server authentication.
  • Support for cri-docker (enable with K3S_DOCKER=true).
  • Support for MySQL TLS data store communication
  • Support for CGroupV2 (bool env CGROUP_V2, default=false)
  • Docker parameter Ulimit (DOCKER_ULIMIT) to override the default value.
  • Mesos reconciliation loop to periodically sync state with Mesos.

I’ve updated Kubernetes to version 1.24.x. Please be aware to check if the used deployments are compatible.


Mesos-Compose - Container Orchestrator for Apache Mesos

Version 0.4.2 of Mesos-Compose has been released. The following features have been added:

  • Support for docker-compose capability parameter cap_add.
  • Support for mesos command executor. Set the label: biz.aventer.mesos_compose.container_type: “NONE”.
  • Support for environment variables for executor.
  • Docker container support for custom executor.
  • Support for docker compose cap-drop.
  • Support for docker comport pull_policy. Support for always (default) and missing.
  • Support for docker compose “placement -> constraints -> node.hostname” command.
  • Re-login after losing connection to Mesos master.
  • Mesos CLI plugin to start and stop mesos-compose workloads.
  • Support for Hashicorp Vault.
  • Support for node.platform.os and node.platform.arch constraint.
  • Support for docker-compose restart command.
  • Support for custom network with exposed ports.
  • Customize biz.aventer.mesos_compose.taskname: “test:app”.


Traefik - proxy and load balancer

Traefik has been released in version 2.9.5. As always I provide a patched version which includes my Mesos provider is included. With this version I’ve also implemented dynamic-lable-names. This simplifies adding and updating labels.

How to use dynamic label names?

All Traefik labels need a name. As example: “homepage”:

traefik.http.routers.homepage.entrypoints: "web"

To have this created dynamically, it must be rewritten as follows:

traefik.http.routers.__mesos_taskid__.entrypoints": "web"

The Traefik Mesos provider replaces __mesos_taskid__ in the label-key as well as in the label-value, by the unique taskID.