Commit d5cb0abe by Shuo Wu Committed by Sheng Yang

Longhorn: Longhorn v0.6.0 release

parent d543df4a
apiVersion: v1 apiVersion: v1
name: longhorn name: longhorn
version: 0.5.0 version: 0.6.0
appVersion: v0.5.0 appVersion: v0.6.0
kubeVersion: ">=v1.8.0-r0" kubeVersion: ">=v1.12.0-r0"
description: Longhorn is a distributed block storage system for Kubernetes powered by Rancher Labs. description: Longhorn is a distributed block storage system for Kubernetes powered by Rancher Labs.
keywords: keywords:
- longhorn - longhorn
......
...@@ -12,7 +12,7 @@ questions: ...@@ -12,7 +12,7 @@ questions:
- csi - csi
- flexvolume - flexvolume
label: Longhorn Kubernetes Driver label: Longhorn Kubernetes Driver
group: "Longhorn Settings" group: "Longhorn Driver Settings"
show_subquestion_if: flexvolume show_subquestion_if: flexvolume
subquestions: subquestions:
- variable: persistence.flexvolumePath - variable: persistence.flexvolumePath
...@@ -59,18 +59,102 @@ questions: ...@@ -59,18 +59,102 @@ questions:
- variable: persistence.defaultClass - variable: persistence.defaultClass
default: "true" default: "true"
description: "Set as default StorageClass" description: "Set as default StorageClass"
group: "Longhorn Settings" group: "Longhorn Driver Settings"
type: boolean type: boolean
required: true required: true
label: Default Storage Class label: Default Storage Class
- variable: persistence.defaultClassReplicaCount - variable: persistence.defaultClassReplicaCount
description: "Set replica count for default StorageClass" description: "Set replica count for default StorageClass"
group: "Longhorn Settings" group: "Longhorn Driver Settings"
type: int type: int
default: 3 default: 3
min: 1 min: 1
max: 10 max: 10
label: Default Storage Class Replica Count label: Default Storage Class Replica Count
- variable: defaultSettings.backupTarget
label: Backup Target
description: "The target used for backup. Support NFS or S3."
group: "Longhorn Default Settings"
type: string
default:
- variable: defaultSettings.backupTargetCredentialSecret
label: Backup Target Credential Secret
description: "The Kubernetes secret associated with the backup target."
group: "Longhorn Default Settings"
type: string
default:
- variable: defaultSettings.createDefaultDiskLabeledNodes
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, default Disk will be created on all new Nodes (only on first add). By default false.'
group: "Longhorn Default Settings"
type: boolean
default: "false"
- variable: defaultSettings.defaultDataPath
label: Default Data Path
description: 'Default path to use for storing data on a host. By default "/var/lib/rancher/longhorn/"'
group: "Longhorn Default Settings"
type: string
default: "/var/lib/rancher/longhorn/"
- variable: defaultSettings.replicaSoftAntiAffinity
label: Replica Soft Anti-Affinity
description: 'Allow scheduling on nodes with existing healthy replicas of the same volume. By default true.'
group: "Longhorn Default Settings"
type: boolean
default: "true"
- variable: defaultSettings.storageOverProvisioningPercentage
label: Storage Over Provisioning Percentage
description: "The over-provisioning percentage defines how much storage can be allocated relative to the hard drive's capacity. By default 500."
group: "Longhorn Default Settings"
type: int
min: 0
default: 500
- variable: defaultSettings.storageMinimalAvailablePercentage
label: Storage Minimal Available Percentage
description: "If one disk's available capacity to it's maximum capacity in % is less than the minimal available percentage, the disk would become unschedulable until more space freed up. By default 10."
group: "Longhorn Default Settings"
type: int
min: 0
max: 100
default: 10
- variable: defaultSettings.upgradeChecker
label: Enable Upgrade Checker
description: 'Upgrade Checker will check for new Longhorn version periodically. When there is a new version available, it will notify the user using UI. By default true.'
group: "Longhorn Default Settings"
type: boolean
default: "true"
- variable: defaultSettings.defaultReplicaCount
label: Default Replica Count
description: "The default number of replicas when creating the volume from Longhorn UI. For Kubernetes, update the `numberOfReplicas` in the StorageClass. By default 3."
group: "Longhorn Default Settings"
type: int
min: 1
max: 20
default: 3
- variable: defaultSettings.guaranteedEngineCPU
label: Guaranteed Engine CPU
description: '(EXPERIMENTAL FEATURE) Allow Longhorn Engine to have guaranteed CPU allocation. The value is how many CPUs should be reserved for each Engine/Replica 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. WARNING: Attaching of the volume may fail or stuck while using this feature due to the resource constraint. Disabled ("0") by default.'
group: "Longhorn Default Settings"
type: float
default: 0
- variable: defaultSettings.defaultLonghornStaticStorageClass
label: Default Longhorn Static StorageClass Name
description: "The 'storageClassName' is for PV/PVC when creating PV/PVC for an existing Longhorn volume. Notice that it's unnecessary for users create the related StorageClass object in Kubernetes since the StorageClass would only be used as matching labels for PVC bounding purpose. By default 'longhorn-static'."
group: "Longhorn Default Settings"
type: string
default: "longhorn-static"
- variable: defaultSettings.backupstorePollInterval
label: Backupstore Poll Interval
description: "In seconds. The interval to poll the backup store for updating volumes' Last Backup field. By default 300."
group: "Longhorn Default Settings"
type: int
min: 0
default: 300
- variable: defaultSettings.taintToleration
label: Kubernetes Taint Toleration
description: "By setting tolerations for Longhorn then adding taints for the nodes, the nodes with large storage can be dedicated to Longhorn only (to store replica data) and reject other general workloads. Multiple tolerations can be set here, and these tolerations are separated by semicolon. For example, \"key1=value1:NoSchedule; key2:NoExecute\". Notice that \"kubernetes.io\" is used as the key of all Kubernetes default tolerations, please do not contain this substring in your toleration setting."
group: "Longhorn Default 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"
......
apiVersion: rbac.authorization.k8s.io/v1beta1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
name: longhorn-role name: longhorn-role
...@@ -28,5 +28,5 @@ rules: ...@@ -28,5 +28,5 @@ rules:
resources: ["csinodeinfos"] resources: ["csinodeinfos"]
verbs: ["get", "list", "watch"] verbs: ["get", "list", "watch"]
- apiGroups: ["longhorn.rancher.io"] - apiGroups: ["longhorn.rancher.io"]
resources: ["volumes", "engines", "replicas", "settings", "engineimages", "nodes"] resources: ["volumes", "engines", "replicas", "settings", "engineimages", "nodes", "instancemanagers"]
verbs: ["*"] verbs: ["*"]
apiVersion: rbac.authorization.k8s.io/v1beta1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:
name: longhorn-bind name: longhorn-bind
......
...@@ -105,3 +105,21 @@ spec: ...@@ -105,3 +105,21 @@ spec:
singular: node singular: node
scope: Namespaced scope: Namespaced
version: v1alpha1 version: v1alpha1
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
labels:
longhorn-manager: InstanceManager
name: instancemanagers.longhorn.rancher.io
spec:
group: longhorn.rancher.io
names:
kind: InstanceManager
listKind: InstanceManagerList
plural: instancemanagers
shortNames:
- lhim
singular: instancemanager
scope: Namespaced
version: v1alpha1
apiVersion: apps/v1beta2 apiVersion: apps/v1
kind: DaemonSet kind: DaemonSet
metadata: metadata:
labels: labels:
...@@ -43,6 +43,8 @@ spec: ...@@ -43,6 +43,8 @@ spec:
- name: longhorn - name: longhorn
mountPath: /var/lib/rancher/longhorn/ mountPath: /var/lib/rancher/longhorn/
mountPropagation: Bidirectional mountPropagation: Bidirectional
- name: longhorn-default-setting
mountPath: /var/lib/longhorn/setting/
env: env:
- name: POD_NAMESPACE - name: POD_NAMESPACE
valueFrom: valueFrom:
...@@ -58,6 +60,8 @@ spec: ...@@ -58,6 +60,8 @@ spec:
fieldPath: spec.nodeName fieldPath: spec.nodeName
- name: LONGHORN_BACKEND_SVC - name: LONGHORN_BACKEND_SVC
value: longhorn-backend value: longhorn-backend
- name: DEFAULT_SETTING_PATH
value: /var/lib/longhorn/setting/default-setting.yaml
volumes: volumes:
- name: dev - name: dev
hostPath: hostPath:
...@@ -71,6 +75,9 @@ spec: ...@@ -71,6 +75,9 @@ spec:
- name: longhorn - name: longhorn
hostPath: hostPath:
path: /var/lib/rancher/longhorn/ path: /var/lib/rancher/longhorn/
- name: longhorn-default-setting
configMap:
name: longhorn-default-setting
serviceAccountName: longhorn-service-account serviceAccountName: longhorn-service-account
--- ---
apiVersion: v1 apiVersion: v1
......
apiVersion: v1
kind: ConfigMap
metadata:
name: longhorn-default-setting
namespace: {{ .Release.Namespace }}
data:
default-setting.yaml: |-
backup-target: {{ .Values.defaultSettings.backupTarget }}
backup-target-credential-secret: {{ .Values.defaultSettings.backupTargetCredentialSecret }}
create-default-disk-labeled-nodes: {{ .Values.defaultSettings.createDefaultDiskLabeledNodes }}
default-data-path: {{ .Values.defaultSettings.defaultDataPath }}
replica-soft-anti-affinity: {{ .Values.defaultSettings.replicaSoftAntiAffinity }}
storage-over-provisioning-percentage: {{ .Values.defaultSettings.storageOverProvisioningPercentage }}
storage-minimal-available-percentage: {{ .Values.defaultSettings.storageMinimalAvailablePercentage }}
upgrade-checker: {{ .Values.defaultSettings.upgradeChecker }}
default-replica-count: {{ .Values.defaultSettings.defaultReplicaCount }}
guaranteed-engine-cpu: {{ .Values.defaultSettings.guaranteedEngineCPU }}
default-longhorn-static-storage-class: {{ .Values.defaultSettings.defaultLonghornStaticStorageClass }}
backupstore-poll-interval: {{ .Values.defaultSettings.backupstorePollInterval }}
taint-toleration: {{ .Values.defaultSettings.taintToleration }}
apiVersion: apps/v1beta2 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: longhorn-driver-deployer name: longhorn-driver-deployer
......
apiVersion: apps/v1beta2 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
labels: labels:
......
...@@ -3,12 +3,12 @@ ...@@ -3,12 +3,12 @@
# Declare variables to be passed into your templates. # Declare variables to be passed into your templates.
image: image:
longhorn: longhorn:
engine: rancher/longhorn-engine engine: longhornio/longhorn-engine
engineTag: v0.5.0 engineTag: v0.6.0
manager: rancher/longhorn-manager manager: longhornio/longhorn-manager
managerTag: v0.5.0 managerTag: v0.6.0
ui: rancher/longhorn-ui ui: longhornio/longhorn-ui
uiTag: v0.5.0 uiTag: v0.6.0
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
service: service:
...@@ -37,6 +37,21 @@ csi: ...@@ -37,6 +37,21 @@ csi:
attacherReplicaCount: attacherReplicaCount:
provisionerReplicaCount: provisionerReplicaCount:
defaultSettings:
backupTarget:
backupTargetCredentialSecret:
createDefaultDiskLabeledNodes:
defaultDataPath:
replicaSoftAntiAffinity:
storageOverProvisioningPercentage:
storageMinimalAvailablePercentage:
upgradeChecker:
defaultReplicaCount:
guaranteedEngineCPU:
defaultLonghornStaticStorageClass:
backupstorePollInterval:
taintToleration:
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
# choice for the user. This also increases chances charts run on environments with little # choice for the user. This also increases chances charts run on environments with little
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment