Skip to content

Commit

Permalink
Longhorn v1.1.0
Browse files Browse the repository at this point in the history
Longhorn #2061

Signed-off-by: Shuo Wu <shuo@rancher.com>
  • Loading branch information
Shuo Wu authored and yasker committed Dec 18, 2020
1 parent 0a88eaa commit 299f4ab
Show file tree
Hide file tree
Showing 20 changed files with 735 additions and 262 deletions.
7 changes: 4 additions & 3 deletions charts/longhorn/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
apiVersion: v1
name: longhorn
version: 1.0.2
appVersion: v1.0.2
kubeVersion: ">=v1.14.0-r0"
version: 1.1.0
appVersion: v1.1.0
kubeVersion: ">=v1.16.0-r0"
description: Longhorn is a distributed block storage system for Kubernetes.
keywords:
- longhorn
Expand All @@ -16,6 +16,7 @@ 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
Expand Down
58 changes: 35 additions & 23 deletions charts/longhorn/README.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,60 @@
# 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.
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/longhorn/longhorn-engine
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 Manager -- Longhorn orchestration, includes CSI driver for Kubernetes https://github.com/longhorn/longhorn-manager
4. Longhorn UI -- Dashboard https://github.com/longhorn/longhorn-ui

## Prerequisites

1. Rancher v2.1+
2. Docker v1.13+
3. Kubernetes v1.14+
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).
1. Docker v1.13+
2. Kubernetes v1.16+
3. 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.

2. From Rancher UI, navigate to `Catalog Apps` tab and delete Longhorn app.
## Installation
1. Add Longhorn chart repository.
```
helm repo add longhorn https://charts.longhorn.io
```

## Troubleshooting
2. Update local Longhorn chart information from chart repository.
```
helm repo update
```

### I deleted the Longhorn App from Rancher UI instead of following the uninstallation procedure
3. Install Longhorn chart.
- With Helm 2, the following command will create the `longhorn-system` namespace and install the Longhorn chart together.
```
helm install longhorn/longhorn --name longhorn --namespace longhorn-system
```
- With Helm 3, the following commands will create the `longhorn-system` namespace first, then install the Longhorn chart.

Redeploy the (same version) Longhorn App. Follow the uninstallation procedure above.
```
kubectl create namespace longhorn-system
helm install longhorn longhorn/longhorn --namespace longhorn-system
```

### Problems with CRDs
## Uninstallation

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!
With Helm 2 to uninstall Longhorn.
```
helm delete longhorn --purge
```

With Helm 3 to uninstall Longhorn.
```
# 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
helm uninstall longhorn -n longhorn-system
kubectl delete namespace longhorn-system
```

---
Expand Down
Loading

0 comments on commit 299f4ab

Please sign in to comment.