0f898f8f08 | ||
---|---|---|
.. | ||
templates | ||
.helmignore | ||
Chart.yaml | ||
README.md | ||
app-readme.md | ||
questions.yaml | ||
values.yaml |
README.md
Longhorn Chart
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.
Source Code
Longhorn is 100% open source software. Project source code is spread across a number of repos:
- Longhorn Engine -- Core controller/replica logic https://github.com/longhorn/longhorn-engine
- Longhorn Instance Manager -- Controller/replica instance lifecycle management https://github.com/longhorn/longhorn-instance-manager
- Longhorn Share Manager -- NFS provisioner that exposes Longhorn volumes as ReadWriteMany volumes. https://github.com/longhorn/longhorn-share-manager
- Backing Image Manager -- Backing image file lifecycle management. https://github.com/longhorn/backing-image-manager
- Longhorn Manager -- Longhorn orchestration, includes CSI driver for Kubernetes https://github.com/longhorn/longhorn-manager
- Longhorn UI -- Dashboard https://github.com/longhorn/longhorn-ui
Prerequisites
- A container runtime compatible with Kubernetes (Docker v1.13+, containerd v1.3.7+, etc.)
- Kubernetes >= v1.21
- Make sure
bash
,curl
,findmnt
,grep
,awk
andblkid
has been installed in all nodes of the Kubernetes cluster. - Make sure
open-iscsi
has been installed, and theiscsid
daemon is running on all nodes of the Kubernetes cluster. For GKE, recommended Ubuntu as guest OS image since it containsopen-iscsi
already.
Upgrading to Kubernetes v1.25+
Starting in Kubernetes v1.25, Pod Security Policies have been removed from the Kubernetes API.
As a result, before upgrading to Kubernetes v1.25 (or on a fresh install in a Kubernetes v1.25+ cluster), users are expected to perform an in-place upgrade of this chart with enablePSP
set to false
if it has been previously set to true
.
Note: If you upgrade your cluster to Kubernetes v1.25+ before removing PSPs via a
helm upgrade
(even if you manually clean up resources), it will leave the Helm release in a broken state within the cluster such that further Helm operations will not work (helm uninstall
,helm upgrade
, etc.).If your charts get stuck in this state, you may have to clean up your Helm release secrets. Upon setting
enablePSP
to false, the chart will remove any PSP resources deployed on its behalf from the cluster. This is the default setting for this chart.
As a replacement for PSPs, Pod Security Admission should be used. Please consult the Longhorn docs for more details on how to configure your chart release namespaces to work with the new Pod Security Admission and apply Pod Security Standards.
Uninstallation
To prevent Longhorn from being accidentally uninstalled (which leads to data lost), we introduce a new setting, deleting-confirmation-flag. If this flag is false, the Longhorn uninstallation job will fail. Set this flag to true to allow Longhorn uninstallation. You can set this flag using setting page in Longhorn UI or kubectl -n longhorn-system patch -p '{"value": "true"}' --type=merge lhs deleting-confirmation-flag
To prevent damage to the Kubernetes cluster, we recommend deleting all Kubernetes workloads using Longhorn volumes (PersistentVolume, PersistentVolumeClaim, StorageClass, Deployment, StatefulSet, DaemonSet, etc).
From Rancher Cluster Explorer UI, navigate to Apps page, delete app longhorn
then app longhorn-crd
in Installed Apps tab.
Please see link for more information.