Skip to content

v1.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 24 Apr 13:57
· 46 commits to refs/heads/main since this release

This first release bring the basic functionalities of RIK, and is stable enough to be released. You can learn more about it through the README and through our documentation.

What features are available ?

Main purpose:

  • Orchestrate workloads around a multi-node cluster

Components:

  • Controller binary is used to manage the state of the cluster, it's the only source of truth
  • Scheduler binary is used to determine the appropriate node for a workload
  • Scheduler component is able to re-scheduler a workload when a worker is unhealthy
  • Riklet binary is a worker, it receives workload from scheduler
  • Rikctl binary can be used to manage your cluster
  • Inter component communication is defined with protobuf

Workloads:

  • Workloads supported are pod and function
  • function workloads expect to be bring a custom rootfs and linux kernel in order to run
  • pod workloads are containers which support containers from hub.docker.com

High-level architecture

      ┌──────────────────────────────────────────┐
      │            Developer Computer            │
      │        ┌────────────────────────┐        │
      │        │         Rikctl         │        │
      │        └────────────────────────┘        │
      └─────────────────────┬────────────────────┘
                            │Communicate with Controller
                            │         HTTP API
            ┌───────────────┘
 ┌──────────┼───────────────────────────────────────┐
 │          │        Master Node                    │
 │          ▼                                       │
 │   ┌────────────┐               ┌────────────┐    │
 │   │            │               │            │    │
 │   │            │    Request    │            │    │
 │   │ Controller │ Orchestration │ Scheduler  │    │
 │   │            │◀─────────────▶│            │    │
 │   │            │               │            │    │
 │   │            │               │            │    │
 │   └────────────┘               └────────────┘    │
 │                               Manage  ▲          │
 │                             Workloads │          │
 └───────────────────────────────────────┼──────────┘
                                         │
  ┌──────────────────────────┐           │
 ┌┴─────────────────────────┐│           │
┌┴─────────────────────────┐││           │
│       Worker Node        │││           │
│                          │││           │
│                          │││           │
│    ┌────────────────┐    │││           │
│    │                │    │││           │
│    │                │    │││           │
│    │     Riklet     │    │││           │
│    │                │◀───┼┼┼───────────┘
│    │                │    │││
│    │                │    │││
│    └────────────────┘    │││
│                          │├┘
│                          ├┘
└──────────────────────────┘