mirror of https://git.rancher.io/charts
Generated changes
parent
6be23e91e6
commit
e563bb14c5
|
@ -641,6 +641,47 @@ entries:
|
||||||
- assets/fleet-crd/fleet-crd-0.3.0-beta600.tgz
|
- assets/fleet-crd/fleet-crd-0.3.0-beta600.tgz
|
||||||
version: 0.3.0-beta600
|
version: 0.3.0-beta600
|
||||||
longhorn:
|
longhorn:
|
||||||
|
- annotations:
|
||||||
|
catalog.cattle.io/auto-install: longhorn-crd=match
|
||||||
|
catalog.cattle.io/certified: rancher
|
||||||
|
catalog.cattle.io/display-name: Longhorn
|
||||||
|
catalog.cattle.io/namespace: longhorn-system
|
||||||
|
catalog.cattle.io/os: linux
|
||||||
|
catalog.cattle.io/provides-gvr: longhorn.io/v1beta1
|
||||||
|
catalog.cattle.io/release-name: longhorn
|
||||||
|
catalog.cattle.io/ui-component: longhorn
|
||||||
|
apiVersion: v1
|
||||||
|
appVersion: v1.1.0
|
||||||
|
created: "2020-12-23T20:09:04.09651411Z"
|
||||||
|
description: Longhorn is a distributed block storage system for Kubernetes.
|
||||||
|
digest: 4d9c34af5cb6f983649c0da636853dcb363aa6aed1293bffb11ddfd04180d122
|
||||||
|
home: https://github.com/longhorn/longhorn
|
||||||
|
icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/longhorn/icon/color/longhorn-icon-color.svg
|
||||||
|
keywords:
|
||||||
|
- longhorn
|
||||||
|
- storage
|
||||||
|
- distributed
|
||||||
|
- block
|
||||||
|
- device
|
||||||
|
- iscsi
|
||||||
|
kubeVersion: '>=v1.16.0-r0'
|
||||||
|
maintainers:
|
||||||
|
- email: maintainers@longhorn.io
|
||||||
|
name: Longhorn maintainers
|
||||||
|
- email: sheng@yasker.org
|
||||||
|
name: Sheng Yang
|
||||||
|
name: longhorn
|
||||||
|
sources:
|
||||||
|
- https://github.com/longhorn/longhorn
|
||||||
|
- https://github.com/longhorn/longhorn-engine
|
||||||
|
- https://github.com/longhorn/longhorn-instance-manager
|
||||||
|
- https://github.com/longhorn/longhorn-share-manager
|
||||||
|
- https://github.com/longhorn/longhorn-manager
|
||||||
|
- https://github.com/longhorn/longhorn-ui
|
||||||
|
- https://github.com/longhorn/longhorn-tests
|
||||||
|
urls:
|
||||||
|
- assets/longhorn/longhorn-1.1.000.tgz
|
||||||
|
version: 1.1.000
|
||||||
- annotations:
|
- annotations:
|
||||||
catalog.cattle.io/auto-install: longhorn-crd=match
|
catalog.cattle.io/auto-install: longhorn-crd=match
|
||||||
catalog.cattle.io/certified: rancher
|
catalog.cattle.io/certified: rancher
|
||||||
|
@ -761,6 +802,20 @@ entries:
|
||||||
- assets/longhorn/longhorn-1.0.200.tgz
|
- assets/longhorn/longhorn-1.0.200.tgz
|
||||||
version: 1.0.200
|
version: 1.0.200
|
||||||
longhorn-crd:
|
longhorn-crd:
|
||||||
|
- annotations:
|
||||||
|
catalog.cattle.io/certified: rancher
|
||||||
|
catalog.cattle.io/hidden: "true"
|
||||||
|
catalog.cattle.io/namespace: longhorn-system
|
||||||
|
catalog.cattle.io/release-name: longhorn-crd
|
||||||
|
apiVersion: v1
|
||||||
|
created: "2020-12-23T20:09:04.097324624Z"
|
||||||
|
description: Installs the CRDs for longhorn.
|
||||||
|
digest: 2ca9ca1b7af582f9c0e89684e4624a4d4cfc1484ceee74f3cab9c22c7b4e823f
|
||||||
|
name: longhorn-crd
|
||||||
|
type: application
|
||||||
|
urls:
|
||||||
|
- assets/longhorn/longhorn-crd-1.1.000.tgz
|
||||||
|
version: 1.1.000
|
||||||
- annotations:
|
- annotations:
|
||||||
catalog.cattle.io/certified: rancher
|
catalog.cattle.io/certified: rancher
|
||||||
catalog.cattle.io/hidden: "true"
|
catalog.cattle.io/hidden: "true"
|
||||||
|
@ -2642,4 +2697,4 @@ entries:
|
||||||
urls:
|
urls:
|
||||||
- assets/rio/rio-0.8.000.tgz
|
- assets/rio/rio-0.8.000.tgz
|
||||||
version: 0.8.000
|
version: 0.8.000
|
||||||
generated: "2020-12-23T18:26:24.779180385Z"
|
generated: "2020-12-23T20:09:04.094547777Z"
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,8 +1,8 @@
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
name: longhorn
|
name: longhorn
|
||||||
version: 1.0.202
|
version: 1.1.000
|
||||||
appVersion: v1.0.2
|
appVersion: v1.1.0
|
||||||
kubeVersion: ">=v1.14.0-r0"
|
kubeVersion: ">=v1.16.0-r0"
|
||||||
description: Longhorn is a distributed block storage system for Kubernetes.
|
description: Longhorn is a distributed block storage system for Kubernetes.
|
||||||
keywords:
|
keywords:
|
||||||
- longhorn
|
- longhorn
|
||||||
|
@ -16,6 +16,7 @@ sources:
|
||||||
- https://github.com/longhorn/longhorn
|
- https://github.com/longhorn/longhorn
|
||||||
- https://github.com/longhorn/longhorn-engine
|
- https://github.com/longhorn/longhorn-engine
|
||||||
- https://github.com/longhorn/longhorn-instance-manager
|
- https://github.com/longhorn/longhorn-instance-manager
|
||||||
|
- https://github.com/longhorn/longhorn-share-manager
|
||||||
- https://github.com/longhorn/longhorn-manager
|
- https://github.com/longhorn/longhorn-manager
|
||||||
- https://github.com/longhorn/longhorn-ui
|
- https://github.com/longhorn/longhorn-ui
|
||||||
- https://github.com/longhorn/longhorn-tests
|
- https://github.com/longhorn/longhorn-tests
|
||||||
|
|
|
@ -1,49 +1,32 @@
|
||||||
# Rancher Longhorn Chart
|
# Longhorn Chart
|
||||||
|
|
||||||
> **Important**: Please install Longhorn chart in `longhorn-system` namespace only.
|
> **Important**: Please install the Longhorn chart in the `longhorn-system` namespace only.
|
||||||
|
|
||||||
> **Warning**: Longhorn doesn't support downgrading from a higher version to a lower version.
|
> **Warning**: Longhorn doesn't support downgrading from a higher version to a lower version.
|
||||||
|
|
||||||
The following document pertains to running Longhorn from the Rancher 2.0 chart.
|
|
||||||
|
|
||||||
## Source Code
|
## Source Code
|
||||||
|
|
||||||
Longhorn is 100% open source software. Project source code is spread across a number of repos:
|
Longhorn is 100% open source software. Project source code is spread across a number of repos:
|
||||||
|
|
||||||
1. Longhorn Engine -- Core controller/replica logic https://github.com/longhorn/longhorn-engine
|
1. Longhorn Engine -- Core controller/replica logic https://github.com/longhorn/longhorn-engine
|
||||||
2. Longhorn Instance Manager -- Controller/replica instance lifecycle management https://github.com/longhorn/longhorn-instance-manager
|
2. Longhorn Instance Manager -- Controller/replica instance lifecycle management https://github.com/longhorn/longhorn-instance-manager
|
||||||
3. Longhorn Manager -- Longhorn orchestration, includes CSI driver for Kubernetes https://github.com/longhorn/longhorn-manager
|
3. Longhorn Share Manager -- NFS provisioner that exposes Longhorn volumes as ReadWriteMany volumes. https://github.com/longhorn/longhorn-share-manager
|
||||||
4. Longhorn UI -- Dashboard https://github.com/longhorn/longhorn-ui
|
4. Longhorn Manager -- Longhorn orchestration, includes CSI driver for Kubernetes https://github.com/longhorn/longhorn-manager
|
||||||
|
5. Longhorn UI -- Dashboard https://github.com/longhorn/longhorn-ui
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
1. Rancher v2.1+
|
1. Docker v1.13+
|
||||||
2. Docker v1.13+
|
2. Kubernetes v1.16+
|
||||||
3. Kubernetes v1.14+
|
3. Make sure `curl`, `findmnt`, `grep`, `awk` and `blkid` has been installed in all nodes of the Kubernetes cluster.
|
||||||
4. Make sure `curl`, `findmnt`, `grep`, `awk` and `blkid` has been installed in all nodes of the Kubernetes cluster.
|
4. Make sure `open-iscsi` has been installed in all nodes of the Kubernetes cluster. For GKE, recommended Ubuntu as guest OS image since it contains `open-iscsi` already.
|
||||||
5. Make sure `open-iscsi` has been installed in all nodes of the Kubernetes cluster. For GKE, recommended Ubuntu as guest OS image since it contains `open-iscsi` already.
|
|
||||||
|
|
||||||
## Uninstallation
|
## Uninstallation
|
||||||
|
|
||||||
1. To prevent damage to the Kubernetes cluster, we recommend deleting all Kubernetes workloads using Longhorn volumes (PersistentVolume, PersistentVolumeClaim, StorageClass, Deployment, StatefulSet, DaemonSet, etc).
|
To prevent damage to the Kubernetes cluster, we recommend deleting all Kubernetes workloads using Longhorn volumes (PersistentVolume, PersistentVolumeClaim, StorageClass, Deployment, StatefulSet, DaemonSet, etc).
|
||||||
|
|
||||||
2. From Rancher UI, navigate to `Catalog Apps` tab and delete Longhorn app.
|
From Rancher Cluster Explorer UI, navigate to Apps page, delete app `longhorn` then app `longhorn-crd` in Installed Apps tab.
|
||||||
|
|
||||||
## Troubleshooting
|
|
||||||
|
|
||||||
### I deleted the Longhorn App from Rancher UI instead of following the uninstallation procedure
|
|
||||||
|
|
||||||
Redeploy the (same version) Longhorn App. Follow the uninstallation procedure above.
|
|
||||||
|
|
||||||
### Problems with CRDs
|
|
||||||
|
|
||||||
If your CRD instances or the CRDs themselves can't be deleted for whatever reason, run the commands below to clean up. Caution: this will wipe all Longhorn state!
|
|
||||||
|
|
||||||
```
|
|
||||||
# Delete CRD instances and definitions
|
|
||||||
curl -s https://raw.githubusercontent.com/longhorn/longhorn/v0.8.1/scripts/cleanup.sh |bash -s v062
|
|
||||||
curl -s https://raw.githubusercontent.com/longhorn/longhorn/v0.8.1/scripts/cleanup.sh |bash -s v070
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
---
|
||||||
Please see [link](https://github.com/longhorn/longhorn) for more information.
|
Please see [link](https://github.com/longhorn/longhorn) for more information.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
version: 1.0.202
|
version: 1.1.000
|
||||||
description: Installs the CRDs for longhorn.
|
description: Installs the CRDs for longhorn.
|
||||||
name: longhorn-crd
|
name: longhorn-crd
|
||||||
type: application
|
type: application
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
apiVersion: apiextensions.k8s.io/v1beta1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: longhorn
|
app.kubernetes.io/name: longhorn
|
||||||
helm.sh/chart: longhorn-1.0.2
|
helm.sh/chart: longhorn-1.1.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/instance: longhorn
|
app.kubernetes.io/instance: longhorn
|
||||||
app.kubernetes.io/version: v1.0.2
|
app.kubernetes.io/version: v1.1.0
|
||||||
longhorn-manager: Engine
|
longhorn-manager: Engine
|
||||||
name: engines.longhorn.io
|
name: engines.longhorn.io
|
||||||
spec:
|
spec:
|
||||||
|
@ -19,19 +19,50 @@ spec:
|
||||||
- lhe
|
- lhe
|
||||||
singular: engine
|
singular: engine
|
||||||
scope: Namespaced
|
scope: Namespaced
|
||||||
version: v1beta1
|
versions:
|
||||||
|
- name: v1beta1
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
spec:
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
|
status:
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
subresources:
|
subresources:
|
||||||
status: {}
|
status: {}
|
||||||
|
additionalPrinterColumns:
|
||||||
|
- name: State
|
||||||
|
type: string
|
||||||
|
description: The current state of the engine
|
||||||
|
jsonPath: .status.currentState
|
||||||
|
- name: Node
|
||||||
|
type: string
|
||||||
|
description: The node that the engine is on
|
||||||
|
jsonPath: .spec.nodeID
|
||||||
|
- name: InstanceManager
|
||||||
|
type: string
|
||||||
|
description: The instance manager of the engine
|
||||||
|
jsonPath: .status.instanceManagerName
|
||||||
|
- name: Image
|
||||||
|
type: string
|
||||||
|
description: The current image of the engine
|
||||||
|
jsonPath: .status.currentImage
|
||||||
|
- name: Age
|
||||||
|
type: date
|
||||||
|
jsonPath: .metadata.creationTimestamp
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1beta1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: longhorn
|
app.kubernetes.io/name: longhorn
|
||||||
helm.sh/chart: longhorn-1.0.2
|
helm.sh/chart: longhorn-1.1.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/instance: longhorn
|
app.kubernetes.io/instance: longhorn
|
||||||
app.kubernetes.io/version: v1.0.2
|
app.kubernetes.io/version: v1.1.0
|
||||||
longhorn-manager: Replica
|
longhorn-manager: Replica
|
||||||
name: replicas.longhorn.io
|
name: replicas.longhorn.io
|
||||||
spec:
|
spec:
|
||||||
|
@ -44,19 +75,54 @@ spec:
|
||||||
- lhr
|
- lhr
|
||||||
singular: replica
|
singular: replica
|
||||||
scope: Namespaced
|
scope: Namespaced
|
||||||
version: v1beta1
|
versions:
|
||||||
|
- name: v1beta1
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
spec:
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
|
status:
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
subresources:
|
subresources:
|
||||||
status: {}
|
status: {}
|
||||||
|
additionalPrinterColumns:
|
||||||
|
- name: State
|
||||||
|
type: string
|
||||||
|
description: The current state of the replica
|
||||||
|
jsonPath: .status.currentState
|
||||||
|
- name: Node
|
||||||
|
type: string
|
||||||
|
description: The node that the replica is on
|
||||||
|
jsonPath: .spec.nodeID
|
||||||
|
- name: Disk
|
||||||
|
type: string
|
||||||
|
description: The disk that the replica is on
|
||||||
|
jsonPath: .spec.diskID
|
||||||
|
- name: InstanceManager
|
||||||
|
type: string
|
||||||
|
description: The instance manager of the replica
|
||||||
|
jsonPath: .status.instanceManagerName
|
||||||
|
- name: Image
|
||||||
|
type: string
|
||||||
|
description: The current image of the replica
|
||||||
|
jsonPath: .status.currentImage
|
||||||
|
- name: Age
|
||||||
|
type: date
|
||||||
|
jsonPath: .metadata.creationTimestamp
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1beta1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: longhorn
|
app.kubernetes.io/name: longhorn
|
||||||
helm.sh/chart: longhorn-1.0.2
|
helm.sh/chart: longhorn-1.1.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/instance: longhorn
|
app.kubernetes.io/instance: longhorn
|
||||||
app.kubernetes.io/version: v1.0.2
|
app.kubernetes.io/version: v1.1.0
|
||||||
longhorn-manager: Setting
|
longhorn-manager: Setting
|
||||||
name: settings.longhorn.io
|
name: settings.longhorn.io
|
||||||
spec:
|
spec:
|
||||||
|
@ -69,17 +135,31 @@ spec:
|
||||||
- lhs
|
- lhs
|
||||||
singular: setting
|
singular: setting
|
||||||
scope: Namespaced
|
scope: Namespaced
|
||||||
version: v1beta1
|
versions:
|
||||||
|
- name: v1beta1
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
|
additionalPrinterColumns:
|
||||||
|
- name: Value
|
||||||
|
type: string
|
||||||
|
description: The value of the setting
|
||||||
|
jsonPath: .value
|
||||||
|
- name: Age
|
||||||
|
type: date
|
||||||
|
jsonPath: .metadata.creationTimestamp
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1beta1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: longhorn
|
app.kubernetes.io/name: longhorn
|
||||||
helm.sh/chart: longhorn-1.0.2
|
helm.sh/chart: longhorn-1.1.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/instance: longhorn
|
app.kubernetes.io/instance: longhorn
|
||||||
app.kubernetes.io/version: v1.0.2
|
app.kubernetes.io/version: v1.1.0
|
||||||
longhorn-manager: Volume
|
longhorn-manager: Volume
|
||||||
name: volumes.longhorn.io
|
name: volumes.longhorn.io
|
||||||
spec:
|
spec:
|
||||||
|
@ -92,19 +172,54 @@ spec:
|
||||||
- lhv
|
- lhv
|
||||||
singular: volume
|
singular: volume
|
||||||
scope: Namespaced
|
scope: Namespaced
|
||||||
version: v1beta1
|
versions:
|
||||||
|
- name: v1beta1
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
spec:
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
|
status:
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
subresources:
|
subresources:
|
||||||
status: {}
|
status: {}
|
||||||
|
additionalPrinterColumns:
|
||||||
|
- name: State
|
||||||
|
type: string
|
||||||
|
description: The state of the volume
|
||||||
|
jsonPath: .status.state
|
||||||
|
- name: Robustness
|
||||||
|
type: string
|
||||||
|
description: The robustness of the volume
|
||||||
|
jsonPath: .status.robustness
|
||||||
|
- name: Scheduled
|
||||||
|
type: string
|
||||||
|
description: The scheduled condition of the volume
|
||||||
|
jsonPath: .status.conditions['scheduled']['status']
|
||||||
|
- name: Size
|
||||||
|
type: string
|
||||||
|
description: The size of the volume
|
||||||
|
jsonPath: .spec.size
|
||||||
|
- name: Node
|
||||||
|
type: string
|
||||||
|
description: The node that the volume is currently attaching to
|
||||||
|
jsonPath: .status.currentNodeID
|
||||||
|
- name: Age
|
||||||
|
type: date
|
||||||
|
jsonPath: .metadata.creationTimestamp
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1beta1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: longhorn
|
app.kubernetes.io/name: longhorn
|
||||||
helm.sh/chart: longhorn-1.0.2
|
helm.sh/chart: longhorn-1.1.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/instance: longhorn
|
app.kubernetes.io/instance: longhorn
|
||||||
app.kubernetes.io/version: v1.0.2
|
app.kubernetes.io/version: v1.1.0
|
||||||
longhorn-manager: EngineImage
|
longhorn-manager: EngineImage
|
||||||
name: engineimages.longhorn.io
|
name: engineimages.longhorn.io
|
||||||
spec:
|
spec:
|
||||||
|
@ -117,19 +232,50 @@ spec:
|
||||||
- lhei
|
- lhei
|
||||||
singular: engineimage
|
singular: engineimage
|
||||||
scope: Namespaced
|
scope: Namespaced
|
||||||
version: v1beta1
|
versions:
|
||||||
|
- name: v1beta1
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
spec:
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
|
status:
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
subresources:
|
subresources:
|
||||||
status: {}
|
status: {}
|
||||||
|
additionalPrinterColumns:
|
||||||
|
- name: State
|
||||||
|
type: string
|
||||||
|
description: State of the engine image
|
||||||
|
jsonPath: .status.state
|
||||||
|
- name: Image
|
||||||
|
type: string
|
||||||
|
description: The Longhorn engine image
|
||||||
|
jsonPath: .spec.image
|
||||||
|
- name: RefCount
|
||||||
|
type: integer
|
||||||
|
description: Number of volumes are using the engine image
|
||||||
|
jsonPath: .status.refCount
|
||||||
|
- name: BuildDate
|
||||||
|
type: date
|
||||||
|
description: The build date of the engine image
|
||||||
|
jsonPath: .status.buildDate
|
||||||
|
- name: Age
|
||||||
|
type: date
|
||||||
|
jsonPath: .metadata.creationTimestamp
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1beta1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: longhorn
|
app.kubernetes.io/name: longhorn
|
||||||
helm.sh/chart: longhorn-1.0.2
|
helm.sh/chart: longhorn-1.1.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/instance: longhorn
|
app.kubernetes.io/instance: longhorn
|
||||||
app.kubernetes.io/version: v1.0.2
|
app.kubernetes.io/version: v1.1.0
|
||||||
longhorn-manager: Node
|
longhorn-manager: Node
|
||||||
name: nodes.longhorn.io
|
name: nodes.longhorn.io
|
||||||
spec:
|
spec:
|
||||||
|
@ -142,19 +288,46 @@ spec:
|
||||||
- lhn
|
- lhn
|
||||||
singular: node
|
singular: node
|
||||||
scope: Namespaced
|
scope: Namespaced
|
||||||
version: v1beta1
|
versions:
|
||||||
|
- name: v1beta1
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
spec:
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
|
status:
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
subresources:
|
subresources:
|
||||||
status: {}
|
status: {}
|
||||||
|
additionalPrinterColumns:
|
||||||
|
- name: Ready
|
||||||
|
type: string
|
||||||
|
description: Indicate whether the node is ready
|
||||||
|
jsonPath: .status.conditions['Ready']['status']
|
||||||
|
- name: AllowScheduling
|
||||||
|
type: boolean
|
||||||
|
description: Indicate whether the user disabled/enabled replica scheduling for the node
|
||||||
|
jsonPath: .spec.allowScheduling
|
||||||
|
- name: Schedulable
|
||||||
|
type: string
|
||||||
|
description: Indicate whether Longhorn can schedule replicas on the node
|
||||||
|
jsonPath: .status.conditions['Schedulable']['status']
|
||||||
|
- name: Age
|
||||||
|
type: date
|
||||||
|
jsonPath: .metadata.creationTimestamp
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1beta1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: longhorn
|
app.kubernetes.io/name: longhorn
|
||||||
helm.sh/chart: longhorn-1.0.2
|
helm.sh/chart: longhorn-1.1.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/instance: longhorn
|
app.kubernetes.io/instance: longhorn
|
||||||
app.kubernetes.io/version: v1.0.2
|
app.kubernetes.io/version: v1.1.0
|
||||||
longhorn-manager: InstanceManager
|
longhorn-manager: InstanceManager
|
||||||
name: instancemanagers.longhorn.io
|
name: instancemanagers.longhorn.io
|
||||||
spec:
|
spec:
|
||||||
|
@ -167,6 +340,81 @@ spec:
|
||||||
- lhim
|
- lhim
|
||||||
singular: instancemanager
|
singular: instancemanager
|
||||||
scope: Namespaced
|
scope: Namespaced
|
||||||
version: v1beta1
|
versions:
|
||||||
|
- name: v1beta1
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
spec:
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
|
status:
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
subresources:
|
subresources:
|
||||||
status: {}
|
status: {}
|
||||||
|
additionalPrinterColumns:
|
||||||
|
- name: State
|
||||||
|
type: string
|
||||||
|
description: The state of the instance manager
|
||||||
|
jsonPath: .status.currentState
|
||||||
|
- name: Type
|
||||||
|
type: string
|
||||||
|
description: The type of the instance manager (engine or replica)
|
||||||
|
jsonPath: .spec.type
|
||||||
|
- name: Node
|
||||||
|
type: string
|
||||||
|
description: The node that the instance manager is running on
|
||||||
|
jsonPath: .spec.nodeID
|
||||||
|
- name: Age
|
||||||
|
type: date
|
||||||
|
jsonPath: .metadata.creationTimestamp
|
||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: longhorn
|
||||||
|
helm.sh/chart: longhorn-1.1.0
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/instance: longhorn
|
||||||
|
app.kubernetes.io/version: v1.1.0
|
||||||
|
longhorn-manager: ShareManager
|
||||||
|
name: sharemanagers.longhorn.io
|
||||||
|
spec:
|
||||||
|
group: longhorn.io
|
||||||
|
names:
|
||||||
|
kind: ShareManager
|
||||||
|
listKind: ShareManagerList
|
||||||
|
plural: sharemanagers
|
||||||
|
shortNames:
|
||||||
|
- lhsm
|
||||||
|
singular: sharemanager
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- name: v1beta1
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
spec:
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
|
status:
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
|
additionalPrinterColumns:
|
||||||
|
- name: State
|
||||||
|
type: string
|
||||||
|
description: The state of the share manager
|
||||||
|
jsonPath: .status.state
|
||||||
|
- name: Node
|
||||||
|
type: string
|
||||||
|
description: The node that the share manager is owned by
|
||||||
|
jsonPath: .status.ownerID
|
||||||
|
- name: Age
|
||||||
|
type: date
|
||||||
|
jsonPath: .metadata.creationTimestamp
|
||||||
|
|
|
@ -11,104 +11,128 @@ questions:
|
||||||
group: "Longhorn Images"
|
group: "Longhorn Images"
|
||||||
subquestions:
|
subquestions:
|
||||||
- variable: image.longhorn.manager.repository
|
- variable: image.longhorn.manager.repository
|
||||||
default: longhornio/longhorn-manager
|
default: rancher/longhornio-longhorn-manager
|
||||||
description: "Specify Longhorn Manager Image Repository"
|
description: "Specify Longhorn Manager Image Repository"
|
||||||
type: string
|
type: string
|
||||||
label: Longhorn Manager Image Repository
|
label: Longhorn Manager Image Repository
|
||||||
group: "Longhorn Images Settings"
|
group: "Longhorn Images Settings"
|
||||||
- variable: image.longhorn.manager.tag
|
- variable: image.longhorn.manager.tag
|
||||||
default: v1.0.2
|
default: v1.1.0
|
||||||
description: "Specify Longhorn Manager Image Tag"
|
description: "Specify Longhorn Manager Image Tag"
|
||||||
type: string
|
type: string
|
||||||
label: Longhorn Manager Image Tag
|
label: Longhorn Manager Image Tag
|
||||||
group: "Longhorn Images Settings"
|
group: "Longhorn Images Settings"
|
||||||
- variable: image.longhorn.engine.repository
|
- variable: image.longhorn.engine.repository
|
||||||
default: longhornio/longhorn-engine
|
default: rancher/longhornio-longhorn-engine
|
||||||
description: "Specify Longhorn Engine Image Repository"
|
description: "Specify Longhorn Engine Image Repository"
|
||||||
type: string
|
type: string
|
||||||
label: Longhorn Engine Image Repository
|
label: Longhorn Engine Image Repository
|
||||||
group: "Longhorn Images Settings"
|
group: "Longhorn Images Settings"
|
||||||
- variable: image.longhorn.engine.tag
|
- variable: image.longhorn.engine.tag
|
||||||
default: v1.0.2
|
default: v1.1.0
|
||||||
description: "Specify Longhorn Engine Image Tag"
|
description: "Specify Longhorn Engine Image Tag"
|
||||||
type: string
|
type: string
|
||||||
label: Longhorn Engine Image Tag
|
label: Longhorn Engine Image Tag
|
||||||
group: "Longhorn Images Settings"
|
group: "Longhorn Images Settings"
|
||||||
- variable: image.longhorn.ui.repository
|
- variable: image.longhorn.ui.repository
|
||||||
default: longhornio/longhorn-ui
|
default: rancher/longhornio-longhorn-ui
|
||||||
description: "Specify Longhorn UI Image Repository"
|
description: "Specify Longhorn UI Image Repository"
|
||||||
type: string
|
type: string
|
||||||
label: Longhorn UI Image Repository
|
label: Longhorn UI Image Repository
|
||||||
group: "Longhorn Images Settings"
|
group: "Longhorn Images Settings"
|
||||||
- variable: image.longhorn.ui.tag
|
- variable: image.longhorn.ui.tag
|
||||||
default: v1.0.2
|
default: v1.1.0
|
||||||
description: "Specify Longhorn UI Image Tag"
|
description: "Specify Longhorn UI Image Tag"
|
||||||
type: string
|
type: string
|
||||||
label: Longhorn UI Image Tag
|
label: Longhorn UI Image Tag
|
||||||
group: "Longhorn Images Settings"
|
group: "Longhorn Images Settings"
|
||||||
- variable: image.longhorn.instanceManager.repository
|
- variable: image.longhorn.instanceManager.repository
|
||||||
default: longhornio/longhorn-instance-manager
|
default: rancher/longhornio-longhorn-instance-manager
|
||||||
description: "Specify Longhorn Instance Manager Image Repository"
|
description: "Specify Longhorn Instance Manager Image Repository"
|
||||||
type: string
|
type: string
|
||||||
label: Longhorn Instance Manager Image Repository
|
label: Longhorn Instance Manager Image Repository
|
||||||
group: "Longhorn Images Settings"
|
group: "Longhorn Images Settings"
|
||||||
- variable: image.longhorn.instanceManager.tag
|
- variable: image.longhorn.instanceManager.tag
|
||||||
default: v1_20200514
|
default: v1_20201216
|
||||||
description: "Specify Longhorn Instance Manager Image Tag"
|
description: "Specify Longhorn Instance Manager Image Tag"
|
||||||
type: string
|
type: string
|
||||||
label: Longhorn Instance Manager Image Tag
|
label: Longhorn Instance Manager Image Tag
|
||||||
group: "Longhorn Images Settings"
|
group: "Longhorn Images Settings"
|
||||||
|
- variable: image.longhorn.shareManager.repository
|
||||||
|
default: rancher/longhornio-longhorn-share-manager
|
||||||
|
description: "Specify Longhorn Share Manager Image Repository"
|
||||||
|
type: string
|
||||||
|
label: Longhorn Share Manager Image Repository
|
||||||
|
group: "Longhorn Images Settings"
|
||||||
|
- variable: image.longhorn.shareManager.tag
|
||||||
|
default: v1_20201204
|
||||||
|
description: "Specify Longhorn Share Manager Image Tag"
|
||||||
|
type: string
|
||||||
|
label: Longhorn Share Manager Image Tag
|
||||||
|
group: "Longhorn Images Settings"
|
||||||
- variable: image.csi.attacher.repository
|
- variable: image.csi.attacher.repository
|
||||||
default: longhornio/csi-attacher
|
default: rancher/longhornio-csi-attacher
|
||||||
description: "Specify CSI attacher image repository. Leave blank to autodetect."
|
description: "Specify CSI attacher image repository. Leave blank to autodetect."
|
||||||
type: string
|
type: string
|
||||||
label: Longhorn CSI Attacher Image Repository
|
label: Longhorn CSI Attacher Image Repository
|
||||||
group: "Longhorn CSI Driver Images"
|
group: "Longhorn CSI Driver Images"
|
||||||
- variable: image.csi.attacher.tag
|
- variable: image.csi.attacher.tag
|
||||||
default: v2.0.0
|
default: v2.2.1-lh1
|
||||||
description: "Specify CSI attacher image tag. Leave blank to autodetect."
|
description: "Specify CSI attacher image tag. Leave blank to autodetect."
|
||||||
type: string
|
type: string
|
||||||
label: Longhorn CSI Attacher Image Tag
|
label: Longhorn CSI Attacher Image Tag
|
||||||
group: "Longhorn CSI Driver Images"
|
group: "Longhorn CSI Driver Images"
|
||||||
- variable: image.csi.provisioner.repository
|
- variable: image.csi.provisioner.repository
|
||||||
default: longhornio/csi-provisioner
|
default: rancher/longhornio-csi-provisioner
|
||||||
description: "Specify CSI provisioner image repository. Leave blank to autodetect."
|
description: "Specify CSI provisioner image repository. Leave blank to autodetect."
|
||||||
type: string
|
type: string
|
||||||
label: Longhorn CSI Provisioner Image Repository
|
label: Longhorn CSI Provisioner Image Repository
|
||||||
group: "Longhorn CSI Driver Images"
|
group: "Longhorn CSI Driver Images"
|
||||||
- variable: image.csi.provisioner.tag
|
- variable: image.csi.provisioner.tag
|
||||||
default: v1.4.0
|
default: v1.6.0-lh1
|
||||||
description: "Specify CSI provisioner image tag. Leave blank to autodetect."
|
description: "Specify CSI provisioner image tag. Leave blank to autodetect."
|
||||||
type: string
|
type: string
|
||||||
label: Longhorn CSI Provisioner Image Tag
|
label: Longhorn CSI Provisioner Image Tag
|
||||||
group: "Longhorn CSI Driver Images"
|
group: "Longhorn CSI Driver Images"
|
||||||
- variable: image.csi.nodeDriverRegistrar.repository
|
- variable: image.csi.nodeDriverRegistrar.repository
|
||||||
default: longhornio/csi-node-driver-registrar
|
default: rancher/longhornio-csi-node-driver-registrar
|
||||||
description: "Specify CSI Node Driver Registrar image repository. Leave blank to autodetect."
|
description: "Specify CSI Node Driver Registrar image repository. Leave blank to autodetect."
|
||||||
type: string
|
type: string
|
||||||
label: Longhorn CSI Node Driver Registrar Image Repository
|
label: Longhorn CSI Node Driver Registrar Image Repository
|
||||||
group: "Longhorn CSI Driver Images"
|
group: "Longhorn CSI Driver Images"
|
||||||
- variable: image.csi.nodeDriverRegistrar.tag
|
- variable: image.csi.nodeDriverRegistrar.tag
|
||||||
default: v1.2.0
|
default: v1.2.0-lh1
|
||||||
description: "Specify CSI Node Driver Registrar image tag. Leave blank to autodetect."
|
description: "Specify CSI Node Driver Registrar image tag. Leave blank to autodetect."
|
||||||
type: string
|
type: string
|
||||||
label: Longhorn CSI Node Driver Registrar Image Tag
|
label: Longhorn CSI Node Driver Registrar Image Tag
|
||||||
group: "Longhorn CSI Driver Images"
|
group: "Longhorn CSI Driver Images"
|
||||||
- variable: image.csi.resizer.repository
|
- variable: image.csi.resizer.repository
|
||||||
default: longhornio/csi-resizer
|
default: rancher/longhornio-csi-resizer
|
||||||
description: "Specify CSI Driver Resizer image repository. Leave blank to autodetect."
|
description: "Specify CSI Driver Resizer image repository. Leave blank to autodetect."
|
||||||
type: string
|
type: string
|
||||||
label: Longhorn CSI Driver Resizer Image Repository
|
label: Longhorn CSI Driver Resizer Image Repository
|
||||||
group: "Longhorn CSI Driver Images"
|
group: "Longhorn CSI Driver Images"
|
||||||
- variable: image.csi.resizer.tag
|
- variable: image.csi.resizer.tag
|
||||||
default: v0.3.0
|
default: v0.5.1-lh1
|
||||||
description: "Specify CSI Driver Resizer image tag. Leave blank to autodetect."
|
description: "Specify CSI Driver Resizer image tag. Leave blank to autodetect."
|
||||||
type: string
|
type: string
|
||||||
label: Longhorn CSI Driver Resizer Image Tag
|
label: Longhorn CSI Driver Resizer Image Tag
|
||||||
group: "Longhorn CSI Driver Images"
|
group: "Longhorn CSI Driver Images"
|
||||||
|
- variable: image.csi.snapshotter.repository
|
||||||
|
default: rancher/longhornio-csi-snapshotter
|
||||||
|
description: "Specify CSI Driver Snapshotter image repository. Leave blank to autodetect."
|
||||||
|
type: string
|
||||||
|
label: Longhorn CSI Driver Snapshotter Image Repository
|
||||||
|
group: "Longhorn CSI Driver Images"
|
||||||
|
- variable: image.csi.snapshotter.tag
|
||||||
|
default: v2.1.1-lh1
|
||||||
|
description: "Specify CSI Driver Snapshotter image tag. Leave blank to autodetect."
|
||||||
|
type: string
|
||||||
|
label: Longhorn CSI Driver Snapshotter Image Tag
|
||||||
|
group: "Longhorn CSI Driver Images"
|
||||||
- variable: privateRegistry.registryUrl
|
- variable: privateRegistry.registryUrl
|
||||||
label: Private registry URL
|
label: Private registry URL
|
||||||
description: "URL of private registry"
|
description: "URL of private registry. Leave blank to apply system default registry."
|
||||||
group: "Private Registry Settings"
|
group: "Private Registry Settings"
|
||||||
type: string
|
type: string
|
||||||
default: ""
|
default: ""
|
||||||
|
@ -124,6 +148,12 @@ questions:
|
||||||
group: "Private Registry Settings"
|
group: "Private Registry Settings"
|
||||||
type: password
|
type: password
|
||||||
default: ""
|
default: ""
|
||||||
|
- variable: privateRegistry.registrySecret
|
||||||
|
label: Private registry secret name
|
||||||
|
description: "Longhorn will automatically generate a Kubernetes secret with this name and use it to pull images from your private registry."
|
||||||
|
group: "Private Registry Settings"
|
||||||
|
type: string
|
||||||
|
default: ""
|
||||||
- variable: longhorn.default_setting
|
- variable: longhorn.default_setting
|
||||||
default: "false"
|
default: "false"
|
||||||
description: "Customize the default settings before installing Longhorn for the first time. This option will only work if the cluster hasn't installed Longhorn."
|
description: "Customize the default settings before installing Longhorn for the first time. This option will only work if the cluster hasn't installed Longhorn."
|
||||||
|
@ -132,12 +162,6 @@ questions:
|
||||||
show_subquestion_if: true
|
show_subquestion_if: true
|
||||||
group: "Longhorn Default Settings"
|
group: "Longhorn Default Settings"
|
||||||
subquestions:
|
subquestions:
|
||||||
- variable: defaultSettings.registrySecret
|
|
||||||
label: Private registry secret
|
|
||||||
description: "The Kubernetes Secret name"
|
|
||||||
group: "Longhorn Default Settings"
|
|
||||||
type: string
|
|
||||||
default: ""
|
|
||||||
- variable: csi.kubeletRootDir
|
- variable: csi.kubeletRootDir
|
||||||
default:
|
default:
|
||||||
description: "Specify kubelet root-dir. Leave blank to autodetect."
|
description: "Specify kubelet root-dir. Leave blank to autodetect."
|
||||||
|
@ -146,7 +170,7 @@ questions:
|
||||||
group: "Longhorn CSI Driver Settings"
|
group: "Longhorn CSI Driver Settings"
|
||||||
- variable: csi.attacherReplicaCount
|
- variable: csi.attacherReplicaCount
|
||||||
type: int
|
type: int
|
||||||
default:
|
default: 3
|
||||||
min: 1
|
min: 1
|
||||||
max: 10
|
max: 10
|
||||||
description: "Specify replica count of CSI Attacher. By default 3."
|
description: "Specify replica count of CSI Attacher. By default 3."
|
||||||
|
@ -154,27 +178,28 @@ questions:
|
||||||
group: "Longhorn CSI Driver Settings"
|
group: "Longhorn CSI Driver Settings"
|
||||||
- variable: csi.provisionerReplicaCount
|
- variable: csi.provisionerReplicaCount
|
||||||
type: int
|
type: int
|
||||||
default:
|
default: 3
|
||||||
min: 1
|
min: 1
|
||||||
max: 10
|
max: 10
|
||||||
description: "Specify replica count of CSI Provisioner. By default 3."
|
description: "Specify replica count of CSI Provisioner. By default 3."
|
||||||
label: Longhorn CSI Provisioner replica count
|
label: Longhorn CSI Provisioner replica count
|
||||||
group: "Longhorn CSI Driver Settings"
|
group: "Longhorn CSI Driver Settings"
|
||||||
- variable: persistence.defaultClass
|
- variable: csi.resizerReplicaCount
|
||||||
default: "true"
|
|
||||||
description: "Set as default StorageClass"
|
|
||||||
group: "Longhorn CSI Driver Settings"
|
|
||||||
type: boolean
|
|
||||||
required: true
|
|
||||||
label: Default Storage Class
|
|
||||||
- variable: persistence.defaultClassReplicaCount
|
|
||||||
description: "Set replica count for default StorageClass"
|
|
||||||
group: "Longhorn CSI Driver Settings"
|
|
||||||
type: int
|
type: int
|
||||||
default: 3
|
default: 3
|
||||||
min: 1
|
min: 1
|
||||||
max: 10
|
max: 10
|
||||||
label: Default Storage Class Replica Count
|
description: "Specify replica count of CSI Resizer. By default 3."
|
||||||
|
label: Longhorn CSI Resizer replica count
|
||||||
|
group: "Longhorn CSI Driver Settings"
|
||||||
|
- variable: csi.snapshotterReplicaCount
|
||||||
|
type: int
|
||||||
|
default: 3
|
||||||
|
min: 1
|
||||||
|
max: 10
|
||||||
|
description: "Specify replica count of CSI Snapshotter. By default 3."
|
||||||
|
label: Longhorn CSI Snapshotter replica count
|
||||||
|
group: "Longhorn CSI Driver Settings"
|
||||||
- variable: defaultSettings.backupTarget
|
- variable: defaultSettings.backupTarget
|
||||||
label: Backup Target
|
label: Backup Target
|
||||||
description: "The endpoint used to access the backupstore. NFS and S3 are supported."
|
description: "The endpoint used to access the backupstore. NFS and S3 are supported."
|
||||||
|
@ -187,6 +212,13 @@ questions:
|
||||||
group: "Longhorn Default Settings"
|
group: "Longhorn Default Settings"
|
||||||
type: string
|
type: string
|
||||||
default:
|
default:
|
||||||
|
- variable: defaultSettings.allowRecurringJobWhileVolumeDetached
|
||||||
|
label: Allow Recurring Job While Volume Is Detached
|
||||||
|
description: 'If this setting is enabled, Longhorn will automatically attaches the volume and takes snapshot/backup when it is the time to do recurring snapshot/backup.
|
||||||
|
Note that the volume is not ready for workload during the period when the volume was automatically attached. Workload will have to wait until the recurring job finishes.'
|
||||||
|
group: "Longhorn Default Settings"
|
||||||
|
type: boolean
|
||||||
|
default: "false"
|
||||||
- variable: defaultSettings.createDefaultDiskLabeledNodes
|
- variable: defaultSettings.createDefaultDiskLabeledNodes
|
||||||
label: Create Default Disk on Labeled Nodes
|
label: Create Default Disk on Labeled Nodes
|
||||||
description: 'Create default Disk automatically only on Nodes with the label "node.longhorn.io/create-default-disk=true" if no other disks exist. If disabled, the default disk will be created on all new nodes when each node is first added.'
|
description: 'Create default Disk automatically only on Nodes with the label "node.longhorn.io/create-default-disk=true" if no other disks exist. If disabled, the default disk will be created on all new nodes when each node is first added.'
|
||||||
|
@ -199,6 +231,19 @@ questions:
|
||||||
group: "Longhorn Default Settings"
|
group: "Longhorn Default Settings"
|
||||||
type: string
|
type: string
|
||||||
default: "/var/lib/longhorn/"
|
default: "/var/lib/longhorn/"
|
||||||
|
- variable: defaultSettings.defaultDataLocality
|
||||||
|
label: Default Data Locality
|
||||||
|
description: 'We say a Longhorn volume has data locality if there is a local replica of the volume on the same node as the pod which is using the volume.
|
||||||
|
This setting specifies the default data locality when a volume is created from the Longhorn UI. For Kubernetes configuration, update the `dataLocality` in the StorageClass
|
||||||
|
The available modes are:
|
||||||
|
- **disabled**. This is the default option. There may or may not be a replica on the same node as the attached volume (workload)
|
||||||
|
- **best-effort**. This option instructs Longhorn to try to keep a replica on the same node as the attached volume (workload). Longhorn will not stop the volume, even if it cannot keep a replica local to the attached volume (workload) due to environment limitation, e.g. not enough disk space, incompatible disk tags, etc.'
|
||||||
|
group: "Longhorn Default Settings"
|
||||||
|
type: enum
|
||||||
|
options:
|
||||||
|
- "disabled"
|
||||||
|
- "best-effort"
|
||||||
|
default: "disabled"
|
||||||
- variable: defaultSettings.replicaSoftAntiAffinity
|
- variable: defaultSettings.replicaSoftAntiAffinity
|
||||||
label: Replica Node Level Soft Anti-Affinity
|
label: Replica Node Level Soft Anti-Affinity
|
||||||
description: 'Allow scheduling on nodes with existing healthy replicas of the same volume. By default false.'
|
description: 'Allow scheduling on nodes with existing healthy replicas of the same volume. By default false.'
|
||||||
|
@ -236,10 +281,13 @@ questions:
|
||||||
default: 3
|
default: 3
|
||||||
- variable: defaultSettings.guaranteedEngineCPU
|
- variable: defaultSettings.guaranteedEngineCPU
|
||||||
label: Guaranteed Engine CPU
|
label: Guaranteed Engine CPU
|
||||||
description: 'Allow Longhorn Instance Managers to have guaranteed CPU allocation. The value is how many CPUs should be reserved for each Engine/Replica Instance Manager Pod created by Longhorn. For example, 0.1 means one-tenth of a CPU. This will help maintain engine stability during high node workload. It only applies to the Engine/Replica Manager Pods created after the setting took effect.
|
description: "Allow Longhorn Instance Managers to have guaranteed CPU allocation. By default 0.25. The value is how many CPUs should be reserved for each Engine/Replica Instance Manager Pod created by Longhorn. For example, 0.1 means one-tenth of a CPU. This will help maintain engine stability during high node workload. It only applies to the Engine/Replica Instance Manager Pods created after the setting took effect.
|
||||||
WARNING: After this setting is changed, all the instance managers on all the nodes will be automatically restarted.
|
In order to prevent unexpected volume crash, you can use the following formula to calculate an appropriate value for this setting:
|
||||||
WARNING: DO NOT CHANGE THIS SETTING WITH ATTACHED VOLUMES.
|
'Guaranteed Engine CPU = The estimated max Longhorn volume/replica count on a node * 0.1'.
|
||||||
By default 0.25.'
|
The result of above calculation doesn't mean that's the maximum CPU resources the Longhorn workloads require. To fully exploit the Longhorn volume I/O performance, you can allocate/guarantee more CPU resources via this setting.
|
||||||
|
If it's hard to estimate the volume/replica count now, you can leave it with the default value, or allocate 1/8 of total CPU of a node. Then you can tune it when there is no running workload using Longhorn volumes.
|
||||||
|
WARNING: After this setting is changed, all the instance managers on all the nodes will be automatically restarted
|
||||||
|
WARNING: DO NOT CHANGE THIS SETTING WITH ATTACHED VOLUMES."
|
||||||
group: "Longhorn Default Settings"
|
group: "Longhorn Default Settings"
|
||||||
type: float
|
type: float
|
||||||
default: 0.25
|
default: 0.25
|
||||||
|
@ -258,8 +306,15 @@ By default 0.25.'
|
||||||
default: 300
|
default: 300
|
||||||
- variable: defaultSettings.taintToleration
|
- variable: defaultSettings.taintToleration
|
||||||
label: Kubernetes Taint Toleration
|
label: Kubernetes Taint Toleration
|
||||||
description: 'To dedicate nodes to store Longhorn replicas and reject other general workloads, set tolerations for Longhorn and add taints for the storage nodes. All Longhorn volumes should be detached before modifying toleration settings. We recommend setting tolerations during Longhorn deployment because the Longhorn system cannot be operated during the update. Multiple tolerations can be set here, and these tolerations are separated by semicolon. For example, `key1=value1:NoSchedule; key2:NoExecute`. Because `kubernetes.io` is used as the key of all Kubernetes default tolerations, it should not be used in the toleration settings.
|
description: "To dedicate nodes to store Longhorn replicas and reject other general workloads, set tolerations for Longhorn and add taints for the storage nodes.
|
||||||
WARNING: DO NOT CHANGE THIS SETTING WITH ATTACHED VOLUMES.'
|
All Longhorn volumes should be detached before modifying toleration settings.
|
||||||
|
We recommend setting tolerations during Longhorn deployment because the Longhorn system cannot be operated during the update.
|
||||||
|
Multiple tolerations can be set here, and these tolerations are separated by semicolon. For example:
|
||||||
|
* `key1=value1:NoSchedule; key2:NoExecute`
|
||||||
|
* `:` this toleration tolerates everything because an empty key with operator `Exists` matches all keys, values and effects
|
||||||
|
* `key1=value1:` this toleration has empty effect. It matches all effects with key `key1`
|
||||||
|
Because `kubernetes.io` is used as the key of all Kubernetes default tolerations, it should not be used in the toleration settings.
|
||||||
|
WARNING: DO NOT CHANGE THIS SETTING WITH ATTACHED VOLUMES!"
|
||||||
group: "Longhorn Default Settings"
|
group: "Longhorn Default Settings"
|
||||||
type: string
|
type: string
|
||||||
default: ""
|
default: ""
|
||||||
|
@ -275,6 +330,14 @@ WARNING: DO NOT CHANGE THIS SETTING WITH ATTACHED VOLUMES.'
|
||||||
group: "Longhorn Default Settings"
|
group: "Longhorn Default Settings"
|
||||||
type: boolean
|
type: boolean
|
||||||
default: "true"
|
default: "true"
|
||||||
|
- variable: defaultSettings.autoDeletePodWhenVolumeDetachedUnexpectedly
|
||||||
|
label: Automatically Delete Workload Pod when The Volume Is Detached Unexpectedly
|
||||||
|
description: 'If enabled, Longhorn will automatically delete the workload pod that is managed by a controller (e.g. deployment, statefulset, daemonset, etc...) when Longhorn volume is detached unexpectedly (e.g. during Kubernetes upgrade, Docker reboot, or network disconnect). By deleting the pod, its controller restarts the pod and Kubernetes handles volume reattachment and remount.
|
||||||
|
If disabled, Longhorn will not delete the workload pod that is managed by a controller. You will have to manually restart the pod to reattach and remount the volume.
|
||||||
|
**Note:** This setting does not apply to the workload pods that do not have a controller. Longhorn never deletes them.'
|
||||||
|
group: "Longhorn Default Settings"
|
||||||
|
type: boolean
|
||||||
|
default: "true"
|
||||||
- variable: defaultSettings.disableSchedulingOnCordonedNode
|
- variable: defaultSettings.disableSchedulingOnCordonedNode
|
||||||
label: Disable Scheduling On Cordoned Node
|
label: Disable Scheduling On Cordoned Node
|
||||||
description: "Disable Longhorn manager to schedule replica on Kubernetes cordoned node. By default true."
|
description: "Disable Longhorn manager to schedule replica on Kubernetes cordoned node. By default true."
|
||||||
|
@ -297,11 +360,114 @@ WARNING: DO NOT CHANGE THIS SETTING WITH ATTACHED VOLUMES.'
|
||||||
- "never"
|
- "never"
|
||||||
- "immediate"
|
- "immediate"
|
||||||
default: "wait"
|
default: "wait"
|
||||||
|
- variable: defaultSettings.nodeDownPodDeletionPolicy
|
||||||
|
label: Pod Deletion Policy When Node is Down
|
||||||
|
description: "Defines the Longhorn action when a Volume is stuck with a StatefulSet/Deployment Pod on a node that is down.
|
||||||
|
- **do-nothing** is the default Kubernetes behavior of never force deleting StatefulSet/Deployment terminating pods. Since the pod on the node that is down isn't removed, Longhorn volumes are stuck on nodes that are down.
|
||||||
|
- **delete-statefulset-pod** Longhorn will force delete StatefulSet terminating pods on nodes that are down to release Longhorn volumes so that Kubernetes can spin up replacement pods.
|
||||||
|
- **delete-deployment-pod** Longhorn will force delete Deployment terminating pods on nodes that are down to release Longhorn volumes so that Kubernetes can spin up replacement pods.
|
||||||
|
- **delete-both-statefulset-and-deployment-pod** Longhorn will force delete StatefulSet/Deployment terminating pods on nodes that are down to release Longhorn volumes so that Kubernetes can spin up replacement pods."
|
||||||
|
group: "Longhorn Default Settings"
|
||||||
|
type: enum
|
||||||
|
options:
|
||||||
|
- "do-nothing"
|
||||||
|
- "delete-statefulset-pod"
|
||||||
|
- "delete-deployment-pod"
|
||||||
|
- "delete-both-statefulset-and-deployment-pod"
|
||||||
|
default: "do-nothing"
|
||||||
|
- variable: defaultSettings.allowNodeDrainWithLastHealthyReplica
|
||||||
|
label: Allow Node Drain with the Last Healthy Replica
|
||||||
|
description: "By default, Longhorn will block `kubectl drain` action on a node if the node contains the last healthy replica of a volume.
|
||||||
|
If this setting is enabled, Longhorn will **not** block `kubectl drain` action on a node even if the node contains the last healthy replica of a volume."
|
||||||
|
group: "Longhorn Default Settings"
|
||||||
|
type: boolean
|
||||||
|
default: "false"
|
||||||
- variable: defaultSettings.mkfsExt4Parameters
|
- variable: defaultSettings.mkfsExt4Parameters
|
||||||
label: Custom mkfs.ext4 parameters
|
label: Custom mkfs.ext4 parameters
|
||||||
description: "Allows setting additional filesystem creation parameters for ext4. For older host kernels it might be necessary to disable the optional ext4 metadata_csum feature by specifying `-O ^64bit,^metadata_csum`."
|
description: "Allows setting additional filesystem creation parameters for ext4. For older host kernels it might be necessary to disable the optional ext4 metadata_csum feature by specifying `-O ^64bit,^metadata_csum`."
|
||||||
group: "Longhorn Default Settings"
|
group: "Longhorn Default Settings"
|
||||||
type: string
|
type: string
|
||||||
|
- variable: defaultSettings.disableReplicaRebuild
|
||||||
|
label: Disable Replica Rebuild
|
||||||
|
description: "This setting disable replica rebuild cross the whole cluster, eviction and data locality feature won't work if this setting is true. But doesn't have any impact to any current replica rebuild and restore disaster recovery volume."
|
||||||
|
group: "Longhorn Default Settings"
|
||||||
|
type: boolean
|
||||||
|
default: "false"
|
||||||
|
- variable: defaultSettings.replicaReplenishmentWaitInterval
|
||||||
|
label: Replica Replenishment Wait Interval
|
||||||
|
description: "In seconds. The interval determines how long Longhorn will wait at least in order to reuse the existing data on a failed replica rather than directly creating a new replica for a degraded volume.
|
||||||
|
Warning: This option works only when there is a failed replica in the volume. And this option may block the rebuilding for a while in the case."
|
||||||
|
group: "Longhorn Default Settings"
|
||||||
|
type: int
|
||||||
|
min: 0
|
||||||
|
default: 600
|
||||||
|
- variable: defaultSettings.disableRevisionCounter
|
||||||
|
label: Disable Revision Counter
|
||||||
|
description: "This setting is only for volumes created by UI. By default, this is false meaning there will be a reivision counter file to track every write to the volume. During salvage recovering Longhorn will pick the repica with largest reivision counter as candidate to recover the whole volume. If revision counter is disabled, Longhorn will not track every write to the volume. During the salvage recovering, Longhorn will use the 'volume-head-xxx.img' file last modification time and file size to pick the replica candidate to recover the whole volume."
|
||||||
|
group: "Longhorn Default Settings"
|
||||||
|
type: boolean
|
||||||
|
default: "false"
|
||||||
|
- variable: defaultSettings.systemManagedPodsImagePullPolicy
|
||||||
|
label: System Managed Pod Image Pull Policy
|
||||||
|
description: "This setting defines the Image Pull Policy of Longhorn system managed pods, e.g. instance manager, engine image, CSI driver, etc. The new Image Pull Policy will only apply after the system managed pods restart."
|
||||||
|
group: "Longhorn Default Settings"
|
||||||
|
type: enum
|
||||||
|
options:
|
||||||
|
- "if-not-present"
|
||||||
|
- "always"
|
||||||
|
- "never"
|
||||||
|
default: "if-not-present"
|
||||||
|
- variable: defaultSettings.allowVolumeCreationWithDegradedAvailability
|
||||||
|
label: Allow Volume Creation with Degraded Availability
|
||||||
|
description: "This setting allows user to create and attach a volume that doesn't have all the replicas scheduled at the time of creation."
|
||||||
|
group: "Longhorn Default Settings"
|
||||||
|
type: boolean
|
||||||
|
default: "true"
|
||||||
|
- variable: defaultSettings.autoCleanupSystemGeneratedSnapshot
|
||||||
|
label: Automatically Cleanup System Generated Snapshot
|
||||||
|
description: "This setting enables Longhorn to automatically cleanup the system generated snapshot after replica rebuild is done."
|
||||||
|
group: "Longhorn Default Settings"
|
||||||
|
type: boolean
|
||||||
|
default: "true"
|
||||||
|
- variable: persistence.defaultClass
|
||||||
|
default: "true"
|
||||||
|
description: "Set as default StorageClass for Longhorn"
|
||||||
|
label: Default Storage Class
|
||||||
|
group: "Longhorn Storage Class Settings"
|
||||||
|
required: true
|
||||||
|
type: boolean
|
||||||
|
- variable: persistence.reclaimPolicy
|
||||||
|
label: Storage Class Retain Policy
|
||||||
|
description: "Define reclaim policy (Retain or Delete)"
|
||||||
|
group: "Longhorn Storage Class Settings"
|
||||||
|
required: true
|
||||||
|
type: enum
|
||||||
|
options:
|
||||||
|
- "Delete"
|
||||||
|
- "Retain"
|
||||||
|
default: "Delete"
|
||||||
|
- variable: persistence.defaultClassReplicaCount
|
||||||
|
description: "Set replica count for Longhorn StorageClass"
|
||||||
|
label: Default Storage Class Replica Count
|
||||||
|
group: "Longhorn Storage Class Settings"
|
||||||
|
type: int
|
||||||
|
min: 1
|
||||||
|
max: 10
|
||||||
|
default: 3
|
||||||
|
- variable: persistence.recurringJobs.enable
|
||||||
|
description: "Enable recurring job for Longhorn StorageClass"
|
||||||
|
group: "Longhorn Storage Class Settings"
|
||||||
|
label: Enable Storage Class Recurring Job
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
show_subquestion_if: true
|
||||||
|
subquestions:
|
||||||
|
- variable: persistence.recurringJobs.jobList
|
||||||
|
description: 'Recurring job list for Longhorn StorageClass. Please be careful of quotes of input. e.g., [{"name":"backup", "task":"backup", "cron":"*/2 * * * *", "retain":1,"labels": {"interval":"2m"}}]'
|
||||||
|
label: Storage Class Recurring Job List
|
||||||
|
group: "Longhorn Storage Class Settings"
|
||||||
|
type: string
|
||||||
|
default:
|
||||||
- variable: ingress.enabled
|
- variable: ingress.enabled
|
||||||
default: "false"
|
default: "false"
|
||||||
description: "Expose app using Layer 7 Load Balancer - ingress"
|
description: "Expose app using Layer 7 Load Balancer - ingress"
|
||||||
|
|
|
@ -45,3 +45,22 @@ app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||||
{{- "" -}}
|
{{- "" -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "registry_url" -}}
|
||||||
|
{{- if .Values.privateRegistry.registryUrl -}}
|
||||||
|
{{- printf "%s/" .Values.privateRegistry.registryUrl -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{ include "system_default_registry" . }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- /*
|
||||||
|
define the longhorn release namespace
|
||||||
|
*/ -}}
|
||||||
|
{{- define "release_namespace" -}}
|
||||||
|
{{- if .Values.namespaceOverride -}}
|
||||||
|
{{- .Values.namespaceOverride -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- .Release.Namespace -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
|
@ -22,19 +22,26 @@ rules:
|
||||||
- apiGroups: ["batch"]
|
- apiGroups: ["batch"]
|
||||||
resources: ["jobs", "cronjobs"]
|
resources: ["jobs", "cronjobs"]
|
||||||
verbs: ["*"]
|
verbs: ["*"]
|
||||||
|
- apiGroups: ["policy"]
|
||||||
|
resources: ["poddisruptionbudgets"]
|
||||||
|
verbs: ["*"]
|
||||||
- apiGroups: ["scheduling.k8s.io"]
|
- apiGroups: ["scheduling.k8s.io"]
|
||||||
resources: ["priorityclasses"]
|
resources: ["priorityclasses"]
|
||||||
verbs: ["watch", "list"]
|
verbs: ["watch", "list"]
|
||||||
- apiGroups: ["storage.k8s.io"]
|
- apiGroups: ["storage.k8s.io"]
|
||||||
resources: ["storageclasses", "volumeattachments", "csinodes", "csidrivers"]
|
resources: ["storageclasses", "volumeattachments", "csinodes", "csidrivers"]
|
||||||
verbs: ["*"]
|
verbs: ["*"]
|
||||||
- apiGroups: ["coordination.k8s.io"]
|
- apiGroups: ["snapshot.storage.k8s.io"]
|
||||||
resources: ["leases"]
|
resources: ["volumesnapshotclasses", "volumesnapshots", "volumesnapshotcontents", "volumesnapshotcontents/status"]
|
||||||
verbs: ["get", "watch", "list", "delete", "update", "create"]
|
verbs: ["*"]
|
||||||
- apiGroups: ["longhorn.io"]
|
- apiGroups: ["longhorn.io"]
|
||||||
resources: ["volumes", "volumes/status", "engines", "engines/status", "replicas", "replicas/status", "settings",
|
resources: ["volumes", "volumes/status", "engines", "engines/status", "replicas", "replicas/status", "settings",
|
||||||
"engineimages", "engineimages/status", "nodes", "nodes/status", "instancemanagers", "instancemanagers/status"]
|
"engineimages", "engineimages/status", "nodes", "nodes/status", "instancemanagers", "instancemanagers/status",
|
||||||
|
"sharemanagers", "sharemanagers/status"]
|
||||||
verbs: ["*"]
|
verbs: ["*"]
|
||||||
- apiGroups: ["coordination.k8s.io"]
|
- apiGroups: ["coordination.k8s.io"]
|
||||||
resources: ["leases"]
|
resources: ["leases"]
|
||||||
verbs: ["*"]
|
verbs: ["*"]
|
||||||
|
- apiGroups: ["metrics.k8s.io"]
|
||||||
|
resources: ["pods", "nodes"]
|
||||||
|
verbs: ["get", "list"]
|
||||||
|
|
|
@ -10,4 +10,4 @@ roleRef:
|
||||||
subjects:
|
subjects:
|
||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: longhorn-service-account
|
name: longhorn-service-account
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ include "release_namespace" . }}
|
||||||
|
|
|
@ -4,7 +4,7 @@ metadata:
|
||||||
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
||||||
app: longhorn-manager
|
app: longhorn-manager
|
||||||
name: longhorn-manager
|
name: longhorn-manager
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ include "release_namespace" . }}
|
||||||
spec:
|
spec:
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
@ -16,7 +16,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: longhorn-manager
|
- name: longhorn-manager
|
||||||
image: {{ template "system_default_registry" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}
|
image: {{ template "registry_url" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
|
@ -25,11 +25,13 @@ spec:
|
||||||
- -d
|
- -d
|
||||||
- daemon
|
- daemon
|
||||||
- --engine-image
|
- --engine-image
|
||||||
- "{{ template "system_default_registry" . }}{{ .Values.image.longhorn.engine.repository }}:{{ .Values.image.longhorn.engine.tag }}"
|
- "{{ template "registry_url" . }}{{ .Values.image.longhorn.engine.repository }}:{{ .Values.image.longhorn.engine.tag }}"
|
||||||
- --instance-manager-image
|
- --instance-manager-image
|
||||||
- "{{ template "system_default_registry" . }}{{ .Values.image.longhorn.instanceManager.repository }}:{{ .Values.image.longhorn.instanceManager.tag }}"
|
- "{{ template "registry_url" . }}{{ .Values.image.longhorn.instanceManager.repository }}:{{ .Values.image.longhorn.instanceManager.tag }}"
|
||||||
|
- --share-manager-image
|
||||||
|
- "{{ template "registry_url" . }}{{ .Values.image.longhorn.shareManager.repository }}:{{ .Values.image.longhorn.shareManager.tag }}"
|
||||||
- --manager-image
|
- --manager-image
|
||||||
- "{{ template "system_default_registry" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}"
|
- "{{ template "registry_url" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}"
|
||||||
- --service-account
|
- --service-account
|
||||||
- longhorn-service-account
|
- longhorn-service-account
|
||||||
ports:
|
ports:
|
||||||
|
@ -82,9 +84,9 @@ spec:
|
||||||
- name: longhorn-default-setting
|
- name: longhorn-default-setting
|
||||||
configMap:
|
configMap:
|
||||||
name: longhorn-default-setting
|
name: longhorn-default-setting
|
||||||
{{- if .Values.defaultSettings.registrySecret }}
|
{{- if .Values.privateRegistry.registrySecret }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
- name: {{ .Values.defaultSettings.registrySecret }}
|
- name: {{ .Values.privateRegistry.registrySecret }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: longhorn-service-account
|
serviceAccountName: longhorn-service-account
|
||||||
updateStrategy:
|
updateStrategy:
|
||||||
|
@ -97,7 +99,7 @@ metadata:
|
||||||
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
||||||
app: longhorn-manager
|
app: longhorn-manager
|
||||||
name: longhorn-backend
|
name: longhorn-backend
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ include "release_namespace" . }}
|
||||||
spec:
|
spec:
|
||||||
type: {{ .Values.service.manager.type }}
|
type: {{ .Values.service.manager.type }}
|
||||||
sessionAffinity: ClientIP
|
sessionAffinity: ClientIP
|
||||||
|
|
|
@ -2,12 +2,13 @@ apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
name: longhorn-default-setting
|
name: longhorn-default-setting
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ include "release_namespace" . }}
|
||||||
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
||||||
data:
|
data:
|
||||||
default-setting.yaml: |-
|
default-setting.yaml: |-
|
||||||
backup-target: {{ .Values.defaultSettings.backupTarget }}
|
backup-target: {{ .Values.defaultSettings.backupTarget }}
|
||||||
backup-target-credential-secret: {{ .Values.defaultSettings.backupTargetCredentialSecret }}
|
backup-target-credential-secret: {{ .Values.defaultSettings.backupTargetCredentialSecret }}
|
||||||
|
allow-recurring-job-while-volume-detached: {{ .Values.defaultSettings.allowRecurringJobWhileVolumeDetached }}
|
||||||
create-default-disk-labeled-nodes: {{ .Values.defaultSettings.createDefaultDiskLabeledNodes }}
|
create-default-disk-labeled-nodes: {{ .Values.defaultSettings.createDefaultDiskLabeledNodes }}
|
||||||
default-data-path: {{ .Values.defaultSettings.defaultDataPath }}
|
default-data-path: {{ .Values.defaultSettings.defaultDataPath }}
|
||||||
replica-soft-anti-affinity: {{ .Values.defaultSettings.replicaSoftAntiAffinity }}
|
replica-soft-anti-affinity: {{ .Values.defaultSettings.replicaSoftAntiAffinity }}
|
||||||
|
@ -15,14 +16,23 @@ data:
|
||||||
storage-minimal-available-percentage: {{ .Values.defaultSettings.storageMinimalAvailablePercentage }}
|
storage-minimal-available-percentage: {{ .Values.defaultSettings.storageMinimalAvailablePercentage }}
|
||||||
upgrade-checker: {{ .Values.defaultSettings.upgradeChecker }}
|
upgrade-checker: {{ .Values.defaultSettings.upgradeChecker }}
|
||||||
default-replica-count: {{ .Values.defaultSettings.defaultReplicaCount }}
|
default-replica-count: {{ .Values.defaultSettings.defaultReplicaCount }}
|
||||||
|
default-data-locality: {{ .Values.defaultSettings.defaultDataLocality }}
|
||||||
guaranteed-engine-cpu: {{ .Values.defaultSettings.guaranteedEngineCPU }}
|
guaranteed-engine-cpu: {{ .Values.defaultSettings.guaranteedEngineCPU }}
|
||||||
default-longhorn-static-storage-class: {{ .Values.defaultSettings.defaultLonghornStaticStorageClass }}
|
default-longhorn-static-storage-class: {{ .Values.defaultSettings.defaultLonghornStaticStorageClass }}
|
||||||
backupstore-poll-interval: {{ .Values.defaultSettings.backupstorePollInterval }}
|
backupstore-poll-interval: {{ .Values.defaultSettings.backupstorePollInterval }}
|
||||||
taint-toleration: {{ .Values.defaultSettings.taintToleration }}
|
taint-toleration: {{ .Values.defaultSettings.taintToleration }}
|
||||||
priority-class: {{ .Values.defaultSettings.priorityClass }}
|
priority-class: {{ .Values.defaultSettings.priorityClass }}
|
||||||
registry-secret: {{ .Values.defaultSettings.registrySecret }}
|
|
||||||
auto-salvage: {{ .Values.defaultSettings.autoSalvage }}
|
auto-salvage: {{ .Values.defaultSettings.autoSalvage }}
|
||||||
|
auto-delete-pod-when-volume-detached-unexpectedly: {{ .Values.defaultSettings.autoDeletePodWhenVolumeDetachedUnexpectedly }}
|
||||||
disable-scheduling-on-cordoned-node: {{ .Values.defaultSettings.disableSchedulingOnCordonedNode }}
|
disable-scheduling-on-cordoned-node: {{ .Values.defaultSettings.disableSchedulingOnCordonedNode }}
|
||||||
replica-zone-soft-anti-affinity: {{ .Values.defaultSettings.replicaZoneSoftAntiAffinity }}
|
replica-zone-soft-anti-affinity: {{ .Values.defaultSettings.replicaZoneSoftAntiAffinity }}
|
||||||
volume-attachment-recovery-policy: {{ .Values.defaultSettings.volumeAttachmentRecoveryPolicy }}
|
volume-attachment-recovery-policy: {{ .Values.defaultSettings.volumeAttachmentRecoveryPolicy }}
|
||||||
|
node-down-pod-deletion-policy: {{ .Values.defaultSettings.nodeDownPodDeletionPolicy }}
|
||||||
|
allow-node-drain-with-last-healthy-replica: {{ .Values.defaultSettings.allowNodeDrainWithLastHealthyReplica }}
|
||||||
mkfs-ext4-parameters: {{ .Values.defaultSettings.mkfsExt4Parameters }}
|
mkfs-ext4-parameters: {{ .Values.defaultSettings.mkfsExt4Parameters }}
|
||||||
|
disable-replica-rebuild: {{ .Values.defaultSettings.disableReplicaRebuild }}
|
||||||
|
replica-replenishment-wait-interval: {{ .Values.defaultSettings.replicaReplenishmentWaitInterval }}
|
||||||
|
disable-revision-counter: {{ .Values.defaultSettings.disableRevisionCounter }}
|
||||||
|
system-managed-pods-image-pull-policy: {{ .Values.defaultSettings.systemManagedPodsImagePullPolicy }}
|
||||||
|
allow-volume-creation-with-degraded-availability: {{ .Values.defaultSettings.allowVolumeCreationWithDegradedAvailability }}
|
||||||
|
auto-cleanup-system-generated-snapshot: {{ .Values.defaultSettings.autoCleanupSystemGeneratedSnapshot }}
|
||||||
|
|
|
@ -2,7 +2,7 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: longhorn-driver-deployer
|
name: longhorn-driver-deployer
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ include "release_namespace" . }}
|
||||||
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
@ -16,18 +16,18 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: wait-longhorn-manager
|
- name: wait-longhorn-manager
|
||||||
image: {{ template "system_default_registry" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}
|
image: {{ template "registry_url" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}
|
||||||
command: ['sh', '-c', 'while [ $(curl -m 1 -s -o /dev/null -w "%{http_code}" http://longhorn-backend:9500/v1) != "200" ]; do echo waiting; sleep 2; done']
|
command: ['sh', '-c', 'while [ $(curl -m 1 -s -o /dev/null -w "%{http_code}" http://longhorn-backend:9500/v1) != "200" ]; do echo waiting; sleep 2; done']
|
||||||
containers:
|
containers:
|
||||||
- name: longhorn-driver-deployer
|
- name: longhorn-driver-deployer
|
||||||
image: {{ template "system_default_registry" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}
|
image: {{ template "registry_url" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- longhorn-manager
|
- longhorn-manager
|
||||||
- -d
|
- -d
|
||||||
- deploy-driver
|
- deploy-driver
|
||||||
- --manager-image
|
- --manager-image
|
||||||
- "{{ template "system_default_registry" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}"
|
- "{{ template "registry_url" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}"
|
||||||
- --manager-url
|
- --manager-url
|
||||||
- http://longhorn-backend:9500/v1
|
- http://longhorn-backend:9500/v1
|
||||||
env:
|
env:
|
||||||
|
@ -49,19 +49,23 @@ spec:
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if and .Values.image.csi.attacher.repository .Values.image.csi.attacher.tag }}
|
{{- if and .Values.image.csi.attacher.repository .Values.image.csi.attacher.tag }}
|
||||||
- name: CSI_ATTACHER_IMAGE
|
- name: CSI_ATTACHER_IMAGE
|
||||||
value: "{{ template "system_default_registry" . }}{{ .Values.image.csi.attacher.repository }}:{{ .Values.image.csi.attacher.tag }}"
|
value: "{{ template "registry_url" . }}{{ .Values.image.csi.attacher.repository }}:{{ .Values.image.csi.attacher.tag }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if and .Values.image.csi.provisioner.repository .Values.image.csi.provisioner.tag }}
|
{{- if and .Values.image.csi.provisioner.repository .Values.image.csi.provisioner.tag }}
|
||||||
- name: CSI_PROVISIONER_IMAGE
|
- name: CSI_PROVISIONER_IMAGE
|
||||||
value: "{{ template "system_default_registry" . }}{{ .Values.image.csi.provisioner.repository }}:{{ .Values.image.csi.provisioner.tag }}"
|
value: "{{ template "registry_url" . }}{{ .Values.image.csi.provisioner.repository }}:{{ .Values.image.csi.provisioner.tag }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if and .Values.image.csi.nodeDriverRegistrar.repository .Values.image.csi.nodeDriverRegistrar.tag }}
|
{{- if and .Values.image.csi.nodeDriverRegistrar.repository .Values.image.csi.nodeDriverRegistrar.tag }}
|
||||||
- name: CSI_NODE_DRIVER_REGISTRAR_IMAGE
|
- name: CSI_NODE_DRIVER_REGISTRAR_IMAGE
|
||||||
value: "{{ template "system_default_registry" . }}{{ .Values.image.csi.nodeDriverRegistrar.repository }}:{{ .Values.image.csi.nodeDriverRegistrar.tag }}"
|
value: "{{ template "registry_url" . }}{{ .Values.image.csi.nodeDriverRegistrar.repository }}:{{ .Values.image.csi.nodeDriverRegistrar.tag }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if and .Values.image.csi.resizer.repository .Values.image.csi.resizer.tag }}
|
{{- if and .Values.image.csi.resizer.repository .Values.image.csi.resizer.tag }}
|
||||||
- name: CSI_RESIZER_IMAGE
|
- name: CSI_RESIZER_IMAGE
|
||||||
value: "{{ template "system_default_registry" . }}{{ .Values.image.csi.resizer.repository }}:{{ .Values.image.csi.resizer.tag }}"
|
value: "{{ template "registry_url" . }}{{ .Values.image.csi.resizer.repository }}:{{ .Values.image.csi.resizer.tag }}"
|
||||||
|
{{- end }}
|
||||||
|
{{- if and .Values.image.csi.snapshotter.repository .Values.image.csi.snapshotter.tag }}
|
||||||
|
- name: CSI_SNAPSHOTTER_IMAGE
|
||||||
|
value: "{{ template "registry_url" . }}{{ .Values.image.csi.snapshotter.repository }}:{{ .Values.image.csi.snapshotter.tag }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.csi.attacherReplicaCount }}
|
{{- if .Values.csi.attacherReplicaCount }}
|
||||||
- name: CSI_ATTACHER_REPLICA_COUNT
|
- name: CSI_ATTACHER_REPLICA_COUNT
|
||||||
|
@ -75,9 +79,14 @@ spec:
|
||||||
- name: CSI_RESIZER_REPLICA_COUNT
|
- name: CSI_RESIZER_REPLICA_COUNT
|
||||||
value: {{ .Values.csi.resizerReplicaCount | quote }}
|
value: {{ .Values.csi.resizerReplicaCount | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.defaultSettings.registrySecret }}
|
{{- if .Values.csi.snapshotterReplicaCount }}
|
||||||
|
- name: CSI_SNAPSHOTTER_REPLICA_COUNT
|
||||||
|
value: {{ .Values.csi.snapshotterReplicaCount | quote }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if .Values.privateRegistry.registrySecret }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
- name: {{ .Values.defaultSettings.registrySecret }}
|
- name: {{ .Values.privateRegistry.registrySecret }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: longhorn-service-account
|
serviceAccountName: longhorn-service-account
|
||||||
securityContext:
|
securityContext:
|
||||||
|
|
|
@ -4,7 +4,7 @@ metadata:
|
||||||
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
||||||
app: longhorn-ui
|
app: longhorn-ui
|
||||||
name: longhorn-ui
|
name: longhorn-ui
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ include "release_namespace" . }}
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
|
@ -17,7 +17,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: longhorn-ui
|
- name: longhorn-ui
|
||||||
image: {{ template "system_default_registry" . }}{{ .Values.image.longhorn.ui.repository }}:{{ .Values.image.longhorn.ui.tag }}
|
image: {{ template "registry_url" . }}{{ .Values.image.longhorn.ui.repository }}:{{ .Values.image.longhorn.ui.tag }}
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
runAsUser: 0
|
runAsUser: 0
|
||||||
|
@ -27,9 +27,9 @@ spec:
|
||||||
env:
|
env:
|
||||||
- name: LONGHORN_MANAGER_IP
|
- name: LONGHORN_MANAGER_IP
|
||||||
value: "http://longhorn-backend:9500"
|
value: "http://longhorn-backend:9500"
|
||||||
{{- if .Values.defaultSettings.registrySecret }}
|
{{- if .Values.privateRegistry.registrySecret }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
- name: {{ .Values.defaultSettings.registrySecret }}
|
- name: {{ .Values.privateRegistry.registrySecret }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
---
|
---
|
||||||
kind: Service
|
kind: Service
|
||||||
|
@ -41,7 +41,7 @@ metadata:
|
||||||
kubernetes.io/cluster-service: "true"
|
kubernetes.io/cluster-service: "true"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
name: longhorn-frontend
|
name: longhorn-frontend
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ include "release_namespace" . }}
|
||||||
spec:
|
spec:
|
||||||
{{- if eq .Values.service.ui.type "Rancher-Proxy" }}
|
{{- if eq .Values.service.ui.type "Rancher-Proxy" }}
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
|
|
|
@ -3,6 +3,7 @@ apiVersion: extensions/v1beta1
|
||||||
kind: Ingress
|
kind: Ingress
|
||||||
metadata:
|
metadata:
|
||||||
name: longhorn-ingress
|
name: longhorn-ingress
|
||||||
|
namespace: {{ include "release_namespace" . }}
|
||||||
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
||||||
app: longhorn-ingress
|
app: longhorn-ingress
|
||||||
annotations:
|
annotations:
|
||||||
|
|
|
@ -5,7 +5,7 @@ metadata:
|
||||||
"helm.sh/hook": post-upgrade
|
"helm.sh/hook": post-upgrade
|
||||||
"helm.sh/hook-delete-policy": hook-succeeded,before-hook-creation
|
"helm.sh/hook-delete-policy": hook-succeeded,before-hook-creation
|
||||||
name: longhorn-post-upgrade
|
name: longhorn-post-upgrade
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ include "release_namespace" . }}
|
||||||
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
||||||
spec:
|
spec:
|
||||||
activeDeadlineSeconds: 900
|
activeDeadlineSeconds: 900
|
||||||
|
@ -17,8 +17,8 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: longhorn-post-upgrade
|
- name: longhorn-post-upgrade
|
||||||
image: {{ template "system_default_registry" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}
|
image: {{ template "registry_url" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- longhorn-manager
|
- longhorn-manager
|
||||||
- post-upgrade
|
- post-upgrade
|
||||||
|
@ -28,8 +28,8 @@ spec:
|
||||||
fieldRef:
|
fieldRef:
|
||||||
fieldPath: metadata.namespace
|
fieldPath: metadata.namespace
|
||||||
restartPolicy: OnFailure
|
restartPolicy: OnFailure
|
||||||
{{- if .Values.defaultSettings.registrySecret }}
|
{{- if .Values.privateRegistry.registrySecret }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
- name: {{ .Values.defaultSettings.registrySecret }}
|
- name: {{ .Values.privateRegistry.registrySecret }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: longhorn-service-account
|
serviceAccountName: longhorn-service-account
|
||||||
|
|
|
@ -35,7 +35,7 @@ kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
name: longhorn-psp-role
|
name: longhorn-psp-role
|
||||||
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ include "release_namespace" . }}
|
||||||
rules:
|
rules:
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- policy
|
- policy
|
||||||
|
@ -51,7 +51,7 @@ kind: RoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
name: longhorn-psp-binding
|
name: longhorn-psp-binding
|
||||||
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ include "release_namespace" . }}
|
||||||
roleRef:
|
roleRef:
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
kind: Role
|
kind: Role
|
||||||
|
@ -59,8 +59,8 @@ roleRef:
|
||||||
subjects:
|
subjects:
|
||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: longhorn-service-account
|
name: longhorn-service-account
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ include "release_namespace" . }}
|
||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: default
|
name: default
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ include "release_namespace" . }}
|
||||||
{{- end }}
|
{{- end }}
|
|
@ -1,8 +1,9 @@
|
||||||
{{- if .Values.defaultSettings.registrySecret }}
|
{{- if .Values.privateRegistry.registrySecret }}
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Secret
|
kind: Secret
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ .Values.defaultSettings.registrySecret }}
|
name: {{ .Values.privateRegistry.registrySecret }}
|
||||||
|
namespace: {{ include "release_namespace" . }}
|
||||||
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
||||||
type: kubernetes.io/dockerconfigjson
|
type: kubernetes.io/dockerconfigjson
|
||||||
data:
|
data:
|
||||||
|
|
|
@ -2,5 +2,5 @@ apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
name: longhorn-service-account
|
name: longhorn-service-account
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ include "release_namespace" . }}
|
||||||
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
||||||
|
|
|
@ -1,14 +1,26 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: longhorn-storageclass
|
||||||
|
namespace: {{ include "release_namespace" . }}
|
||||||
|
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
||||||
|
data:
|
||||||
|
storageclass.yaml: |
|
||||||
kind: StorageClass
|
kind: StorageClass
|
||||||
apiVersion: storage.k8s.io/v1
|
apiVersion: storage.k8s.io/v1
|
||||||
metadata:
|
metadata:
|
||||||
name: longhorn
|
name: longhorn
|
||||||
annotations:
|
annotations:
|
||||||
storageclass.kubernetes.io/is-default-class: {{ .Values.persistence.defaultClass | quote }}
|
storageclass.kubernetes.io/is-default-class: {{ .Values.persistence.defaultClass | quote }}
|
||||||
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
|
||||||
provisioner: driver.longhorn.io
|
provisioner: driver.longhorn.io
|
||||||
allowVolumeExpansion: true
|
allowVolumeExpansion: true
|
||||||
|
reclaimPolicy: "{{ .Values.persistence.reclaimPolicy }}"
|
||||||
|
volumeBindingMode: Immediate
|
||||||
parameters:
|
parameters:
|
||||||
numberOfReplicas: "{{ .Values.persistence.defaultClassReplicaCount }}"
|
numberOfReplicas: "{{ .Values.persistence.defaultClassReplicaCount }}"
|
||||||
staleReplicaTimeout: "30"
|
staleReplicaTimeout: "30"
|
||||||
fromBackup: ""
|
fromBackup: ""
|
||||||
baseImage: ""
|
baseImage: ""
|
||||||
|
{{- if .Values.persistence.recurringJobs.enable }}
|
||||||
|
recurringJobs: '{{ .Values.persistence.recurringJobs.jobList }}'
|
||||||
|
{{- end }}
|
||||||
|
|
|
@ -4,6 +4,7 @@ apiVersion: v1
|
||||||
kind: Secret
|
kind: Secret
|
||||||
metadata:
|
metadata:
|
||||||
name: longhorn
|
name: longhorn
|
||||||
|
namespace: {{ include "release_namespace" . }}
|
||||||
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
||||||
app: longhorn
|
app: longhorn
|
||||||
type: kubernetes.io/tls
|
type: kubernetes.io/tls
|
||||||
|
|
|
@ -5,7 +5,7 @@ metadata:
|
||||||
"helm.sh/hook": pre-delete
|
"helm.sh/hook": pre-delete
|
||||||
"helm.sh/hook-delete-policy": hook-succeeded
|
"helm.sh/hook-delete-policy": hook-succeeded
|
||||||
name: longhorn-uninstall
|
name: longhorn-uninstall
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ include "release_namespace" . }}
|
||||||
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
labels: {{- include "longhorn.labels" . | nindent 4 }}
|
||||||
spec:
|
spec:
|
||||||
activeDeadlineSeconds: 900
|
activeDeadlineSeconds: 900
|
||||||
|
@ -17,8 +17,8 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: longhorn-uninstall
|
- name: longhorn-uninstall
|
||||||
image: {{ template "system_default_registry" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}
|
image: {{ template "registry_url" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- longhorn-manager
|
- longhorn-manager
|
||||||
- uninstall
|
- uninstall
|
||||||
|
@ -29,8 +29,8 @@ spec:
|
||||||
fieldRef:
|
fieldRef:
|
||||||
fieldPath: metadata.namespace
|
fieldPath: metadata.namespace
|
||||||
restartPolicy: OnFailure
|
restartPolicy: OnFailure
|
||||||
{{- if .Values.defaultSettings.registrySecret }}
|
{{- if .Values.privateRegistry.registrySecret }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
- name: {{ .Values.defaultSettings.registrySecret }}
|
- name: {{ .Values.privateRegistry.registrySecret }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: longhorn-service-account
|
serviceAccountName: longhorn-service-account
|
||||||
|
|
|
@ -7,7 +7,8 @@ metadata:
|
||||||
rules:
|
rules:
|
||||||
- apiGroups: [ "longhorn.io" ]
|
- apiGroups: [ "longhorn.io" ]
|
||||||
resources: ["volumes", "volumes/status", "engines", "engines/status", "replicas", "replicas/status", "settings",
|
resources: ["volumes", "volumes/status", "engines", "engines/status", "replicas", "replicas/status", "settings",
|
||||||
"engineimages", "engineimages/status", "nodes", "nodes/status", "instancemanagers", "instancemanagers/status" ]
|
"engineimages", "engineimages/status", "nodes", "nodes/status", "instancemanagers", "instancemanagers/status",
|
||||||
|
"sharemanagers", "sharemanagers/status"]
|
||||||
verbs: [ "*" ]
|
verbs: [ "*" ]
|
||||||
---
|
---
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
@ -19,7 +20,8 @@ metadata:
|
||||||
rules:
|
rules:
|
||||||
- apiGroups: [ "longhorn.io" ]
|
- apiGroups: [ "longhorn.io" ]
|
||||||
resources: ["volumes", "volumes/status", "engines", "engines/status", "replicas", "replicas/status", "settings",
|
resources: ["volumes", "volumes/status", "engines", "engines/status", "replicas", "replicas/status", "settings",
|
||||||
"engineimages", "engineimages/status", "nodes", "nodes/status", "instancemanagers", "instancemanagers/status" ]
|
"engineimages", "engineimages/status", "nodes", "nodes/status", "instancemanagers", "instancemanagers/status",
|
||||||
|
"sharemanagers", "sharemanagers/status"]
|
||||||
verbs: [ "*" ]
|
verbs: [ "*" ]
|
||||||
---
|
---
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
@ -31,5 +33,6 @@ metadata:
|
||||||
rules:
|
rules:
|
||||||
- apiGroups: [ "longhorn.io" ]
|
- apiGroups: [ "longhorn.io" ]
|
||||||
resources: ["volumes", "volumes/status", "engines", "engines/status", "replicas", "replicas/status", "settings",
|
resources: ["volumes", "volumes/status", "engines", "engines/status", "replicas", "replicas/status", "settings",
|
||||||
"engineimages", "engineimages/status", "nodes", "nodes/status", "instancemanagers", "instancemanagers/status" ]
|
"engineimages", "engineimages/status", "nodes", "nodes/status", "instancemanagers", "instancemanagers/status",
|
||||||
|
"sharemanagers", "sharemanagers/status"]
|
||||||
verbs: [ "get", "list", "watch" ]
|
verbs: [ "get", "list", "watch" ]
|
||||||
|
|
|
@ -9,29 +9,35 @@ image:
|
||||||
longhorn:
|
longhorn:
|
||||||
engine:
|
engine:
|
||||||
repository: rancher/longhornio-longhorn-engine
|
repository: rancher/longhornio-longhorn-engine
|
||||||
tag: v1.0.2
|
tag: v1.1.0
|
||||||
manager:
|
manager:
|
||||||
repository: rancher/longhornio-longhorn-manager
|
repository: rancher/longhornio-longhorn-manager
|
||||||
tag: v1.0.2
|
tag: v1.1.0
|
||||||
ui:
|
ui:
|
||||||
repository: rancher/longhornio-longhorn-ui
|
repository: rancher/longhornio-longhorn-ui
|
||||||
tag: v1.0.2
|
tag: v1.1.0
|
||||||
instanceManager:
|
instanceManager:
|
||||||
repository: rancher/longhornio-longhorn-instance-manager
|
repository: rancher/longhornio-longhorn-instance-manager
|
||||||
tag: v1_20200514
|
tag: v1_20201216
|
||||||
|
shareManager:
|
||||||
|
repository: rancher/longhornio-longhorn-share-manager
|
||||||
|
tag: v1_20201204
|
||||||
csi:
|
csi:
|
||||||
attacher:
|
attacher:
|
||||||
repository: rancher/longhornio-csi-attacher
|
repository: rancher/longhornio-csi-attacher
|
||||||
tag: v2.0.0
|
tag: v2.2.1-lh1
|
||||||
provisioner:
|
provisioner:
|
||||||
repository: rancher/longhornio-csi-provisioner
|
repository: rancher/longhornio-csi-provisioner
|
||||||
tag: v1.4.0
|
tag: v1.6.0-lh1
|
||||||
nodeDriverRegistrar:
|
nodeDriverRegistrar:
|
||||||
repository: rancher/longhornio-csi-node-driver-registrar
|
repository: rancher/longhornio-csi-node-driver-registrar
|
||||||
tag: v1.2.0
|
tag: v1.2.0-lh1
|
||||||
resizer:
|
resizer:
|
||||||
repository: rancher/longhornio-csi-resizer
|
repository: rancher/longhornio-csi-resizer
|
||||||
tag: v0.3.0
|
tag: v0.5.1-lh1
|
||||||
|
snapshotter:
|
||||||
|
repository: rancher/longhornio-csi-snapshotter
|
||||||
|
tag: v2.1.1-lh1
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
service:
|
service:
|
||||||
|
@ -45,18 +51,25 @@ service:
|
||||||
persistence:
|
persistence:
|
||||||
defaultClass: true
|
defaultClass: true
|
||||||
defaultClassReplicaCount: 3
|
defaultClassReplicaCount: 3
|
||||||
|
reclaimPolicy: Delete
|
||||||
|
recurringJobs:
|
||||||
|
enable: false
|
||||||
|
jobList: []
|
||||||
|
|
||||||
csi:
|
csi:
|
||||||
kubeletRootDir: ~
|
kubeletRootDir: ~
|
||||||
attacherReplicaCount: ~
|
attacherReplicaCount: ~
|
||||||
provisionerReplicaCount: ~
|
provisionerReplicaCount: ~
|
||||||
resizerReplicaCount: ~
|
resizerReplicaCount: ~
|
||||||
|
snapshotterReplicaCount: ~
|
||||||
|
|
||||||
defaultSettings:
|
defaultSettings:
|
||||||
backupTarget: ~
|
backupTarget: ~
|
||||||
backupTargetCredentialSecret: ~
|
backupTargetCredentialSecret: ~
|
||||||
|
allowRecurringJobWhileVolumeDetached: ~
|
||||||
createDefaultDiskLabeledNodes: ~
|
createDefaultDiskLabeledNodes: ~
|
||||||
defaultDataPath: ~
|
defaultDataPath: ~
|
||||||
|
defaultDataLocality: ~
|
||||||
replicaSoftAntiAffinity: ~
|
replicaSoftAntiAffinity: ~
|
||||||
storageOverProvisioningPercentage: ~
|
storageOverProvisioningPercentage: ~
|
||||||
storageMinimalAvailablePercentage: ~
|
storageMinimalAvailablePercentage: ~
|
||||||
|
@ -67,17 +80,26 @@ defaultSettings:
|
||||||
backupstorePollInterval: ~
|
backupstorePollInterval: ~
|
||||||
taintToleration: ~
|
taintToleration: ~
|
||||||
priorityClass: ~
|
priorityClass: ~
|
||||||
registrySecret: ~
|
|
||||||
autoSalvage: ~
|
autoSalvage: ~
|
||||||
|
autoDeletePodWhenVolumeDetachedUnexpectedly: ~
|
||||||
disableSchedulingOnCordonedNode: ~
|
disableSchedulingOnCordonedNode: ~
|
||||||
replicaZoneSoftAntiAffinity: ~
|
replicaZoneSoftAntiAffinity: ~
|
||||||
volumeAttachmentRecoveryPolicy: ~
|
volumeAttachmentRecoveryPolicy: ~
|
||||||
|
nodeDownPodDeletionPolicy: ~
|
||||||
|
allowNodeDrainWithLastHealthyReplica: ~
|
||||||
mkfsExt4Parameters: ~
|
mkfsExt4Parameters: ~
|
||||||
|
disableReplicaRebuild: ~
|
||||||
|
replicaReplenishmentWaitInterval: ~
|
||||||
|
disableRevisionCounter: ~
|
||||||
|
systemManagedPodsImagePullPolicy: ~
|
||||||
|
allowVolumeCreationWithDegradedAvailability: ~
|
||||||
|
autoCleanupSystemGeneratedSnapshot: ~
|
||||||
|
|
||||||
privateRegistry:
|
privateRegistry:
|
||||||
registryUrl: ~
|
registryUrl: ~
|
||||||
registryUser: ~
|
registryUser: ~
|
||||||
registryPasswd: ~
|
registryPasswd: ~
|
||||||
|
registrySecret: ~
|
||||||
|
|
||||||
resources: {}
|
resources: {}
|
||||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||||
|
@ -134,3 +156,7 @@ ingress:
|
||||||
|
|
||||||
# Configure a pod security policy in the Longhorn namespace to allow privileged pods
|
# Configure a pod security policy in the Longhorn namespace to allow privileged pods
|
||||||
enablePSP: true
|
enablePSP: true
|
||||||
|
|
||||||
|
## Specify override namespace, specifically this is useful for using longhorn as sub-chart
|
||||||
|
## and its release namespace is not the `longhorn-system`
|
||||||
|
namespaceOverride: ""
|
||||||
|
|
57
index.yaml
57
index.yaml
|
@ -641,6 +641,47 @@ entries:
|
||||||
- assets/fleet-crd/fleet-crd-0.3.0-beta600.tgz
|
- assets/fleet-crd/fleet-crd-0.3.0-beta600.tgz
|
||||||
version: 0.3.0-beta600
|
version: 0.3.0-beta600
|
||||||
longhorn:
|
longhorn:
|
||||||
|
- annotations:
|
||||||
|
catalog.cattle.io/auto-install: longhorn-crd=match
|
||||||
|
catalog.cattle.io/certified: rancher
|
||||||
|
catalog.cattle.io/display-name: Longhorn
|
||||||
|
catalog.cattle.io/namespace: longhorn-system
|
||||||
|
catalog.cattle.io/os: linux
|
||||||
|
catalog.cattle.io/provides-gvr: longhorn.io/v1beta1
|
||||||
|
catalog.cattle.io/release-name: longhorn
|
||||||
|
catalog.cattle.io/ui-component: longhorn
|
||||||
|
apiVersion: v1
|
||||||
|
appVersion: v1.1.0
|
||||||
|
created: "2020-12-23T20:09:04.09651411Z"
|
||||||
|
description: Longhorn is a distributed block storage system for Kubernetes.
|
||||||
|
digest: 4d9c34af5cb6f983649c0da636853dcb363aa6aed1293bffb11ddfd04180d122
|
||||||
|
home: https://github.com/longhorn/longhorn
|
||||||
|
icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/longhorn/icon/color/longhorn-icon-color.svg
|
||||||
|
keywords:
|
||||||
|
- longhorn
|
||||||
|
- storage
|
||||||
|
- distributed
|
||||||
|
- block
|
||||||
|
- device
|
||||||
|
- iscsi
|
||||||
|
kubeVersion: '>=v1.16.0-r0'
|
||||||
|
maintainers:
|
||||||
|
- email: maintainers@longhorn.io
|
||||||
|
name: Longhorn maintainers
|
||||||
|
- email: sheng@yasker.org
|
||||||
|
name: Sheng Yang
|
||||||
|
name: longhorn
|
||||||
|
sources:
|
||||||
|
- https://github.com/longhorn/longhorn
|
||||||
|
- https://github.com/longhorn/longhorn-engine
|
||||||
|
- https://github.com/longhorn/longhorn-instance-manager
|
||||||
|
- https://github.com/longhorn/longhorn-share-manager
|
||||||
|
- https://github.com/longhorn/longhorn-manager
|
||||||
|
- https://github.com/longhorn/longhorn-ui
|
||||||
|
- https://github.com/longhorn/longhorn-tests
|
||||||
|
urls:
|
||||||
|
- assets/longhorn/longhorn-1.1.000.tgz
|
||||||
|
version: 1.1.000
|
||||||
- annotations:
|
- annotations:
|
||||||
catalog.cattle.io/auto-install: longhorn-crd=match
|
catalog.cattle.io/auto-install: longhorn-crd=match
|
||||||
catalog.cattle.io/certified: rancher
|
catalog.cattle.io/certified: rancher
|
||||||
|
@ -761,6 +802,20 @@ entries:
|
||||||
- assets/longhorn/longhorn-1.0.200.tgz
|
- assets/longhorn/longhorn-1.0.200.tgz
|
||||||
version: 1.0.200
|
version: 1.0.200
|
||||||
longhorn-crd:
|
longhorn-crd:
|
||||||
|
- annotations:
|
||||||
|
catalog.cattle.io/certified: rancher
|
||||||
|
catalog.cattle.io/hidden: "true"
|
||||||
|
catalog.cattle.io/namespace: longhorn-system
|
||||||
|
catalog.cattle.io/release-name: longhorn-crd
|
||||||
|
apiVersion: v1
|
||||||
|
created: "2020-12-23T20:09:04.097324624Z"
|
||||||
|
description: Installs the CRDs for longhorn.
|
||||||
|
digest: 2ca9ca1b7af582f9c0e89684e4624a4d4cfc1484ceee74f3cab9c22c7b4e823f
|
||||||
|
name: longhorn-crd
|
||||||
|
type: application
|
||||||
|
urls:
|
||||||
|
- assets/longhorn/longhorn-crd-1.1.000.tgz
|
||||||
|
version: 1.1.000
|
||||||
- annotations:
|
- annotations:
|
||||||
catalog.cattle.io/certified: rancher
|
catalog.cattle.io/certified: rancher
|
||||||
catalog.cattle.io/hidden: "true"
|
catalog.cattle.io/hidden: "true"
|
||||||
|
@ -2642,4 +2697,4 @@ entries:
|
||||||
urls:
|
urls:
|
||||||
- assets/rio/rio-0.8.000.tgz
|
- assets/rio/rio-0.8.000.tgz
|
||||||
version: 0.8.000
|
version: 0.8.000
|
||||||
generated: "2020-12-23T18:26:24.779180385Z"
|
generated: "2020-12-23T20:09:04.094547777Z"
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
cb870a74cd8c3041a1de9b38d2c2443bae476c69c4d4f1dfe95b8eef17fbbb11 packages/longhorn/longhorn.patch
|
e59790fbbbfb0bf66784bab3e68c953b0847c2046c3fb95aee1d7a96cf946d80 packages/longhorn/longhorn.patch
|
||||||
da86de88f83918e2eb6fbd79d9f08a2a5e2d4c42f9931aa9c1f113e71438ea60 packages/longhorn/overlay/templates/userroles.yaml
|
84ea513b9f896199896791c1b0f25b5a297ce10541fef9e63dae3ed7c7f0b547 packages/longhorn/overlay/templates/userroles.yaml
|
||||||
16566f4ca1cf1c8f7dac8a7b245b916ab6fbcacfdc550e6783c0783c0915cef6 packages/longhorn/package.yaml
|
3077b7bb0f951b30bc39cda4f58d0372b23113addd59fe5e39e14326676fa948 packages/longhorn/package.yaml
|
||||||
|
|
Loading…
Reference in New Issue