Skip to main content

Platform Layer

Kubernetes-Based Deployment​

The MASS management plane runs on Kubernetes. It leverages Kubernetes declarative state management to handle the storage server cluster lifecycle and automatically recovers from component failures.

Manager​

Manager is the single central orchestrator running in the cluster.

Key roles:

  • REST API / Dashboard: Entry point for creating, querying, and deleting all storage resources — VolumeGroups, Volumes, snapshots, backups, and more.
  • Scheduling: When a VolumeGroup creation request comes in, it determines placement nodes considering node topology, NUMA configuration, and remaining capacity.
  • Orchestration: Tracks overall cluster state and delegates provisioning tasks to each node's Agent.
  • Authentication and Access Control: Manages mTLS-based authentication and role-based access control policies.

Manager maintains high availability through leader election. On failure, a standby instance immediately takes over the leader role.

Agent​

Agent is a per-node controller running on each storage node.

Key roles:

  • Storage server lifecycle: Starts and stops storage server processes, detects state changes, and delegates necessary operations to the storage server.
  • Driver invocation: Delivers provisioning intents determined by Manager to the storage server.
  • Hardware management: Monitors and controls CPU, NIC, and NVMe temperatures, NVMe slot inventory, and BMC (power, fan, LED).
  • Status reporting: Reports node capacity (used/total), number of storage engines, and hardware health to Manager.

Provisioning Flow​

Using VolumeGroup creation as an example:

User → Manager REST API request
↓
Scheduler: determine placement nodes
↓
Agent (target node)
↓
Create pool on storage server
↓
Completed → status queryable via REST API

After provisioning is complete, client I/O does not go through this path. Clients communicate directly with storage servers.

info

Agent operates asynchronously on each node. Even for time-consuming operations like large pool creation, Manager tracks progress via polling without blocking.