Local Storage is one of HwameiStor components. It will provision the local LVM volume.

Overview

Local Storage Module

codecov

English | Simplified_Chinese

Introduction

Local Storage is one of modules of HwameiStor which is a cloud native local storage system. it aims to provision high performance persistent LVM volume with local access to applications.

Support local volume kinds: LVM.

Support disk types: HDD, SSD, NVMe.

Architecture of HwameiStor

image

Features and Roadmap

This Roadmap provides information about local-storage releases, as well as feature tracking.

Use Cases

HwameiStor provisions two kind of local volumes, LVM and Disk. As a component of HwameiStor, Local Storage provisions two types of local LVM volumes, HA and non-HA.

For the non-HA local LVM volume, it's the best data persistent solution for the following use cases:

  • Database with HA capability, such as MongoDB, etc..
  • Messaging system with HA capability, such as Kafka, RabbitMQ, etc..
  • Key-value store with HA capability, such as Redis, etc..
  • Others with HA capability

For the HA local LVM volume, it's the best data persistent solution for the following use cases:

  • Database, such as MySQL, PostgreSQL etc..
  • Other applications which requires the data HA feature.

Usage With Helm Chart

Local Storage must work with Local Disk Manager module. It's suggested to install by helm-charts

Usage With Independent Installation

Developer can start using local-storage With independent-installation, This is for developing or test, and will deploy local-storage from github repo. Please install the Local Disk Manager firstly.

Glossary

  • LocalDisk LDM abstracts disk resources into objects in k8s. A LocalDisk (LD) resource object represents the disk resources on the host..
  • LocalDiskClaim The way to use disk, users can add a description of the disk to select the disk to be used..
  • LocalVolume LocalVolume is a logical concept in the system, with control node management..
  • LocalVolumeReplica The LocalVolumeReplica resource is created by a control node when creating or updating the Volume.The LocalVolumeReplica is assigned to the specified node that creates / manages the local storage (e.g. LV) based on its content, and maintains it in real-time..
  • LocalStorageNode Each node should create its own Node CRD resource and proactively maintain and update relevant information..

Feedbacks

Please submit any feedback and issue at: Issues

Issues
  • exec cmd

    exec cmd "go mod tidy" error

    Brach: master Error: github.com/stretchr/objx: github.com/hwameistor/[email protected] (replaced by ../local-disk-manager): reading ../local-disk-manager/go.mod: open /Users/xxxx/xxxxx/go/src/local-disk-manager/go.mod: no such file or directory

    opened by jiuker 6
  • go 1.16 would select

    go 1.16 would select

    Hi, My go version is go version go1.18rc1 darwin/amd64,when I exec 'go mod tidy'(After I clone github.com/hwameistor/local-disk-manager),I got this:

    go: downloading github.com/onsi/ginkgo v1.12.1
    go: downloading github.com/onsi/gomega v1.10.1
    go: downloading k8s.io/apiextensions-apiserver v0.18.6
    go: downloading github.com/kr/pretty v0.1.0
    go: downloading github.com/grpc-ecosystem/grpc-gateway v1.9.5
    go: downloading github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8
    go: downloading go.etcd.io/bbolt v1.3.3
    go: downloading github.com/gorilla/websocket v1.4.0
    go: downloading golang.org/x/lint v0.0.0-20190930215403-16217165b5de
    go: downloading golang.org/x/tools v0.1.1
    go: downloading golang.org/x/mod v0.4.2
    go: downloading sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e
    go: downloading github.com/docker/docker v1.4.2-0.20200203170920-46ec8731fbce
    go: downloading google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24
    go: downloading go.etcd.io/bbolt v1.3.4
    go: downloading github.com/grpc-ecosystem/grpc-gateway v1.12.1
    go: downloading github.com/grpc-ecosystem/go-grpc-middleware v1.1.0
    github.com/hwameistor/local-storage/cmd/scheduler imports
            k8s.io/kubernetes/cmd/kube-scheduler/app imports
            github.com/spf13/cobra loaded from github.com/spf13/[email protected],
            but go 1.16 would select v1.0.0
    github.com/hwameistor/local-storage/cmd/scheduler imports
            k8s.io/kubernetes/cmd/kube-scheduler/app imports
            k8s.io/apiserver/pkg/util/term imports
            github.com/docker/docker/pkg/term loaded from github.com/docker/[email protected],
            but go 1.16 would select v1.4.2-0.20200203170920-46ec8731fbce
    github.com/hwameistor/local-storage/pkg/member/csi imports
            github.com/container-storage-interface/spec/lib/go/csi imports
            google.golang.org/grpc/status imports
            google.golang.org/genproto/googleapis/rpc/status loaded from google.golang.org/[email protected],
            but go 1.16 would select v0.0.0-20200117163144-32f20d992d24
    github.com/hwameistor/local-storage/pkg/scheduler imports
            k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1 imports
            k8s.io/component-base/metrics imports
            github.com/blang/semver loaded from github.com/blang/[email protected]+incompatible,
            but go 1.16 would select v3.5.1+incompatible
    github.com/hwameistor/local-storage/cmd/scheduler imports
            k8s.io/kubernetes/cmd/kube-scheduler/app imports
            k8s.io/apiserver/pkg/server/routes imports
            k8s.io/kube-openapi/pkg/handler imports
            github.com/NYTimes/gziphandler loaded from github.com/NYTimes/[email protected],
            but go 1.16 would select v1.1.1
    github.com/hwameistor/local-storage/cmd/scheduler imports
            k8s.io/kubernetes/cmd/kube-scheduler/app imports
            k8s.io/apiserver/pkg/util/term imports
            github.com/docker/docker/pkg/term imports
            github.com/docker/docker/pkg/term/windows loaded from github.com/docker/[email protected],
            but go 1.16 would select v1.4.2-0.20200203170920-46ec8731fbce
    github.com/hwameistor/local-storage/pkg/member/csi imports
            github.com/container-storage-interface/spec/lib/go/csi imports
            google.golang.org/grpc/codes tested by
            google.golang.org/grpc/codes.test imports
            google.golang.org/genproto/googleapis/rpc/code loaded from google.golang.org/[email protected],
            but go 1.16 would select v0.0.0-20200117163144-32f20d992d24
    github.com/hwameistor/local-storage/pkg/member/csi imports
            github.com/container-storage-interface/spec/lib/go/csi imports
            google.golang.org/grpc/status tested by
            google.golang.org/grpc/status.test imports
            google.golang.org/genproto/googleapis/rpc/errdetails loaded from google.golang.org/[email protected],
            but go 1.16 would select v0.0.0-20200117163144-32f20d992d24
    github.com/hwameistor/local-storage/pkg/scheduler imports
            k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1 imports
            k8s.io/kubernetes/pkg/controller/volume/scheduling imports
            k8s.io/apiserver/pkg/storage/etcd3 tested by
            k8s.io/apiserver/pkg/storage/etcd3.test imports
            github.com/coreos/pkg/capnslog loaded from github.com/coreos/[email protected],
            but go 1.16 would select v0.0.0-20180928190104-399ea9e2e55f
    github.com/hwameistor/local-storage/cmd/alerter imports
            sigs.k8s.io/controller-runtime/pkg/client/config tested by
            sigs.k8s.io/controller-runtime/pkg/client/config.test imports
            sigs.k8s.io/controller-runtime/pkg/log/zap imports
            go.uber.org/zap tested by
            go.uber.org/zap.test imports
            golang.org/x/lint/golint loaded from golang.org/x/[email protected],
            but go 1.16 would select v0.0.0-20191125180803-fdd1cda4f05f
    github.com/hwameistor/local-storage/pkg/apis imports
            k8s.io/apimachinery/pkg/runtime imports
            sigs.k8s.io/structured-merge-diff/v3/value imports
            gopkg.in/yaml.v2 tested by
            gopkg.in/yaml.v2.test imports
            gopkg.in/check.v1 imports
            github.com/kr/pretty loaded from github.com/kr/[email protected],
            but go 1.16 would select v0.2.1
    github.com/hwameistor/local-storage/cmd/alerter imports
            sigs.k8s.io/controller-runtime/pkg/client/config tested by
            sigs.k8s.io/controller-runtime/pkg/client/config.test imports
            sigs.k8s.io/controller-runtime/pkg/log/zap imports
            go.uber.org/zap tested by
            go.uber.org/zap.test imports
            golang.org/x/lint/golint imports
            golang.org/x/lint loaded from golang.org/x/[email protected],
            but go 1.16 would select v0.0.0-20191125180803-fdd1cda4f05f
    github.com/hwameistor/local-storage/pkg/scheduler imports
            k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1 imports
            k8s.io/kubernetes/pkg/controller/volume/scheduling imports
            k8s.io/apiserver/pkg/storage/etcd3 tested by
            k8s.io/apiserver/pkg/storage/etcd3.test imports
            go.etcd.io/etcd/integration imports
            go.etcd.io/etcd/embed imports
            github.com/grpc-ecosystem/grpc-gateway/runtime loaded from github.com/grpc-ecosystem/[email protected],
            but go 1.16 would select v1.12.1
    github.com/hwameistor/local-storage/pkg/scheduler imports
            k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1 imports
            k8s.io/kubernetes/pkg/controller/volume/scheduling imports
            k8s.io/apiserver/pkg/storage/etcd3 tested by
            k8s.io/apiserver/pkg/storage/etcd3.test imports
            go.etcd.io/etcd/integration imports
            go.etcd.io/etcd/embed imports
            github.com/tmc/grpc-websocket-proxy/wsproxy loaded from github.com/tmc/[email protected],
            but go 1.16 would select v0.0.0-20190109142713-0ad062ec5ee5
    github.com/hwameistor/local-storage/pkg/scheduler imports
            k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1 imports
            k8s.io/kubernetes/pkg/controller/volume/scheduling imports
            k8s.io/apiserver/pkg/storage/etcd3 tested by
            k8s.io/apiserver/pkg/storage/etcd3.test imports
            go.etcd.io/etcd/integration imports
            go.etcd.io/etcd/embed imports
            go.etcd.io/bbolt loaded from go.etcd.io/[email protected],
            but go 1.16 would select v1.3.4
    github.com/hwameistor/local-storage/pkg/scheduler imports
            k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1 imports
            k8s.io/kubernetes/pkg/controller/volume/scheduling imports
            k8s.io/apiserver/pkg/storage/etcd3 tested by
            k8s.io/apiserver/pkg/storage/etcd3.test imports
            go.etcd.io/etcd/integration imports
            go.etcd.io/etcd/etcdserver/api/v3rpc imports
            github.com/grpc-ecosystem/go-grpc-middleware loaded from github.com/grpc-ecosystem/[email protected],
            but go 1.16 would select v1.1.0
    github.com/hwameistor/local-storage/pkg/scheduler imports
            k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1 imports
            k8s.io/kubernetes/pkg/controller/volume/scheduling imports
            k8s.io/apiserver/pkg/storage/etcd3 tested by
            k8s.io/apiserver/pkg/storage/etcd3.test imports
            go.etcd.io/etcd/integration imports
            go.etcd.io/etcd/embed imports
            github.com/grpc-ecosystem/grpc-gateway/runtime imports
            github.com/grpc-ecosystem/grpc-gateway/internal loaded from github.com/grpc-ecosystem/[email protected],
            but go 1.16 would select v1.12.1
    github.com/hwameistor/local-storage/pkg/scheduler imports
            k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1 imports
            k8s.io/kubernetes/pkg/controller/volume/scheduling imports
            k8s.io/apiserver/pkg/storage/etcd3 tested by
            k8s.io/apiserver/pkg/storage/etcd3.test imports
            go.etcd.io/etcd/integration imports
            go.etcd.io/etcd/embed imports
            github.com/grpc-ecosystem/grpc-gateway/runtime imports
            github.com/grpc-ecosystem/grpc-gateway/utilities loaded from github.com/grpc-ecosystem/[email protected],
            but go 1.16 would select v1.12.1
    github.com/hwameistor/local-storage/pkg/scheduler imports
            k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1 imports
            k8s.io/kubernetes/pkg/controller/volume/scheduling imports
            k8s.io/apiserver/pkg/storage/etcd3 tested by
            k8s.io/apiserver/pkg/storage/etcd3.test imports
            go.etcd.io/etcd/integration imports
            go.etcd.io/etcd/embed imports
            github.com/grpc-ecosystem/grpc-gateway/runtime imports
            google.golang.org/genproto/googleapis/api/httpbody loaded from google.golang.org/[email protected],
            but go 1.16 would select v0.0.0-20200117163144-32f20d992d24
    github.com/hwameistor/local-storage/pkg/scheduler imports
            k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1 imports
            k8s.io/kubernetes/pkg/controller/volume/scheduling imports
            k8s.io/apiserver/pkg/storage/etcd3 tested by
            k8s.io/apiserver/pkg/storage/etcd3.test imports
            go.etcd.io/etcd/integration imports
            go.etcd.io/etcd/embed imports
            github.com/grpc-ecosystem/grpc-gateway/runtime imports
            google.golang.org/genproto/protobuf/field_mask loaded from google.golang.org/[email protected],
            but go 1.16 would select v0.0.0-20200117163144-32f20d992d24
    
    To upgrade to the versions selected by go 1.16:
            go mod tidy -go=1.16 && go mod tidy -go=1.17
    If reproducibility with go 1.16 is not needed:
            go mod tidy -compat=1.17
    For other options, see:
            https://golang.org/doc/modules/pruning
    

    It seems right? What's go version support exactly?

    opened by jiuker 5
  • Added process for building test images in E2E testing

    Added process for building test images in E2E testing

    Why we need this PR:

    Added process for building test images in E2E testing

    Special notes for your reviewer:

    Does this PR introduce a user-facing change?

    
    
    opened by FloatXD 2
  • Should LS  be able to running on master?

    Should LS be able to running on master?

    Should LS be able to running on master?

    I realize in helm-charts, LS was be able to runing on master already.

    https://github.com/hwameistor/helm-charts/blob/4d7e7399ca551b646a4c0669481f60443e34b33a/charts/hwameistor/templates/local-storage-driver.yaml#L137-L148

    question Stale 
    opened by niulechuan 2
  • helm install error

    helm install error

    Hi: I use helm to deploy hwameister

    error log

    local-disk-manager:v0.0.2

      Warning  Failed     3m11s (x5 over 4m36s)  kubelet            Error: failed to start container "local-disk-manager": Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/local-disk-manager": stat /local-disk-manager: no such file or directory: unknown
    
    opened by xulongju 2
  • Volumegroup

    Volumegroup

    Why we need this PR:

    Implement the volumegroup feature including creating volumegroup, and create volume according to the volumegroup.

    Special notes for your reviewer:

    Does this PR introduce a user-facing change?

    
    
    opened by sun7927 1
  • sanitizes the hostname so it can be consumed by leader election library

    sanitizes the hostname so it can be consumed by leader election library

    Why we need this PR:

    We should support hostname like "abc.def". For now if LS meet hostname contents '.' LSN will stuck with state 'offline'.
    

    Special notes for your reviewer:

    Does this PR introduce a user-facing change?

    
    
    opened by niulechuan 1
  • add deploy directory update about component image

    add deploy directory update about component image

    Why we need this PR:

    add deploy directory update about component image

    Special notes for your reviewer:

    Does this PR introduce a user-facing change?

    
    
    opened by angel0507 1
  • [WIP] Add Local Volume Group

    [WIP] Add Local Volume Group

    Why we need this PR:

    Local Volume Group is an important feature for supporting a pod with multiple Local Volumes, especially for resource allocation and schedule.

    Special notes for your reviewer:

    Does this PR introduce a user-facing change?

    
    
    opened by sun7927 1
  • pvc info still remained in lsn after lv/lvr deleted

    pvc info still remained in lsn after lv/lvr deleted

    I created a statefulSet with pods running, and each pod attached with lv/lvr.

    After I deleted the statefulSet, pods, and lv/lvrs, the pvc volume info still remained in 'kubectl get lsn -o yaml'

    Uploading 屏幕快照 2022-06-23 下午5.17.00.png…

    opened by zhaosimon 2
  •   In the HA volume scenario, only the latest migration target node will be reserved for LVG accessibility:node after LVR migration using localvolumegroupmigrate

    In the HA volume scenario, only the latest migration target node will be reserved for LVG accessibility:node after LVR migration using localvolumegroupmigrate

    企业微信截图_16559643842901

    图片

    In the HA volume scenario, only the latest migration target node will be reserved for LVG accessibility:node after LVR migration using localvolumegroupmigrate

    opened by FloatXD 2
  • localvolumegroupmigrate has no effect on lvg in non-hwameistor namespace

    localvolumegroupmigrate has no effect on lvg in non-hwameistor namespace

    图片 time="2022-06-23T03:10:01Z" level=error msg="addLocalVolume GetLocalVolumeGroupByName err" func=addLocalVolume file="manager.go:523" Module=LocalVolumeGroupManager error="LocalVolumeGroup.hwameistor.io "b9e4e682-2bee-4cec-b4ad-ee228e3603dd" not found" namespace=hwameistor

    bug 
    opened by FloatXD 1
  • When nodename is different than the hostname. The DRBD PV would fail.

    When nodename is different than the hostname. The DRBD PV would fail.

    When nodename is different than the hostname. The DRBD PV cannot create.

    It shows:

    [email protected]:/etc/drbd.d# drbdadm create-md pvc-5d91fa83-78dd-4e21-bf08-2039ce940118 --max-peers 2 --force 'pvc-5d91fa83-78dd-4e21-bf08-2039ce940118' not defined in your config (for this host).

    opened by yankay 1
