Skip to content

dell/csi-baremetal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1d325a5 · Feb 18, 2025
Sep 26, 2024
May 27, 2024
Oct 12, 2021
May 13, 2024
Jul 31, 2024
Jun 18, 2024
Feb 18, 2025
Nov 19, 2024
Nov 18, 2024
Apr 4, 2024
Sep 29, 2020
Jan 21, 2025
May 15, 2023
Nov 7, 2024
Jul 31, 2024
May 13, 2024
Jan 13, 2025

Repository files navigation

PR validation E2E testing codecov Go Report Card Kubernetes

Bare-metal CSI Driver

Bare-metal CSI Driver is a CSI spec implementation to manage locally attached disks for Kubernetes.

  • Project status: GA

Features

  • Dynamic provisioning: Volumes are created dynamically when PersistentVolumeClaim objects are created.
  • Volume binding modes
    • WaitForFirstConsumer
  • Generic ephemeral volumes (k8s v1.21+)
  • LVM support
  • Storage classes for the different drive types: HDD, SSD, NVMe
  • Drive health detection
  • Scheduler extender
  • Support unique ID for each node in the K8s cluster
  • Service procedures - node and disk replacement
  • Volume expand support
  • Raw block mode
  • Ability to deploy on subset of nodes within cluster
  • CSI Operator

Planned features

  • User defined storage classes
  • NVMeOf support
  • Kubernetes Scheduler
  • SMART Self Test execution
  • Volume cloning
  • Support of additional Linux distributions/versions

Related repositories

Installation process

Installation process is documented in Bare-metal CSI Operator

Upgdare process

Upgrade process is documented in Bare-metal CSI Operator

High level architecture

Bare-metal CSI driver consists from the following components:

  • Operator - responsible for CSI deployment and lifecycle (upgrade, node add/remove, etc.)
  • Scheduler extender - handles filter and score requests coming from scheduler, requests capacity reservation from Controller service
  • Scheduler patcher - automates scheduler configuration patching, optional component
  • Controller service - handles Create/Delete/Expand Volume requests
  • Node service - handles Volume Stage/Unstage, Publish/Unpublish requests
  • Drive manager - discovers locally attach disks (drives)
  • Node controller - maintains persistent node IDs

Screenshot

Contribution

Please refer Contribution Guideline fo details