theefreelancer / armada

A multi-cluster batch queuing system for high-throughput workloads on Kubernetes.

Home Page:https://armadaproject.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CircleCI Go Report Card

Armada

Armada is a multi-Kubernetes cluster batch job scheduler.

Armada is designed to address the following issues:

  1. A single Kubernetes cluster can not be scaled indefinitely, and managing very large Kubernetes clusters is challenging. Hence, Armada is a multi-cluster scheduler built on top of several Kubernetes clusters.
  2. Acheiving very high throughput using the in-cluster storage backend, etcd, is challenging. Hence, queueing and scheduling is performed partly out-of-cluster using a specialized storage layer.

Armada is designed primarily for machine learning, AI, and data analytics workloads, and to:

  • Manage compute clusters composed of tens of thousands of nodes in total.
  • Schedule a thousand or more pods per second, on average.
  • Enqueue tens of thousands of jobs over a few seconds.
  • Divide resources fairly between users.
  • Provide visibility for users and admins.
  • Ensure near-constant uptime.

Armada is a CNCF Sandbox project used in production at G-Research.

For an overview of Armada, see these videos:

Armada adheres to the CNCF Code of Conduct.

Documentation

For an overview of the architecture and design of Armada, and instructions for submitting jobs, see:

To set up Armada for local development, see:

For API reference, see:

We expect readers of the documentation to have a basic understanding of Docker and Kubernetes; see, e.g., the following links:

Discussion

If you are interested in discussing Armada you can find us on slack

About

A multi-cluster batch queuing system for high-throughput workloads on Kubernetes.

https://armadaproject.io

License:Apache License 2.0


Languages

Language:Go 79.1%Language:TypeScript 9.0%Language:C# 8.5%Language:Python 1.4%Language:Makefile 0.6%Language:Smarty 0.4%Language:CSS 0.3%Language:Shell 0.3%Language:Dockerfile 0.2%Language:PLpgSQL 0.1%Language:JavaScript 0.0%Language:HTML 0.0%