-
Notifications
You must be signed in to change notification settings - Fork 590
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #561 from rancher/v0.5.0
Longhorn v0.5.0 release
- Loading branch information
Showing
27 changed files
with
1,085 additions
and
27 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Patterns to ignore when building packages. | ||
# This supports shell glob matching, relative path matching, and | ||
# negation (prefixed with !). Only one pattern per line. | ||
.DS_Store | ||
# Common VCS dirs | ||
.git/ | ||
.gitignore | ||
.bzr/ | ||
.bzrignore | ||
.hg/ | ||
.hgignore | ||
.svn/ | ||
# Common backup files | ||
*.swp | ||
*.bak | ||
*.tmp | ||
*~ | ||
# Various IDEs | ||
.project | ||
.idea/ | ||
*.tmproj |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
apiVersion: v1 | ||
name: longhorn | ||
version: 0.5.0 | ||
appVersion: v0.5.0 | ||
kubeVersion: ">=v1.8.0-r0" | ||
description: Longhorn is a distributed block storage system for Kubernetes powered by Rancher Labs. | ||
keywords: | ||
- longhorn | ||
- storage | ||
- distributed | ||
- block | ||
- device | ||
- iscsi | ||
home: https://github.com/rancher/longhorn | ||
sources: | ||
- https://github.com/rancher/longhorn | ||
- https://github.com/rancher/longhorn-engine | ||
- https://github.com/rancher/longhorn-manager | ||
- https://github.com/rancher/longhorn-ui | ||
- https://github.com/rancher/longhorn-tests | ||
maintainers: | ||
- name: rancher | ||
email: charts@rancher.com | ||
icon: https://s3.us-east-2.amazonaws.com/longhorn-assets/longhorn-logo.svg |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
# Rancher Longhorn Chart | ||
|
||
The following document pertains to running Longhorn from the Rancher 2.0 chart. | ||
|
||
## Source Code | ||
|
||
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/rancher/longhorn-engine | ||
2. Longhorn Manager -- Longhorn orchestration, includes Flexvolume driver for Kubernetes https://github.com/rancher/longhorn-manager | ||
3. Longhorn UI -- Dashboard https://github.com/rancher/longhorn-ui | ||
|
||
## Prerequisites | ||
|
||
1. Rancher v2.1+ | ||
2. Docker v1.13+ | ||
3. Kubernetes v1.8+ cluster with 1 or more nodes and Mount Propagation feature enabled. If your Kubernetes cluster was provisioned by Rancher v2.0.7+ or later, MountPropagation feature is enabled by default. [Check your Kubernetes environment now](https://github.com/rancher/longhorn#environment-check-script). If MountPropagation is disabled, the Kubernetes Flexvolume driver will be deployed instead of the default CSI driver. Base Image feature will also be disabled if MountPropagation is disabled. | ||
4. Make sure `curl`, `findmnt`, `grep`, `awk` and `blkid` has been installed in all nodes of the Kubernetes cluster. | ||
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 | ||
|
||
1. 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. | ||
|
||
## 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 finalizers, instances and definitions | ||
for crd in $(kubectl get crd -o jsonpath={.items[*].metadata.name} | tr ' ' '\n' | grep longhorn.rancher.io); do | ||
kubectl -n ${NAMESPACE} get $crd -o yaml | sed "s/\- longhorn.rancher.io//g" | kubectl apply -f - | ||
kubectl -n ${NAMESPACE} delete $crd --all | ||
kubectl delete crd/$crd | ||
done | ||
``` | ||
|
||
### Volume can be attached/detached from UI, but Kubernetes Pod/StatefulSet etc cannot use it | ||
|
||
Check if volume plugin directory has been set correctly. This is automatically detected unless user explicitly set it. | ||
|
||
By default, Kubernetes uses `/usr/libexec/kubernetes/kubelet-plugins/volume/exec/`, as stated in the [official document](https://github.com/kubernetes/community/blob/master/contributors/devel/flexvolume.md#prerequisites). | ||
|
||
Some vendors choose to change the directory for various reasons. For example, GKE uses `/home/kubernetes/flexvolume` instead. | ||
|
||
User can find the correct directory by running `ps aux|grep kubelet` on the host and check the `--volume-plugin-dir` parameter. If there is none, the default `/usr/libexec/kubernetes/kubelet-plugins/volume/exec/` will be used. | ||
|
||
--- | ||
Please see [link](https://github.com/rancher/longhorn) for more information. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# Longhorn | ||
|
||
Longhorn is a lightweight, reliable and easy to use distributed block storage system for Kubernetes. Once deployed, users can leverage persistent volumes provided by Longhorn. | ||
|
||
Longhorn creates a dedicated storage controller for each volume and synchronously replicates the volume across multiple replicas stored on multiple nodes. The storage controller and replicas are themselves orchestrated using Kubernetes. Longhorn supports snapshots, backups and even allows you to schedule recurring snapshots and backups! | ||
|
||
[Chart Documentation](https://github.com/rancher/longhorn/blob/master/docs/chart.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
categories: | ||
- storage | ||
labels: | ||
io.rancher.certified: experimental | ||
namespace: longhorn-system | ||
questions: | ||
- variable: driver | ||
default: csi | ||
description: "Deploy either the CSI or FlexVolume driver. CSI is newer but requires MountPropagation, a feature enabled by default in Kubernetes v1.10 and later" | ||
type: enum | ||
options: | ||
- csi | ||
- flexvolume | ||
label: Longhorn Kubernetes Driver | ||
group: "Longhorn Settings" | ||
show_subquestion_if: flexvolume | ||
subquestions: | ||
- variable: persistence.flexvolumePath | ||
default: "" | ||
description: "Leave blank to autodetect. For RKE, use `/var/lib/kubelet/volumeplugins`. For GKE, use `/home/kubernetes/flexvolume/` instead. Users can find the correct directory by running `ps aux|grep kubelet` on the host and check the --volume-plugin-dir parameter. If there is none, the default `/usr/libexec/kubernetes/kubelet-plugins/volume/exec/` will be used." | ||
type: string | ||
label: Longhorn Flexvolume Path | ||
show_subquestion_if: csi | ||
subquestions: | ||
- variable: csi.attacherImage | ||
default: | ||
description: "Specify CSI attacher image. Leave blank to autodetect." | ||
type: string | ||
label: Longhorn CSI Attacher Image | ||
- variable: csi.provisionerImage | ||
default: | ||
description: "Specify CSI provisioner image. Leave blank to autodetect." | ||
type: string | ||
label: Longhorn CSI Provisioner Image | ||
- variable: csi.driverRegistrarImage | ||
default: | ||
description: "Specify CSI Driver Registrar image. Leave blank to autodetect." | ||
type: string | ||
label: Longhorn CSI Driver Registrar Image | ||
- variable: csi.kubeletRootDir | ||
default: | ||
description: "Specify kubelet root-dir. Leave blank to autodetect." | ||
type: string | ||
label: Kubelet Root Directory | ||
- variable: csi.attacherReplicaCount | ||
type: int | ||
default: | ||
min: 1 | ||
max: 10 | ||
description: "Specify number of CSI Attacher replica. By default 3." | ||
label: Longhorn CSI Attacher replica count | ||
- variable: csi.provisionerReplicaCount | ||
type: int | ||
default: | ||
min: 1 | ||
max: 10 | ||
description: "Specify number of CSI Provisioner replica. By default 3." | ||
label: Longhorn CSI Provisioner replica count | ||
- variable: persistence.defaultClass | ||
default: "true" | ||
description: "Set as default StorageClass" | ||
group: "Longhorn Settings" | ||
type: boolean | ||
required: true | ||
label: Default Storage Class | ||
- variable: persistence.defaultClassReplicaCount | ||
description: "Set replica count for default StorageClass" | ||
group: "Longhorn Settings" | ||
type: int | ||
default: 3 | ||
min: 1 | ||
max: 10 | ||
label: Default Storage Class Replica Count | ||
- variable: ingress.enabled | ||
default: "false" | ||
description: "Expose app using Layer 7 Load Balancer - ingress" | ||
type: boolean | ||
group: "Services and Load Balancing" | ||
label: Expose app using Layer 7 Load Balancer | ||
show_subquestion_if: true | ||
subquestions: | ||
- variable: ingress.host | ||
default: "xip.io" | ||
description: "layer 7 Load Balancer hostname" | ||
type: hostname | ||
required: true | ||
label: Layer 7 Load Balancer Hostname | ||
- variable: service.ui.type | ||
default: "Rancher-Proxy" | ||
description: "Define Longhorn UI service type" | ||
type: enum | ||
options: | ||
- "ClusterIP" | ||
- "NodePort" | ||
- "LoadBalancer" | ||
- "Rancher-Proxy" | ||
label: Longhorn UI Service | ||
show_if: "ingress.enabled=false" | ||
group: "Services and Load Balancing" | ||
show_subquestion_if: "NodePort" | ||
subquestions: | ||
- variable: service.ui.nodePort | ||
default: "" | ||
description: "NodePort port number(to set explicitly, choose port between 30000-32767)" | ||
type: int | ||
min: 30000 | ||
max: 32767 | ||
show_if: "service.ui.type=NodePort||service.ui.type=LoadBalancer" | ||
label: UI Service NodePort number |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
1. Get the application URL by running these commands: | ||
kubectl get po -n $release_namespace |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
{{/* vim: set filetype=mustache: */}} | ||
{{/* | ||
Expand the name of the chart. | ||
*/}} | ||
{{- define "longhorn.name" -}} | ||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Create a default fully qualified app name. | ||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). | ||
*/}} | ||
{{- define "longhorn.fullname" -}} | ||
{{- $name := default .Chart.Name .Values.nameOverride -}} | ||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} | ||
{{- end -}} | ||
|
||
|
||
{{- define "longhorn.managerIP" -}} | ||
{{- $fullname := (include "longhorn.fullname" .) -}} | ||
{{- printf "http://%s-backend:9500" $fullname | trunc 63 | trimSuffix "-" -}} | ||
{{- end -}} |
Oops, something went wrong.