8000 GitHub - aland-zhang/topolvm: Topology aware CSI plugin using LVM for Kubernetes
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

aland-zhang/topolvm

 
 

Repository files navigation

GitHub release CircleCI GoDoc Go Report Card Docker Repository on Quay

TopoLVM

TopoLVM is a CSI plugin using LVM for Kubernetes. It can be considered as a specific implementation of local persistent volumes using CSI and LVM.

Project Status: Initial Development

Supported environments

  • Kubernetes
    • 1.14+
  • Node OS
    • CoreOS Container Linux
    • Other Linux distributions should work but not tested

Features

  • Dynamic provisioning: Volumes are created dynamically when PersistentVolumeClaim objects are created.
  • Raw block volume: Volumes are available as block devices inside containers.
  • Topology: TopoLVM uses CSI topology feature to schedule Pod to Node where LVM volume exist.
  • Extended scheduler: TopoLVM extends the general Pod scheduler to prioritize Nodes having larger storage capacity.

Planned features

  • Volume Expansion: Once Kubernetes support for volume expansion for CSI matures to beta, we will implement it.
  • Snapshot: When we want it.

Programs

This repository contains these programs:

  • csi-topolvm: Unified CSI driver.
  • lvmd: gRPC service to manage LVM volumes
  • lvmetrics: A DaemonSet sidecar container to expose storage metrics as Node annotations
  • topolvm-scheduler: A scheduler extender for TopoLVM
  • topolvm-node: A sidecar to communicate with CSI controller over TopoLVM custom resources.
  • topolvm-hook: A MutatingAdmissionWebhook for topolvm-scheduler.

lvmd is a standalone program that should run on Node OS as a systemd service. Other programs are packaged into container images.

Documentation

docs directory contains documents about designs and specifications.

About

Topology aware CSI plugin using LVM for Kubernetes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 94.0%
  • Makefile 5.4%
  • Other 0.6%
0