Releases(v0.1.0)
  • v0.1.0(Mar 9, 2022)

    Release Summary

    🎉🎉🎉 This is the first release of local-storage 🎉🎉🎉 Local Storage is one of modules of HwameiStor which is a cloud native local storage system. it aims to provision high performance persistent LVM volume with local access to applications.

    What's Changed

    • Complete and optimize module basic function

      • feat: add local-storage feature to support local persistent storage volumes by @angel0507 in https://github.com/hwameistor/local-storage/pull/1
      • corrected the scheduler by @sun7927 in https://github.com/hwameistor/local-storage/pull/14
      • fix: del localdisk namespace constraint by @angel0507 in https://github.com/hwameistor/local-storage/pull/15
      • Add lvm bytes conversion (which is integer multiple of PE size) in volume expansion by @niulechuan in https://github.com/hwameistor/local-storage/pull/24
      • corrected the scheduler by @sun7927 in https://github.com/hwameistor/local-storage/pull/3
    • Improve the project description to help users quickly understand hwameistor and local storage

      • fix: add import module path update and unit-test addition by @angel0507 in https://github.com/hwameistor/local-storage/pull/2
      • Modify project name dependency && fix conflict by @angel0507 in https://github.com/hwameistor/local-storage/pull/6
      • fix :go.mod go version by @angel0507 in https://github.com/hwameistor/local-storage/pull/7
      • add hwameiStor name modify into hwameistor by @angel0507 in https://github.com/hwameistor/local-storage/pull/8
      • fix in docker path (#11) by @angel0507 in https://github.com/hwameistor/local-storage/pull/13
      • fix: fix vendor name by @angel0507 in https://github.com/hwameistor/local-storage/pull/16
      • modify readme by @angel0507 in https://github.com/hwameistor/local-storage/pull/18
      • fix HwameiStor-arch.png Url by @angel0507 in https://github.com/hwameistor/local-storage/pull/20
      • fix unknown k command by @panpan0000 in https://github.com/hwameistor/local-storage/pull/21
      • polish the folder layout by @panpan0000 in https://github.com/hwameistor/local-storage/pull/22
      • fix Image tag For gcr.io Registry by @angel0507 in https://github.com/hwameistor/local-storage/pull/23
      • fix scheduler Image tag by @angel0507 in https://github.com/hwameistor/local-storage/pull/27
      • fix: optimize readme dock by @angel0507 in https://github.com/hwameistor/local-storage/pull/29
      • fix: update installation_zh.md relink in README_zh.md by @angel0507 in https://github.com/hwameistor/local-storage/pull/30
      • fix: update go.mod by delete replace ldm project by @angel0507 in https://github.com/hwameistor/local-storage/pull/35
    • Improve project automation process

      • delete _build dir by @niulechuan in https://github.com/hwameistor/local-storage/pull/9
      • Fix release action by @niulechuan in https://github.com/hwameistor/local-storage/pull/10
      • fix in docker path by @niulechuan in https://github.com/hwameistor/local-storage/pull/11
      • Config actions for Github ci by @niulechuan in https://github.com/hwameistor/local-storage/pull/4
      • Add OpenSSF badge by @niulechuan in https://github.com/hwameistor/local-storage/pull/17

    New Contributors

    • @panpan0000 made their first contribution in https://github.com/hwameistor/local-storage/pull/21

    Full Changelog: https://github.com/hwameistor/local-storage/compare/v0.0.1...v0.0.2

    About HwameiStor

    HwameiStor is a cloud native storage system. It manages the free disks of each node and provision high performance persistent volume with local access to application.

    Click here to see more.

    Source code(tar.gz)
    Source code(zip)
Owner
HwameiStor
HwameiStor
CSI Driver for dynamic provisioning of Persistent Local Volumes for Kubernetes using LVM.

OpenEBS LVM CSI Driver CSI driver for provisioning Local PVs backed by LVM and more. Project Status Currently the LVM CSI Driver is in alpha

OpenEBS 90 Jun 22, 2022
Crossplane provider to provision and manage Kubernetes objects on (remote) Kubernetes clusters.

provider-kubernetes provider-kubernetes is a Crossplane Provider that enables deployment and management of arbitrary Kubernetes objects on clusters ty

Crossplane Contrib 47 Jun 25, 2022
Automated-gke-cilium-networkpolicy-demo - Quickly provision and tear down a GKE cluster with Cilium enabled for working with Network Policy.

Automated GKE Network Policy Demo Before running the automation, make sure you have the correct variables in env-automation/group_vars/all.yaml. There

Casey Wylie 0 Jan 1, 2022
Container Storage Interface components for SPIFFE

SPIFFE CSI Driver WARNING: This project is in the "Development" phase of the SPIFFE Project Maturity Phases. A Container Storage Interface driver for

SPIFFE 16 Mar 31, 2022
A set of components that can be composed into a highly available metric system with unlimited storage capacity

Overview Thanos is a set of components that can be composed into a highly available metric system with unlimited storage capacity, which can be added

Rohan 0 Oct 20, 2021
The Container Storage Interface (CSI) Driver for Fortress Block Storage This driver allows you to use Fortress Block Storage with your container orchestrator

fortress-csi The Container Storage Interface (CSI) Driver for Fortress Block Storage This driver allows you to use Fortress Block Storage with your co

Fortress 0 Jan 23, 2022
Openshift's hpessa-exporter allows users to export SMART information of local storage devices as Prometheus metrics, by using HPE Smart Storage Administrator tool

hpessa-exporter Overview Openshift's hpessa-exporter allows users to export SMART information of local storage devices as Prometheus metrics, by using

Shachar Sharon 0 Jan 17, 2022
Grafana Tempo is a high volume, minimal dependency distributed tracing backend.

Grafana Tempo is an open source, easy-to-use and high-scale distributed tracing backend. Tempo is cost-efficient, requiring only object storage to ope

Grafana Labs 2.1k Jun 23, 2022
K8s-cinder-csi-plugin - K8s Pod Use Openstack Cinder Volume

k8s-cinder-csi-plugin K8s Pod Use Openstack Cinder Volume openstack volume list

douyali 1 Apr 20, 2022
Small monitor of pulseaudio volume etc. for use in xmobar, as CommandReader input

Simple PulseAudio volume monitor for xmobar This little monitor is my attempt to read the current volume and mute setting of the default sink from Pul

Özgür Kesim 1 Feb 16, 2022
TiDB Mesh: Implement Multi-Tenant Keyspace by Decorating Message between Components

TiDB Mesh: Implement Multi-Tenant Keyspace by Decorating Message between Compone

null 3 Jan 11, 2022
Harbormaster - Toolkit for automating the creation & mgmt of Docker components and tools

My development environment is MacOS with an M1 chip and I mostly develop for lin

Gabe Susman 0 Feb 17, 2022
topolvm operator provide kubernetes local storage which is light weight and high performance

Topolvm-Operator Topolvm-Operator is an open source cloud-native local storage orchestrator for Kubernetes, which bases on topolvm. Supported environm

Alauda.io 20 Feb 8, 2022
An high performance and ops-free local storage solution for Kubernetes.

Carina carina 是一个CSI插件,在Kubernetes集群中提供本地存储持久卷 项目状态:开发测试中 CSI Version: 1.3.0 Carina architecture 支持的环境 Kubernetes:1.20 1.19 1.18 Node OS:Linux Filesys

BoCloud 10 May 18, 2022
Carina: an high performance and ops-free local storage for kubernetes

Carina English | 中文 Background Storage systems are complex! There are more and more kubernetes native storage systems nowadays and stateful applicatio

null 342 Jun 25, 2022
Dynamically provisioning persistent local storage with Kubernetes

Local Path Provisioner Overview Local Path Provisioner provides a way for the Kubernetes users to utilize the local storage in each node. Based on the

Rancher 1.2k Jun 21, 2022
SMART information of local storage devices as Prometheus metrics

hpessa-exporter Overview Openshift's hpessa-exporter allows users to export SMART information of local storage devices as Prometheus metrics, by using

Red Hat Storage 0 Feb 10, 2022
💻 A one-line installer for GitHub projects!

instl Instl is an installer that can install most GitHub projects on your system with a single command. Installation | Documentation | Contributing In

instl 47 Jun 7, 2022
The server-side reproduction, similar the one of https://popcat.click, improve the performance and speed.

PopCat Echo The server-side reproduction, similar the one of https://popcat.click, improve the performance and speed. Docker Image The docker image is

SuperSonic 62 Jun 19, 2022