Arktos is an open source cluster management system designed for large scale clouds. It is evolved from the open source Kubernetes v1.15 codebase with some fundamental improvements.
Arktos aims to be an open source solution to address key challenges of large scale clouds, including system scalability, resource efficiency, multitenancy, cross-AZ resiliency, and the native support for the fast-growing modern workloads such as containers and serverless functions.
Arktos achieves a scalable architecture by partitioning and replicating system components, including API Server, storage, controllers and data plane. The eventual goal of Arktos is to support 100K nodes with a single cross-AZ control plane.
Arktos implements a hard multi-tenancy model to meet the strict isolation requirement highly desired by a typical public cloud environment. Tenant is a built-in object in the system, and some flexible multi-tenancy models can also be supported with customized resource authorization rules.
In addition to container orchestration, Arktos implements a built-in support for VMs. In Arktos a pod can contain either containers or a VM. They are scheduled the same way and launched by node agent using different runtime servers. VMs and containers are both the first-class citizens in Arktos.
More features are planned but not started yet, including intelligent scheduling, in-place resource update, QoS enforcement, etc.
To build Arktos, you just need to clone the repo and run "make":
Note: you need to have a working Go 1.12 environment. Go 1.13 is not supported yet.
mkdir -p $GOPATH/src/github.com
cd $GOPATH/src/github.com
git clone https://github.com/futurewei-cloud/arktos
cd arktos
make
To run a single-node Arktos cluster in your local development box:
cd $GOPATH/src/github.com/arktos
hack/arktos-up.sh
After the Arktos cluster is up, you can access the cluster with Kubectl tool just like what you do with a Kubernetes cluster. For example:
cd $GOPATH/src/github.com/arktos
cluster/kubectl.sh get nodes
For more complicated cluster setups, please refer to Arktos Cluster Setup Guide.
The design document folder contains the detailed design of already implemented features, and also some thoughts for planned features.
The user guide folder provides information about these features from users' perspective.
To report a problem, please create an issue in the project repo.
To ask a question, here is the invitation to join Arktos slack channels. You can also post in the email group, or create an issue of question type in the repo.