Karvdash: A complete software stack for performing data science on Kubernetes
2021-11-13, 18:30–19:00, Room 1

Karvdash (Kubernetes CARV dashboard) is a dashboard service for facilitating data science on Kubernetes. It supplies the landing page for users, allowing them to launch notebooks and other services, design workflows, and specify parameters related to execution through a user-friendly interface. Karvdash manages users, wires up relevant storage to the appropriate paths inside running containers, securely provisions multiple services under one externally-accessible HTTPS endpoint, while keeping them isolated in per-user namespaces at the Kubernetes level, and provides an identity service for OAuth 2.0/OIDC-compatible applications.


Karvdash (Kubernetes CARV dashboard) is a service for facilitating data science in Kubernetes-based environments, by supplying the landing page for users, allowing them to launch notebooks and other services, design workflows, and specify parameters related to execution through a user-friendly interface. Karvdash aims to make it straightforward for domain experts to interact with resources in the underlying infrastructure without having to understand lower-level tools and mechanisms.

In summary, Karvdash provides a web-based, graphical frontend - a dashboard - for users to:

  • Launch services or applications from customizable templates.
  • Organize container images stored in a private registry.
  • Manage files that are automatically attached to service and application containers when launched.

Under the hood, Karvdash:

  • Securely provisions multiple services under one externally-accessible HTTPS endpoint.
  • Performs high-level user management and isolates respective services in per-user Kubernetes namespaces.
  • Provides an identity service for authenticating users in OAuth 2.0/OIDC-compatible applications.

Kubernetes provides all the tools to do data sharing, create namespaces, etc., but the exact implementation and structure of the overall environment is left to the developer. Karvdash implements a “traditional” user scheme, which is then mapped to Kubernetes namespaces and service accounts. Kubernetes does not have “users” and no place to “login into” by default. In addition, Karvdash wires up relevant storage to the appropriate paths inside running containers, which significantly simplifies data management. Private and shared files are automatically accessible in all execution contexts and also available through the dashboard.

Karvdash is an open-source project, written in Python using Django. It is actively developed and comes with a user guide and API documentation. You can easily deploy Karvdash on your Kubernetes cluster, or use the Kubernetes 1-Click App in the DigitalOcean Marketplace to quickly try it out in the Cloud.

See also: Presentation

Dr. Antony Chazapis is a postdoctoral scholar at FORTH-ICS. He received his Ph.D. in 2009 in Computer Science from the National Technical University of Athens. He works on distributed, large-scale storage systems and software defined storage architectures. From 2011 to 2019, he was working in the industry, engineering solutions and leading software development teams that have created innovative storage products for the data center and the Cloud. His experience and interests also include virtualization platforms for both compute and storage, high-performance data center design, and highly-scalable software deployments that span the whole computing continuum, from the Cloud to the Edge.