Kubernetes operator for XRootD

Description

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.

A Kubernetes Operator is an abstraction for deploying non-trivial applications on Kubernetes. The Operator pattern aims to capture the key aim of a human operator who is managing a service or set of services. Indeed, human operators who look after specific applications and services have deep knowledge of how the system ought to behave, how to deploy it, and how to react if there are problems.

At CERN, the vast majority of physics and infrastructure data reside in a system named EOS. EOS is a disk-based, low-latency storage service with a highly scalable hierarchical namespace, which enables data access via the XRootD protocol. The XRootD protocol is also used by the Large Synoptic Survey Telescope data management team in order to build a system for user query access, called QServ, which will store galaxies and stars catalogs and that will ultimately contain trillions of rows and petabytes of data.

This project aims to develop a Kubernetes Operator for XRootD in order to ease and fully automate deployment and management of XRootD clusters. This Operator targets the whole field of existing infrastructure where XRootD can run: development workstations, continuous integration platforms, bare-metal clusters in academic datacenters, and also public cloud platforms.

Task ideas

Expected results

A production-ready operator for XRootD, enabling at least Basic Install and Seamless Upgrades features, and its related documentation.

Requirements

Go, Shell scripting, Kubernetes, C++

Mentors

Corresponding Project

Participating Organizations