Skip to content
@weaveworks-liquidmetal

Weaveworks Liquid Metal

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?

Head on over to our getting started repo where we have documentation, demos and some automatcion 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 Public

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

    Go 46 9

  2. Image building for Weaveworks Liquid Metal projects.

    Dockerfile 6

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

    Go 4

  4. fl Public

    An experimental CLI for interacting with Flintlock

    Go

Repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Most used topics