The open source Kubernetes distribution optimized for bare-metal to simplify on-premises deployments

We’re making it easier to run Kubernetes on bare metal servers to support stateful applications that need stable persistent storage. MetalK8s is an open source opinionated K8s distribution, to simplify on-premises deployments.

MetalK8s Architecture

MetalK8s is based on the Kubespray project to reliably install a base Kubernetes cluster, including all dependencies (like etcd), using the Ansible provisioning tool. This installation is further augmented with operational tools for monitoring and metering, including Prometheus, Grafana, ElasticSearch and Kibana. Furthermore, an “ingress controller” is deployed by default, based on Nginx. All of these are managed as Helm packages.

A Kubernetes cluster deployed on the most clouds comes with built-in tooling for centralized container log management, metrics collection, tracing, node health checking and more.

In MetalK8s, we augment a basic Kubernetes cluster deployed using the Kubespray playbook) with various tools to bring an on-premise cluster to the same level of operability.

“Our Zenko goal is simple: bring control and visibility to the developer to unleash a new generation of multi-cloud applications.”

Giorgio Regni
Founder & CTO at Scality

Getting started with MetalK8s

Zenko is Scality’s Open Source Multi-Cloud Data Controller

To quickly set up a testing cluster you need 3 machines running CentOS 7.4 to which you have SSH access (these can be VMs). Each machine acting as a Kubernetes node (all of them, in this example) also need to have at least one disk available to provision storage volumes.

MetalK8s is released under the Apache Software License v2.0 on GitHub.

Feel free to get the code and run it to deploy your own bare-metal K8s cluster. We’re happy to get feedback!