Abstract
MetalK8s is a fully open source opinionated Kubernetes distribution with a focus on data management. Its designed for long-term on-prem deployments, launched by Scality to deploy its open source data management solution Zenko in customer datacenters.
Based initially on the Kubespray project, MetalK8s reliably installs 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.
Unlike hosted Kubernetes solutions, where network-attached storage is available and managed by the provider, we assume no such system to be available in environments where MetalK8s is deployed. As such, we focus on managing node-local storage, and exposing these volumes to containers managed in the cluster.