diff --git a/charts/hwameistor/hwameistor/Chart.yaml b/charts/hwameistor/hwameistor/Chart.yaml index 81f22bf..862f5f4 100644 --- a/charts/hwameistor/hwameistor/Chart.yaml +++ b/charts/hwameistor/hwameistor/Chart.yaml @@ -1,6 +1,10 @@ apiVersion: v2 -name: hwameistor +appVersion: v0.4.2 +dependencies: +- name: hwameistor + repository: http://hwameistor.io/hwameistor + version: v0.4.2 description: the HwameiStor local storage +name: hwameistor type: application version: v0.4.2 -appVersion: v0.4.2 diff --git a/charts/hwameistor/hwameistor/README.md b/charts/hwameistor/hwameistor/README.md deleted file mode 100644 index 314730f..0000000 --- a/charts/hwameistor/hwameistor/README.md +++ /dev/null @@ -1,96 +0,0 @@ -# HwameiStor - -Hwameistor is an HA local storage system for cloud-native stateful workloads. It creates a local storage resource pool for centrally managing all disks such as HDD, SSD, and NVMe. It uses the CSI architecture to provide distributed services with local volumes and provides data persistence capabilities for stateful cloud-native workloads or components. - -![System architecture](architecture.png) - -## Current Status ->At present, HwameiStor is still in the alpha stage. - -The latest release of HwameiStor is [![hwameistor-releases](https://img.shields.io/github/v/release/hwameistor/hwameistor.svg?include_prereleases)](https://github.com/hwameistor/hwameistor/releases) - -## Build Status -![period-check](https://github.com/hwameistor/hwameistor/actions/workflows/period-check.yml/badge.svg) [![codecov](https://codecov.io/gh/hwameistor/hwameistor/branch/main/graph/badge.svg?token=AWRUI46FEX)](https://codecov.io/gh/hwameistor/hwameistor) [![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/5685/badge)](https://bestpractices.coreinfrastructure.org/projects/5685) - -## Release Status -| Release | Version | Type | -|----------|---------|--------| -| v0.3 | v0.3.2 | latest | - -## Modules and Code - -HwameiStor contains 4 modules: -* local-disk-manager -* local-storage -* scheduler -* admission-controller - -### Local-Disk-Manager -local-disk-manager (LDM) is designed to hold the management of disks on nodes. -Other modules such as local-storage can take advantage of the disk management feature provided by LDM. - -### Local-Storage -Local-Storage (LS) provides a cloud-native local storage system. It aims to provision high-performance persistent LVM volume with local access to applications. - -### Scheduler -Scheduler is to automatically schedule a pod to a correct node which has the associated HwameiStor volumes. - -### admission-controller -admission-controller is a webhook that can automatically determine which pod uses the HwameiStor volume and, help to modify the schedulerName to hwameistor-scheduler. - -## Documentation - -For full documentation, please see our website [hwameistor.io](https://hwameistor.io/docs/intro). - -## Roadmap -| Feature | Status | Release | Description | -|------------------------------------------ |----------- |--------- |-------------------------------------------------- | -| CSI for LVM volume | Completed | v0.3.2 | Provision volume with lvm | -| CSI for disk volume | Completed | v0.3.2 | Provision volume with disk | -| HA LVM Volume | Completed | v0.3.2 | Volume with HA | -| HA LVM Volume expansion | Completed | v0.3.2 | Expand LVM volume capacity online | -| LVM Volume migration | Completed | v0.3.2 | Migrate a LVM volume replica to a different node | -| LVM Volume conversion | Completed | v0.3.2 | Convert a non-HA LVM volume to the HA | -| Volume Group | Completed | v0.3.2 | Support volume group allocation | -| Observability | Planed | | Observability | -| non-HA LVM volume mirror | Planed | | Mirror LVM volume | -| non-HA LVM volume clone | Planed | | Clone LVM volume | -| non-HA LVM volume snapshot | Planed | | Snapshot of LVM volume | -| non-HA LVM volume thin provision support | Planed | | non-HA LVM volume thin provision support | -| non-HA LVM volume stripe writing support | Planed | | non-HA LVM volume stripe writing support | -| data encryption | Planed | | Data encryption | -| Disk health check | Planed | | Fault prediction, status information reporting | - - -## Community - -### Blog - -Please follow our weekly blogs [here](https://hwameistor.io/blog). - -### Slack - -Our slack channel is [here](https://join.slack.com/t/hwameistor/shared_invite/zt-1dkabcq2c-KIRBJDBc_GgZZfeLrooK6g) - -### WeChat -HwameiStor tech-talk group: - -![QR code for Wechat](wechat.png) - -## Discussion - -Welcome to follow our roadmap discussions [here](https://github.com/hwameistor/hwameistor/discussions) - -## Requests and Issues - -Please feel free to raise requests on chats or by a PR. - -We will try our best to respond to every issue reported on community channels, but the issues reported [here](https://github.com/hwameistor/hwameistor/discussions) on this repo will be addressed first. - -## License - -Copyright (c) 2014-2021 The HwameiStor Authors - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 diff --git a/charts/hwameistor/hwameistor/architecture.png b/charts/hwameistor/hwameistor/architecture.png deleted file mode 100644 index 60115ba..0000000 Binary files a/charts/hwameistor/hwameistor/architecture.png and /dev/null differ diff --git a/charts/hwameistor/hwameistor/charts/hwameistor/Chart.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/Chart.yaml new file mode 100644 index 0000000..e8d4239 --- /dev/null +++ b/charts/hwameistor/hwameistor/charts/hwameistor/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +appVersion: v0.4.2 +description: the HwameiStor local storage +name: hwameistor +type: application +version: v0.4.2 diff --git a/charts/hwameistor/hwameistor/crds/hwameistor.io_localdiskclaims_crd.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localdiskclaims_crd.yaml similarity index 100% rename from charts/hwameistor/hwameistor/crds/hwameistor.io_localdiskclaims_crd.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localdiskclaims_crd.yaml diff --git a/charts/hwameistor/hwameistor/crds/hwameistor.io_localdisknodes_crd.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localdisknodes_crd.yaml similarity index 100% rename from charts/hwameistor/hwameistor/crds/hwameistor.io_localdisknodes_crd.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localdisknodes_crd.yaml diff --git a/charts/hwameistor/hwameistor/crds/hwameistor.io_localdisks_crd.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localdisks_crd.yaml similarity index 100% rename from charts/hwameistor/hwameistor/crds/hwameistor.io_localdisks_crd.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localdisks_crd.yaml diff --git a/charts/hwameistor/hwameistor/crds/hwameistor.io_localdiskvolumes_crd.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localdiskvolumes_crd.yaml similarity index 100% rename from charts/hwameistor/hwameistor/crds/hwameistor.io_localdiskvolumes_crd.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localdiskvolumes_crd.yaml diff --git a/charts/hwameistor/hwameistor/crds/hwameistor.io_localstoragenodes_crd.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localstoragenodes_crd.yaml similarity index 100% rename from charts/hwameistor/hwameistor/crds/hwameistor.io_localstoragenodes_crd.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localstoragenodes_crd.yaml diff --git a/charts/hwameistor/hwameistor/crds/hwameistor.io_localvolumeconverts_crd.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localvolumeconverts_crd.yaml similarity index 100% rename from charts/hwameistor/hwameistor/crds/hwameistor.io_localvolumeconverts_crd.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localvolumeconverts_crd.yaml diff --git a/charts/hwameistor/hwameistor/crds/hwameistor.io_localvolumeexpands_crd.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localvolumeexpands_crd.yaml similarity index 100% rename from charts/hwameistor/hwameistor/crds/hwameistor.io_localvolumeexpands_crd.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localvolumeexpands_crd.yaml diff --git a/charts/hwameistor/hwameistor/crds/hwameistor.io_localvolumegroups_crd.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localvolumegroups_crd.yaml similarity index 100% rename from charts/hwameistor/hwameistor/crds/hwameistor.io_localvolumegroups_crd.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localvolumegroups_crd.yaml diff --git a/charts/hwameistor/hwameistor/crds/hwameistor.io_localvolumemigrates_crd.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localvolumemigrates_crd.yaml similarity index 100% rename from charts/hwameistor/hwameistor/crds/hwameistor.io_localvolumemigrates_crd.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localvolumemigrates_crd.yaml diff --git a/charts/hwameistor/hwameistor/crds/hwameistor.io_localvolumereplicas_crd.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localvolumereplicas_crd.yaml similarity index 100% rename from charts/hwameistor/hwameistor/crds/hwameistor.io_localvolumereplicas_crd.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localvolumereplicas_crd.yaml diff --git a/charts/hwameistor/hwameistor/crds/hwameistor.io_localvolumes_crd.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localvolumes_crd.yaml similarity index 100% rename from charts/hwameistor/hwameistor/crds/hwameistor.io_localvolumes_crd.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/crds/hwameistor.io_localvolumes_crd.yaml diff --git a/charts/hwameistor/hwameistor/templates/NOTES.txt b/charts/hwameistor/hwameistor/charts/hwameistor/templates/NOTES.txt similarity index 100% rename from charts/hwameistor/hwameistor/templates/NOTES.txt rename to charts/hwameistor/hwameistor/charts/hwameistor/templates/NOTES.txt diff --git a/charts/hwameistor/hwameistor/templates/_helpers.tpl b/charts/hwameistor/hwameistor/charts/hwameistor/templates/_helpers.tpl similarity index 100% rename from charts/hwameistor/hwameistor/templates/_helpers.tpl rename to charts/hwameistor/hwameistor/charts/hwameistor/templates/_helpers.tpl diff --git a/charts/hwameistor/hwameistor/templates/admission-controller.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/templates/admission-controller.yaml similarity index 100% rename from charts/hwameistor/hwameistor/templates/admission-controller.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/templates/admission-controller.yaml diff --git a/charts/hwameistor/hwameistor/templates/clusterrole.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/templates/clusterrole.yaml similarity index 100% rename from charts/hwameistor/hwameistor/templates/clusterrole.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/templates/clusterrole.yaml diff --git a/charts/hwameistor/hwameistor/templates/clusterrolebinding.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/templates/clusterrolebinding.yaml similarity index 100% rename from charts/hwameistor/hwameistor/templates/clusterrolebinding.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/templates/clusterrolebinding.yaml diff --git a/charts/hwameistor/hwameistor/templates/evictor.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/templates/evictor.yaml similarity index 100% rename from charts/hwameistor/hwameistor/templates/evictor.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/templates/evictor.yaml diff --git a/charts/hwameistor/hwameistor/templates/local-disk-manager-csi-controller.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/templates/local-disk-manager-csi-controller.yaml similarity index 100% rename from charts/hwameistor/hwameistor/templates/local-disk-manager-csi-controller.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/templates/local-disk-manager-csi-controller.yaml diff --git a/charts/hwameistor/hwameistor/templates/local-disk-manager.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/templates/local-disk-manager.yaml similarity index 100% rename from charts/hwameistor/hwameistor/templates/local-disk-manager.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/templates/local-disk-manager.yaml diff --git a/charts/hwameistor/hwameistor/templates/local-storage-csi-controller.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/templates/local-storage-csi-controller.yaml similarity index 100% rename from charts/hwameistor/hwameistor/templates/local-storage-csi-controller.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/templates/local-storage-csi-controller.yaml diff --git a/charts/hwameistor/hwameistor/templates/local-storage.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/templates/local-storage.yaml similarity index 100% rename from charts/hwameistor/hwameistor/templates/local-storage.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/templates/local-storage.yaml diff --git a/charts/hwameistor/hwameistor/templates/post-install-claim-disks.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/templates/post-install-claim-disks.yaml similarity index 100% rename from charts/hwameistor/hwameistor/templates/post-install-claim-disks.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/templates/post-install-claim-disks.yaml diff --git a/charts/hwameistor/hwameistor/templates/scheduler-config.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/templates/scheduler-config.yaml similarity index 100% rename from charts/hwameistor/hwameistor/templates/scheduler-config.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/templates/scheduler-config.yaml diff --git a/charts/hwameistor/hwameistor/templates/scheduler.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/templates/scheduler.yaml similarity index 100% rename from charts/hwameistor/hwameistor/templates/scheduler.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/templates/scheduler.yaml diff --git a/charts/hwameistor/hwameistor/templates/serviceaccount.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/templates/serviceaccount.yaml similarity index 100% rename from charts/hwameistor/hwameistor/templates/serviceaccount.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/templates/serviceaccount.yaml diff --git a/charts/hwameistor/hwameistor/templates/storageclass.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/templates/storageclass.yaml similarity index 100% rename from charts/hwameistor/hwameistor/templates/storageclass.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/templates/storageclass.yaml diff --git a/charts/hwameistor/hwameistor/values.extra.prod.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/values.extra.prod.yaml similarity index 100% rename from charts/hwameistor/hwameistor/values.extra.prod.yaml rename to charts/hwameistor/hwameistor/charts/hwameistor/values.extra.prod.yaml diff --git a/charts/hwameistor/hwameistor/charts/hwameistor/values.yaml b/charts/hwameistor/hwameistor/charts/hwameistor/values.yaml new file mode 100644 index 0000000..7ba83a3 --- /dev/null +++ b/charts/hwameistor/hwameistor/charts/hwameistor/values.yaml @@ -0,0 +1,121 @@ +# global config +global: + # k8sImageRegistry is used to control which image registry the CSIController + # images, i.e. provisioner,attacher,registrar,resizer is pulled from + # Users in China can change to these sites for option + # k8sImageRegistry: k8s-gcr.m.daocloud.io + k8sImageRegistry: k8s.gcr.io + # hwameistorImageRegistry is used to control which image registry the hwameistor + # images, i.e. localDiskManager,localstorage,scheduler,admission,evictor is pulled from + # Users in China can change to these sites for option + # hwameistorImageRegistry: ghcr.m.daocloud.io + hwameistorImageRegistry: ghcr.io + # kubeletRootDir is used to inform Hwameistor Kubelet plugin directory + kubeletRootDir: /var/lib/kubelet + +# StorageClass Settings +storageClass: + # If enabled, a hwameistor storageclass will be created in your system + enabled: true + # If enabled, hwameistor storageclass will be a default storageclass in system + # Attention: ensure your system doesn't have any default storageclass before + # more info: https://kubernetes.io/docs/tasks/administer-cluster/change-default-storage-class/ + default: false + # If allowed, volume can be expanded by modify pvc related field + allowVolumeExpansion: true + convertible: false + reclaimPolicy: Delete + # If enabled, you need install drbd kernel module on each node first + enableHA: false + # Represent which kind disk will be used to provision volume + diskType: HDD + fsType: xfs + +# storageNodes means the nodes will be used for creating local volumes +storageNodes: [] + +scheduler: + replicas: 1 + kubeApiServerConfigFilePath: /etc/kubernetes/admin.conf + imageRepository: hwameistor/scheduler + resources: {} + +admission: + replicas: 1 + imageRepository: hwameistor/admission + resources: {} + # failurePolicy defines how unrecognized errors from the admission endpoint + # are handled - allowed values are Ignore or Fail. Defaults to Fail. + failurePolicy: "" + # self-signed is a tool image for generating self-signed certs used by api-server + selfSigned: + imageRepository: hwameistor/self-signed + tag: v1 + +evictor: + replicas: 1 + imageRepository: hwameistor/evictor + resources: {} + +localDiskManager: + tolerationsOnMaster: true + enableCSI: true + registrar: + imageRepository: sig-storage/csi-node-driver-registrar + tag: v2.5.0 + resources: {} + manager: + imageRepository: hwameistor/local-disk-manager + resources: {} + +localDiskManagerCSIController: + replicas: 1 + priorityClassName: + provisioner: + imageRepository: sig-storage/csi-provisioner + tag: v2.0.3 + resources: {} + attacher: + imageRepository: sig-storage/csi-attacher + tag: v3.0.1 + resources: {} + +localStorage: + tolerationsOnMaster: true + priorityClassName: + registrar: + imageRepository: sig-storage/csi-node-driver-registrar + tag: v2.5.0 + resources: {} + member: + config: + # Each HA volume using DRBD will occupy a port for data volume synchronization. + # hwameistor limits each node to use up to 1000 volumes, so the final port range is [ startPort, startPort + maxHAVolumeCount - 1 ]. + # default value: 43001 + drbdStartPort: + # Max HA volume count + # default value: 1000 + maxHAVolumeCount: + imageRepository: hwameistor/local-storage + resources: {} + migrate: + rclone: + # can use daocloud.io/daocloud/hwameistor-migrate-rclone:v1.1.2 which is exactly same as the following + imageRepository: rclone/rclone + tag: 1.53.2 + +localStorageCSIController: + replicas: 1 + priorityClassName: + provisioner: + imageRepository: sig-storage/csi-provisioner + tag: v2.0.3 + resources: {} + attacher: + imageRepository: sig-storage/csi-attacher + tag: v3.0.1 + resources: {} + resizer: + imageRepository: sig-storage/csi-resizer + tag: v1.0.1 + resources: {} diff --git a/charts/hwameistor/hwameistor/values.schema.json b/charts/hwameistor/hwameistor/values.schema.json index 6963694..c917bff 100644 --- a/charts/hwameistor/hwameistor/values.schema.json +++ b/charts/hwameistor/hwameistor/values.schema.json @@ -1,164 +1,510 @@ { - "$schema": "http://json-schema.org/schema#", - "type": "object", - "properties": { - "global": { - "title": "Global Settings", - "type": "object", - "default": {}, - "required": [ - "GlobalImageRegistry", - "K8sImageRegistry", - "KubeletRootDir" - ], - "properties": { - "GlobalImageRegistry": { - "title": "Global Image Registry", - "type": "string", - "default": "ghcr.io", - "examples": [ - "ghcr.io" - ] - }, - "K8sImageRegistry": { - "title": "K8s Image Registry", - "type": "string", - "default": "k8s.gcr.io", - "examples": [ - "k8s.gcr.io" - ] + "$schema": "http://json-schema.org/schema#", + "type": "object", + "properties": { + "admission": { + "title": "admission Setting", + "type": "object", + "default": {}, + "required": [ + "replicas", + "imageRepository", + "failurePolicy", + "selfSigned" + ], + "properties": { + "failurePolicy": { + "title": "failurePolicy", + "type": "string", + "default": "" + }, + "imageRepository": { + "title": "imageRepository", + "type": "string", + "default": "hwameistor/admission" + }, + "replicas": { + "title": "replicas", + "type": "integer", + "default": 1 + }, + "selfSigned": { + "title": "selfSigned Setting", + "type": "object", + "default": {}, + "required": [ + "imageRepository", + "tag" + ], + "properties": { + "imageRepository": { + "title": "imageRepository", + "type": "string", + "default": "hwameistor/self-signed" + }, + "tag": { + "title": "tag", + "type": "string", + "default": "v1" + } + } + } + } + }, + "evictor": { + "title": "evictor Setting", + "type": "object", + "default": {}, + "required": [ + "replicas", + "imageRepository" + ], + "properties": { + "imageRepository": { + "title": "imageRepository", + "type": "string", + "default": "hwameistor/evictor" + }, + "replicas": { + "title": "replicas", + "type": "integer", + "default": 1 + } + } + }, + "global": { + "title": "Global Setting", + "type": "object", + "default": {}, + "required": [ + "hwameistorImageRegistry", + "k8sImageRegistry", + "kubeletRootDir" + ], + "properties": { + "hwameistorImageRegistry": { + "title": "hwameistor image Registry", + "type": "string", + "default": "ghcr.io", + "examples": [ + "ghcr.io" + ] + }, + "k8sImageRegistry": { + "title": "k8s image Registry", + "type": "string", + "default": "k8s.gcr.io", + "examples": [ + "k8s.gcr.io" + ] + }, + "kubeletRootDir": { + "title": "kubelet root Dir", + "type": "string", + "default": "/var/lib/kubelet", + "examples": [ + "/var/lib/kubelet" + ] + } + } + }, + "localDiskManager": { + "title": "LocalDiskManager Setting", + "type": "object", + "default": {}, + "required": [ + "tolerationsOnMaster", + "enableCSI", + "registrar", + "manager" + ], + "properties": { + "enableCSI": { + "title": "enableCSI", + "type": "boolean", + "default": true + }, + "manager": { + "title": "manager Setting", + "type": "object", + "default": {}, + "required": [ + "imageRepository" + ], + "properties": { + "imageRepository": { + "title": "imageRepository", + "type": "string", + "default": "hwameistor/local-disk-manager" + } + } + }, + "registrar": { + "title": "registrar Setting", + "type": "object", + "default": {}, + "required": [ + "imageRepository", + "tag" + ], + "properties": { + "imageRepository": { + "title": "imageRepository", + "type": "string", + "default": "sig-storage/csi-node-driver-registrar" + }, + "tag": { + "title": "tag", + "type": "string", + "default": "v2.5.0" + } + } + }, + "tolerationsOnMaster": { + "title": "tolerationsOnMaster", + "type": "boolean", + "default": true + } + } + }, + "localDiskManagerCSIController": { + "title": "localDiskManagerCSIController Setting", + "type": "object", + "default": {}, + "required": [ + "replicas", + "provisioner", + "attacher" + ], + "properties": { + "attacher": { + "title": "attacher Setting", + "type": "object", + "default": {}, + "required": [ + "imageRepository", + "tag" + ], + "properties": { + "imageRepository": { + "title": "imageRepository", + "type": "string", + "default": "sig-storage/csi-attacher" + }, + "tag": { + "title": "tag", + "type": "string", + "default": "v3.0.1" + } + } + }, + "provisioner": { + "title": "provisioner Setting", + "type": "object", + "default": {}, + "required": [ + "imageRepository", + "tag" + ], + "properties": { + "imageRepository": { + "title": "imageRepository", + "type": "string", + "default": "sig-storage/csi-provisioner" + }, + "tag": { + "title": "tag", + "type": "string", + "default": "v2.0.3" + } + } + }, + "replicas": { + "title": "replicas", + "type": "integer", + "default": 1 + } + } + }, + "localStorage": { + "title": "LocalStorage Setting", + "type": "object", + "default": {}, + "required": [ + "tolerationsOnMaster", + "registrar", + "member", + "migrate" + ], + "properties": { + "member": { + "title": "member Setting", + "type": "object", + "default": {}, + "required": [ + "config", + "imageRepository" + ], + "properties": { + "config": { + "title": "config Setting", + "type": "object", + "default": {}, + "required": [ + "drbdStartPort", + "maxHAVolumeCount" + ], + "properties": { + "drbdStartPort": { + "title": "drbdStartPort", + "type": "integer", + "default": 43001 }, - "KubeletRootDir": { - "title": "Kubelet Root Dir", - "type": "string", - "default": "/var/lib/kubelet", - "examples": [ - "/var/lib/kubelet" - ] + "maxHAVolumeCount": { + "title": "maxHAVolumeCount", + "type": "integer", + "default": 1000 } + } + }, + "imageRepository": { + "title": "imageRepository", + "type": "string", + "default": "hwameistor/local-storage" } + } }, - "config": { - "title": "Config Settings", - "type": "object", - "default": {}, - "required": [ - "EnableDRBD", - "DRBDStartPort", - "MaxHAVolumeCount" - ], - "properties": { - "EnableDRBD": { - "title": "EnableDRBD", - "type": "boolean", - "description": "drbd module will be installed, StorageClass can be enabled HA mode when DRBD enabled", - "default": true + "migrate": { + "title": "migrate Setting", + "type": "object", + "default": {}, + "required": [ + "rclone" + ], + "properties": { + "rclone": { + "title": "rclone Setting", + "type": "object", + "default": {}, + "required": [ + "imageRepository", + "tag" + ], + "properties": { + "imageRepository": { + "title": "imageRepository", + "type": "string", + "default": "rclone/rclone" }, - "DRBDStartPort": { - "title": "DRBDStartPort", - "type": "integer", - "default": 43001 - }, - "MaxHAVolumeCount": { - "title": "MaxHAVolumeCount", - "type": "integer", - "default": 1000 + "tag": { + "title": "tag", + "type": "string", + "default": "1.53.2" } + } } + } }, - "storage class": { - "title": "Storage Class Settings", - "type": "array", - "items": { - "properties": { - "DiskType": { - "title": "DiskType", - "type": "string", - "anyOf": [ - { - "title": "机械硬盘(HDD)", - "const": "机械硬盘(HDD)" - }, - { - "ui:title": "固态硬盘(SSD)", - "const": "固态硬盘(SSD)" - } - ], - "default": "机械硬盘(HDD)", - "description": "Represent which kind disk will be used to provision volume" - }, - "ProvisionerType": { - "title": "ProvisionerType", - "type": "string", - "anyOf": [ - { - "title": "LVM", - "const": "LVM" - }, - { - "ui:title": "Raw Disk", - "const": "Raw Disk" - } - ], - "default": "LVM" - }, - "EnableHA": { - "title": "EnableHA", - "type": "boolean", - "description": "If enabled, you need install drbd kernel module on each node first", - "default": "true" - }, - "Replicas": { - "title": "Replicas", - "type": "integer", - "default": 1, - "description": "Replicas can be converted from 1 to 2 when HA is enabled" - }, - "ReclaimPolicy": { - "title": "ReclaimPolicy", - "type": "string", - "anyOf": [ - { - "ui:title": "Retain", - "const": "Retain" - }, - { - "ui:title": "Delete", - "const": "Delete" - } - ], - "default": "Retain" - }, - "Snapshot": { - "title": "Snapshot", - "type": "boolean", - "default": true, - "description": "If enabled, volume can support snapshot feature" - }, - "Resize": { - "title": "Resize", - "type": "boolean", - "default": false, - "description": "If enabled, volume can support resize feature" - }, - "VolumeBindingMode": { - "title": "VolumeBindingMode", - "type": "string", - "anyOf": [ - { - "title": "WaitForFirstConsumer", - "const": "WaitForFirstConsumer" - }, - { - "ui:title": "Immediate", - "const": "Immediate" - } - ], - "default": "WaitForFirstConsumer", - "description": "PVC will wait to be created until it is mounted to pod" - } - } + "registrar": { + "title": "registrar Setting", + "type": "object", + "default": {}, + "required": [ + "imageRepository", + "tag" + ], + "properties": { + "imageRepository": { + "title": "imageRepository", + "type": "string", + "default": "sig-storage/csi-node-driver-registrar" + }, + "tag": { + "title": "tag", + "type": "string", + "default": "v2.5.0" + } + } + }, + "tolerationsOnMaster": { + "title": "tolerationsOnMaster", + "type": "boolean", + "default": true + } + } + }, + "localStorageCSIController": { + "title": "LocalStorageCSIController Setting", + "type": "object", + "default": {}, + "required": [ + "replicas", + "provisioner", + "attacher", + "resizer" + ], + "properties": { + "attacher": { + "title": "attacher Setting", + "type": "object", + "default": {}, + "required": [ + "imageRepository", + "tag" + ], + "properties": { + "imageRepository": { + "title": "imageRepository", + "type": "string", + "default": "sig-storage/csi-attacher" + }, + "tag": { + "title": "tag", + "type": "string", + "default": "v3.0.1" } + } + }, + "provisioner": { + "title": "provisioner Setting", + "type": "object", + "default": {}, + "required": [ + "imageRepository", + "tag" + ], + "properties": { + "imageRepository": { + "title": "imageRepository", + "type": "string", + "default": "sig-storage/csi-provisioner" + }, + "tag": { + "title": "tag", + "type": "string", + "default": "v2.0.3" + } + } + }, + "replicas": { + "title": "replicas", + "type": "integer", + "default": 1 + }, + "resizer": { + "title": "resizer Setting", + "type": "object", + "default": {}, + "required": [ + "imageRepository", + "tag" + ], + "properties": { + "imageRepository": { + "title": "imageRepository", + "type": "string", + "default": "sig-storage/csi-resizer" + }, + "tag": { + "title": "tag", + "type": "string", + "default": "v1.0.1" + } + } + } + } + }, + "scheduler": { + "title": "Scheduler Setting", + "type": "object", + "default": {}, + "required": [ + "imageRepository", + "kubeApiServerConfigFilePath", + "replicas" + ], + "properties": { + "imageRepository": { + "title": "imageRepository", + "type": "string", + "default": "hwameistor/scheduler" + }, + "kubeApiServerConfigFilePath": { + "title": "kubeApiServerConfigFilePath", + "type": "string", + "default": "/etc/kubernetes/admin.conf" + }, + "replicas": { + "title": "replicas", + "type": "integer", + "default": "1" + } + } + }, + "storageClass": { + "title": "storageClass Setting", + "type": "object", + "default": {}, + "required": [ + "allowVolumeExpansion", + "convertible", + "default", + "diskType", + "enableHA", + "enabled", + "fsType", + "reclaimPolicy" + ], + "properties": { + "allowVolumeExpansion": { + "title": "allow Volume Expansion", + "type": "boolean", + "description": "If allowed, volume can be expanded by modify pvc related field", + "default": true + }, + "convertible": { + "title": "hwameistor Volume Convertible", + "type": "boolean", + "description": "allow hwameistor volume supports volume Convertible", + "default": false + }, + "default": { + "title": "default storageclass Setting", + "type": "boolean", + "description": "If enabled, hwameistor storageclass will be a default storageclass in system", + "default": false + }, + "diskType": { + "title": "diskType", + "type": "string", + "description": "Represent which kind disk will be used to provision volume", + "default": "HDD" + }, + "enableHA": { + "title": "enableHA", + "type": "boolean", + "description": "If enabled, you need install drbd kernel module on each node first", + "default": "false" + }, + "enabled": { + "title": "enabled", + "type": "boolean", + "description": "If enabled, a hwameistor storageclass will be created in your system", + "default": "true" + }, + "fsType": { + "title": "fsType", + "type": "string", + "description": "Represent which kind fstype will be used to partition disk", + "default": "xfs" + }, + "reclaimPolicy": { + "title": "reclaimPolicy", + "type": "string", + "description": "Represent which kind reclaimPolicy will be used to reclaim volume", + "default": "Delete" } + } } + } } \ No newline at end of file diff --git a/charts/hwameistor/hwameistor/values.yaml b/charts/hwameistor/hwameistor/values.yaml index 7ba83a3..c1ce37e 100644 --- a/charts/hwameistor/hwameistor/values.yaml +++ b/charts/hwameistor/hwameistor/values.yaml @@ -1,121 +1,123 @@ -# global config -global: - # k8sImageRegistry is used to control which image registry the CSIController - # images, i.e. provisioner,attacher,registrar,resizer is pulled from - # Users in China can change to these sites for option - # k8sImageRegistry: k8s-gcr.m.daocloud.io - k8sImageRegistry: k8s.gcr.io - # hwameistorImageRegistry is used to control which image registry the hwameistor - # images, i.e. localDiskManager,localstorage,scheduler,admission,evictor is pulled from - # Users in China can change to these sites for option - # hwameistorImageRegistry: ghcr.m.daocloud.io - hwameistorImageRegistry: ghcr.io - # kubeletRootDir is used to inform Hwameistor Kubelet plugin directory - kubeletRootDir: /var/lib/kubelet - -# StorageClass Settings -storageClass: - # If enabled, a hwameistor storageclass will be created in your system - enabled: true - # If enabled, hwameistor storageclass will be a default storageclass in system - # Attention: ensure your system doesn't have any default storageclass before - # more info: https://kubernetes.io/docs/tasks/administer-cluster/change-default-storage-class/ - default: false - # If allowed, volume can be expanded by modify pvc related field - allowVolumeExpansion: true - convertible: false - reclaimPolicy: Delete - # If enabled, you need install drbd kernel module on each node first - enableHA: false - # Represent which kind disk will be used to provision volume - diskType: HDD - fsType: xfs - -# storageNodes means the nodes will be used for creating local volumes -storageNodes: [] - -scheduler: - replicas: 1 - kubeApiServerConfigFilePath: /etc/kubernetes/admin.conf - imageRepository: hwameistor/scheduler - resources: {} - -admission: - replicas: 1 - imageRepository: hwameistor/admission - resources: {} - # failurePolicy defines how unrecognized errors from the admission endpoint - # are handled - allowed values are Ignore or Fail. Defaults to Fail. - failurePolicy: "" - # self-signed is a tool image for generating self-signed certs used by api-server - selfSigned: - imageRepository: hwameistor/self-signed - tag: v1 - -evictor: - replicas: 1 - imageRepository: hwameistor/evictor - resources: {} - -localDiskManager: - tolerationsOnMaster: true - enableCSI: true - registrar: - imageRepository: sig-storage/csi-node-driver-registrar - tag: v2.5.0 +# child values +hwameistor: + # global config + global: + # k8sImageRegistry is used to control which image registry the CSIController + # images, i.e. provisioner,attacher,registrar,resizer is pulled from + # Users in China can change to these sites for option + # k8sImageRegistry: k8s-gcr.m.daocloud.io + k8sImageRegistry: k8s.gcr.io + # hwameistorImageRegistry is used to control which image registry the hwameistor + # images, i.e. localDiskManager,localstorage,scheduler,admission,evictor is pulled from + # Users in China can change to these sites for option + # hwameistorImageRegistry: ghcr.m.daocloud.io + hwameistorImageRegistry: ghcr.io + # kubeletRootDir is used to inform Hwameistor Kubelet plugin directory + kubeletRootDir: /var/lib/kubelet + + # StorageClass Settings + storageClass: + # If enabled, a hwameistor storageclass will be created in your system + enabled: true + # If enabled, hwameistor storageclass will be a default storageclass in system + # Attention: ensure your system doesn't have any default storageclass before + # more info: https://kubernetes.io/docs/tasks/administer-cluster/change-default-storage-class/ + default: false + # If allowed, volume can be expanded by modify pvc related field + allowVolumeExpansion: true + convertible: false + reclaimPolicy: Delete + # If enabled, you need install drbd kernel module on each node first + enableHA: false + # Represent which kind disk will be used to provision volume + diskType: HDD + fsType: xfs + + # storageNodes means the nodes will be used for creating local volumes + storageNodes: [] + + scheduler: + replicas: 1 + kubeApiServerConfigFilePath: /etc/kubernetes/admin.conf + imageRepository: hwameistor/scheduler resources: {} - manager: - imageRepository: hwameistor/local-disk-manager - resources: {} - -localDiskManagerCSIController: - replicas: 1 - priorityClassName: - provisioner: - imageRepository: sig-storage/csi-provisioner - tag: v2.0.3 - resources: {} - attacher: - imageRepository: sig-storage/csi-attacher - tag: v3.0.1 - resources: {} - -localStorage: - tolerationsOnMaster: true - priorityClassName: - registrar: - imageRepository: sig-storage/csi-node-driver-registrar - tag: v2.5.0 - resources: {} - member: - config: - # Each HA volume using DRBD will occupy a port for data volume synchronization. - # hwameistor limits each node to use up to 1000 volumes, so the final port range is [ startPort, startPort + maxHAVolumeCount - 1 ]. - # default value: 43001 - drbdStartPort: - # Max HA volume count - # default value: 1000 - maxHAVolumeCount: - imageRepository: hwameistor/local-storage - resources: {} - migrate: - rclone: - # can use daocloud.io/daocloud/hwameistor-migrate-rclone:v1.1.2 which is exactly same as the following - imageRepository: rclone/rclone - tag: 1.53.2 - -localStorageCSIController: - replicas: 1 - priorityClassName: - provisioner: - imageRepository: sig-storage/csi-provisioner - tag: v2.0.3 - resources: {} - attacher: - imageRepository: sig-storage/csi-attacher - tag: v3.0.1 - resources: {} - resizer: - imageRepository: sig-storage/csi-resizer - tag: v1.0.1 + + admission: + replicas: 1 + imageRepository: hwameistor/admission resources: {} + # failurePolicy defines how unrecognized errors from the admission endpoint + # are handled - allowed values are Ignore or Fail. Defaults to Fail. + failurePolicy: "" + # self-signed is a tool image for generating self-signed certs used by api-server + selfSigned: + imageRepository: hwameistor/self-signed + tag: v1 + + evictor: + replicas: 1 + imageRepository: hwameistor/evictor + resources: {} + + localDiskManager: + tolerationsOnMaster: true + enableCSI: true + registrar: + imageRepository: sig-storage/csi-node-driver-registrar + tag: v2.5.0 + resources: {} + manager: + imageRepository: hwameistor/local-disk-manager + resources: {} + + localDiskManagerCSIController: + replicas: 1 + priorityClassName: + provisioner: + imageRepository: sig-storage/csi-provisioner + tag: v2.0.3 + resources: {} + attacher: + imageRepository: sig-storage/csi-attacher + tag: v3.0.1 + resources: {} + + localStorage: + tolerationsOnMaster: true + priorityClassName: + registrar: + imageRepository: sig-storage/csi-node-driver-registrar + tag: v2.5.0 + resources: {} + member: + config: + # Each HA volume using DRBD will occupy a port for data volume synchronization. + # hwameistor limits each node to use up to 1000 volumes, so the final port range is [ startPort, startPort + maxHAVolumeCount - 1 ]. + # default value: 43001 + drbdStartPort: + # Max HA volume count + # default value: 1000 + maxHAVolumeCount: + imageRepository: hwameistor/local-storage + resources: {} + migrate: + rclone: + # can use daocloud.io/daocloud/hwameistor-migrate-rclone:v1.1.2 which is exactly same as the following + imageRepository: rclone/rclone + tag: 1.53.2 + + localStorageCSIController: + replicas: 1 + priorityClassName: + provisioner: + imageRepository: sig-storage/csi-provisioner + tag: v2.0.3 + resources: {} + attacher: + imageRepository: sig-storage/csi-attacher + tag: v3.0.1 + resources: {} + resizer: + imageRepository: sig-storage/csi-resizer + tag: v1.0.1 + resources: {} diff --git a/charts/hwameistor/hwameistor/wechat.png b/charts/hwameistor/hwameistor/wechat.png deleted file mode 100644 index bc82c32..0000000 Binary files a/charts/hwameistor/hwameistor/wechat.png and /dev/null differ