Skip to content

lm

Hi there 👋

Thanks for visiting, this organization contains all the projects related to Weaveworks Liquid Metal.

🙋 What is Liquid Metal?

Liquid Metal is a set of solutions to:

  • Declaratively provision Kubernetes clusters dynamically on lightweight virtual machines (i.e. microVMs) and bare-metal
  • Create lightweight clusters to maximize the available [edge] compute
    • microVMs are our friend
    • More clusters/nodes on the available bare-metal hosts
    • Minimizing resource footprint without sacrificing hard isolation
  • Support clusters where direct access to hardware acceleration is needed (i.e. 5G networks)
  • Using standard kubernetes and linux kernel and operating system capabilities

Hang on, what is this microvm thing you mention!?! A microvm is a very lightweight virtual machine that optimizes for speed and less resource consumption over supporting a wide array of devices/etc. We support Firecracker and experimentally Cloud Hypervisor. Read more about this here and here.

🔎 How do i get started?

🧨 BREAKING NEWS 🧨 There are now brand new and extremely shiny user docs published right here 😱 . They are still a work-in-progress, but soon they will be a one-stop-shop for everything you could ever want to know about creating Liquid Metal platform and bare-metal workload clusters:

  • Getting started tutorial for running Liquid Metal on your own machine
  • Advanced guides to running Liquid Metal in production
  • Architecture diagrams
  • Community information
  • And much more!

While we work on this, if you notice the offical site doesn't have everything you need right now, you can head on over to our getting started repo where we have documentation, demos and some automation goodies for you 🎉.

✨ What are the main projects?

  • flintlock - this is an agent that's deployed to a host machine (physical or virtual) which enables you to start/manage microvms via API calls. It does not know of Kubernetes and could therefore be used to start a microvm to accomplish any task you choose. We integrate heavily with containerd as a way to use container images as the volumes for the microvm....copying rawfs files around is a real pain and very slow.
  • Cluster API Provider Microvm (CAPMVM) - this provides the Kubernetes cluster creation/lifecycle management (along with the Cluster API more generally). Its responsible for creating microvms on various hosts via calls to Flintlock and bootstrapping Kubernetes on those microvms. So a microvm becomes a whole Kubernetes node.
  • Image Builder - this is where we build the container images that we use for root volumes and kernels for the microvm.

🔦 What else are we looking at?

  • fl - an experimental CLI for interacting with flintlock to manage the lifecycle of microvms.
  • EKS-Anywhere (EKS-A) (poc) - we have been working on adding CAPMVM as a provider to EKS-A.
  • Microvm Scheduler (in-development) - this will enable the dynamic placement of microvms on the available pool of hosts machines taking into account resource availability/requirements, labels etc. So, a bit like kube-scheduler but for microvms. We will be providing some integration points so that the scheduler can automatically determine the available baremetal hosts, and we'll add an integration for Tinkerbell (and probably Ironic & MaaS).

✏️ Want to know more?

Get in contact with us if you want to learn more about Liquid Metal. You can hit us up in any of these ways:

📚 Some extra reading

Pinned

  1. flintlock flintlock Public

    Lock, Stock, and Two Smoking MicroVMs. Create and manage the lifecycle of MicroVMs backed by containerd.

    Go 432 29

  2. image-builder image-builder Public

    Image building for Weaveworks Liquid Metal projects.

    Dockerfile 16 9

  3. cluster-api-provider-microvm cluster-api-provider-microvm Public

    The Cluster API provider for creating microvm (i.e. Firecracker, Cloud Hypervisor) clusters

    Go 72 6

  4. fl fl Public

    An experimental CLI for interacting with Flintlock

    Go 2 3

Repositories

Showing 10 of 13 repositories

Top languages

Loading…

Most used topics

Loading…