Building your endless Kubernetes ocean

What is Liqo? Get Liqo!

What is Liqo?

Seamless, Dynamic and Secure Resource Sharing

Liqo is an open source project started at Politecnico of Turin that allows Kubernetes to seamlessly and securely share resources and services, so you can run your tasks on any other available cluster.

Thanks to the support for K3s, also single machines can participate, creating dynamic, opportunistic data centers that include commodity desktop computers and laptops as well.

Liqo leverages the same highly successful “peering” model of the Internet, without any central point of control. New peering relationships can be established dynamically, using auto-discovery.

Each cluster retains full control of its infrastructure, deciding what to share, how much, with whom, using ad-hoc policies. For security we leverage all the features available in Kubernetes, (RBAC, PSP, CRI).

With Liqo, there is no disruption neither in the common Kubernetes administration tasks nor from the user perspective because everything happens as your cluster gets bigger. And, for Liqo admin tasks, a dedicated GUI will bring you to your objective in a few clicks.

Liqo by applying the sharing economy principles, is great for the environment.

Get Started!

Liqo 0.3 is out in the wild!

The Liqo team is proud to announce the third major release that includes:

  • Support for deployments spanning across more than two clusters. Users can now seamlessly deploy and use applications on multiple clusters without modification. This is obtained through a brand new IPAM and an improved endpointSlice reflection logic.
  • Label-based cluster selectors. Clusters can now be identified by user-defined labels. This mechanism automatically allows to automatically (1) constrain the pod scheduling and (2) export services in selected clusters.
  • Improved UX. Liqo has now a new command-line interface, liqoctl, to simplify the installation process and handle the peering of new clusters. You can start your multi-cluster journey in just 2 commands.
  • Amazon EKS support. EKS joins the set of Liqo supported platforms.
  • HA Network Gateway. Active-Passive availability for the cross-cluster interconnection.
  • More Secure. Liqo implements a new permission management system and organizes the namespaces on the remote clusters in tenants using an integration with the Capsule. This allows (1) to reduce the number of privileges required when performing a peering and (2) provide access only to the replicated namespace on the remote cluster.

Take a look at the source code on GitHub.

Curious about our next steps? Check our Roadmap!

Or try it on KinD:

Create two K8s clusters:

source <(curl -L https://get.liqo.io/clusters.sh)

Install Liqoctl:

OS=linux
ARCH=amd64
curl --fail -LSO "https://get.liqo.io/liqoctl-${OS}-${ARCH}" && \
chmod +x "liqoctl-${OS}-${ARCH}" && \
sudo mv "liqoctl-${OS}-${ARCH}" /usr/local/bin/liqoctl

Install Liqo on both clusters:

export KUBECONFIG=$KUBECONFIG_1
liqoctl install kind
export KUBECONFIG=$KUBECONFIG_2
liqoctl install kind

Done!

Now you can play with Liqo by deploying a microservice-based demo application:

export KUBECONFIG=$KUBECONFIG_1
kubectl create namespace liqo-demo
kubectl label namespace liqo-demo liqo.io/enabled=true
kubectl apply -f https://get.liqo.io/app.yaml -n liqo-demo

You can see that pods are scattered across local and foreign nodes (e.g., cluster1-worker or liqo-*) by typing kubectl get pods -n liqo-demo -o wide. For a more complete example, please refer to the "Play with a micro-service application" in the Liqo tutorial.

Features

Share and save

Share and save

Share your resources. Use others’ if you want.

Unlimited

Unlimited

Harness the infinity of the ocean. Add your drop to extend it.

Secure

Secure

Control what you share. Choose who you connect with.

Industry-standard

Industry-standard

Based on Vanilla Kubernetes. Nothing more, nothing less.

Dynamic

Dynamic

Your needs change. Your resources follow, instantly.

Simple

Simple

Simple resource discovery. Simple resource usage.

The Story Behind Liqo

The idea for Liqo grew from a struggle we had at our University

We had plenty of powerful computers in our labs, but there were always some students complaining about their laptops not being powerful enough to run their jobs.

Our idea was straightforward: let’s transform our labs, including student laptops, into opportunistic data centers, so that heavy tasks can always be executed on the best resource among those available.

However, students didn’t want to give up the control of their laptops nor compromise in security. Here is where Liqo comes in: a way to share resources and services, while each user retains the full control on his/her box, whether it is the lab IT admin or the student, deciding what to share, how much, with whom. Controlled, secure sharing.

While working on this project, we realized that the capability to share Kubernetes clusters has much greater implications. Liqo can not only solve our student’s problems but also become the enabler for applications that rely on the democratization of edge computing such as Autonomous driving, IoT, Industry 4.0, Smart cities.

In fact, Liqo allows to run services on multiple clusters without even having to provision, build and operate your own distributed edge infrastructure. This project could optimize utilization of currently available resources and kickstart a first scale up of edge computing.

The Liqo name

Liqo stands for Liquid Computing: a new form of computing in which we do not care where our task is executed. In fact, do you care where your application is executed? Likely not, as long as your application runs securely and with the quality you expect.

With Liquid Computing, your app will be free to float in an infinite Kubernetes ocean, made by people who share their resources and services. You can focus on your application; the liquid infrastructure will take care of executing it at its best.

Liqo pronunciation stems from the beginning of li-quid co-mputing, hence li-co.

The LiqoErs

Liqo is a project started by a group of passionate computer engineers from Polytechnic of Turin, Italy.

We truly believe in open source and welcome contributions from anyone.

Get involved

Take a look at our GitHub repository for documentation, roadmap, feature requests, open issues, and more.

Get in touch

Shoot us an email, we’ll get back to you immediately!

Follow Liqo

Stay tuned on Liqo by following our Twitter Profile or “Liqo Announces” Mailing List!

Contribute

Join our Slack workspace and drop us a message.

Contact Us

Contact details

For more information, feature requests, possible customizations, or just to visit us, here are our contact details.