English | ็ฎไฝไธญๆ
Open-Local is a local disk management system composed of multiple components. With Open-Local, using local storage in Kubernetes will be as simple as centralized storage.
- Local storage pool management
- Dynamic volume provisioning
- Extended scheduler
- Volume expansion
- Volume snapshot
- Volume metrics
- Raw block volume
- IO Throttling(direct-io only)
- Ephemeral inline volume
| Feature | Open-Local Version | K8S Version |
|---|---|---|
| Node Disk pooling | v0.1.0+ | 1.18-1.20 |
| Dynamic Provisioning | v0.1.0+ | 1.20-1.22 |
| Volume Expansion | v0.1.0+ | 1.20-1.22 |
| Volume Snapshot | v0.1.0+ | 1.20-1.22 |
| LVM/Block Device/Mountpoints as fs | v0.1.0+ | 1.18-1.20 |
| Raw Block Device(volumeMode: Block) | v0.3.0+ | 1.20-1.22 |
| IO-Throttling | v0.4.0+ | 1.20-1.22 |
| CSI ephemeral volumes | v0.5.0+ | 1.20-1.22 |
| IPv6 Support | v0.5.3+ | 1.20-1.22 |
| SPDK host device | v0.6.0+ | 1.20-1.22 |
| Read-write snapshot | v0.7.0+ | 1.20-1.22 |
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Master โ
โ โโโโโฌโโโโ โโโโโโโโโโโโโโโโโโ โ
โ โPodโPVCโ โ API-Server โ โ
โ โโโโโดโฌโโโ โโโโโโโโโโโโโโโโโโ โ
โ โ bound โฒ โ
โ โผ โ watch โ
โ โโโโโโ โโโโโโโโโดโโโโโโโโโ โ
โ โ PV โ โ Kube-Scheduler โ โ
โ โโโโโโ โโโดโโโโโโโโโโโโโโโโโดโโ โ
โ โฒ โ open-local โ โ
โ โ โ scheduler-extender โ โ
โ โ โโโโโโบโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโโโโโโ โ โ โฒ โ โ
โ โ NodeLocalStorage โ โcreateโ โ โ callback โ
โ โ InitConfig โ โโดโโโโโโโดโโโโโโ โโโโโโโโดโโโโโโโโ โโโโโโดโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโโโโโโ โ External โ โ External โ โ External โ โ
โ โฒ โ Provisioner โ โ Resizer โ โ Snapshotter โ โ
โ โ watch โโโโโโโโโโโโโโโค โโโโโโโโโโโโโโโโค โโโโโโโโโโโโโโโค โ
โ โโโโโโโดโโโโโโโ โโโโโโโโโโโโโโโดโโโดโโโโโโโโโโโโโโโดโโโดโโโโโโโโโโโโโโคGRPCโ
โ โ open-local โ โ open-local โ โ
โ โ controller โ โ CSI ControllerServer โ โ
โ โโโโโโโฌโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ create โ
โโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Worker โ โ
โ โ โ
โ โผ โโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโโโโโโ โ Kubelet โ โ
โ โ NodeLocalStorage โ โโโโโโโฌโโโโโโ โ
โ โโโโโโโโโโโโโโโโโโโโ โ GRPC Shared Disks โ
โ โฒ โผ โโโโโ โโโโโ โ
โ โ โโโโโโโโโโโโโโโโโโ โsdbโ โsdcโ โ
โ โ โ open-local โ create volume โโโโโ โโโโโ โ
โ โ โ CSI NodeServer โโโโโโโโโโโโโโโโโบ VolumeGroup โ
โ โ โโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โ Exclusive Disks โ
โ โ โโโโโโโโโโโโโโโ โโโโโ โ
โ โ update โ open-local โ init device โsddโ โ
โ โโโโโโโโโโโโโโโโโโค agent โโโโโโโโโโโโโโโโโโบ โโโโโ โ
โ โโโโโโโโโโโโโโโ Block Device โ
โ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Open-Localcontains four types of components:
- Scheduler extender: as an extended component of Kubernetes Scheduler, adding local storage scheduling algorithm
- CSI plugins: providing the ability to create/delete volume, expand volume and take snapshots of the volume
- Agent: running on each node in the K8s cluster, initializing the storage device according to the configuration list, and reporting local storage device information for Scheduler extender
- Controller: getting the cluster initial configuration of the storage and deliver a detailed configuration list to Agents running on each node
Open-Local also includes a monitoring dashboard:
Open-Local has been widely used in production environments, and currently used products include:
- ACK Distro
- Alibaba Cloud ECP (Enterprise Container Platform)
- Alibaba Cloud ADP (Cloud-Native Application Delivery Platform)
- CNStack Products
- AntStack Plus Products
More details here
Before adopting open-local in production, k8s users usually want to know use cases for open-local.
Please send us PR to update Use Cases with company, use case and since for wider adoption.
Join us from DingTalk: Group No.34118035
