Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Each node in the Kubernetes cluster where Longhorn LH is installed must fulfill the following requirements:

  1. A container runtime compatible with Kubernetes (Docker v1.13+, containerd v1.3.7+, etc.).
  2. Kubernetes v1.16+ (recommend Kubernetes v1.17+).
  3. open-iscsi is installed, and the iscsid daemon is running on all the nodes. This is necessary, since Longhorn LH relies on iscsiadm on the host to provide persistent volumes to Kubernetes.

    Code Block
    languagebash
    titleInstall iscsi
    # If not present, launch the command
    $ sudo yum install iscsi-initiator-utils -y


  4. RWX support requires that each node has a NFSv4 client installed.

    Code Block
    languagebash
    titleInstall nfs-utils
    # If not present, launch the command
    $ sudo yum install nfs-utils -y


  5. The host filesystem supports the file extents feature to store the data. Currently we support ext4 and XFS.

    Code Block
    languagebash
    titleFilesystem type
    # Check that the database type is "xfs" or "ext4"
    $ df -T
    $ df -Th
    Filesystem     Type      Size  Used Avail Use% Mounted on
    /dev/vda1      xfs        80G  5.0G   76G   7% /


  6. curl, findmnt, grep, awk, blkid, lsblk must be installed.
  7. Mount propagation must be enabled.

    Code Block
    languagebash
    titleMount propagation
    # Insert the following lines into the file "/etc/systemd/system/docker.service.d/mount_propagation_flags.conf"
    [Service]
    MountFlags=shared
    
    # Then restart the service
    $ sudo systemctl daemon-reload
    $ sudo systemctl restart docker.service



Installation

Add the Longhorn LH Helm repository and Fetch the latest charts from the repository

Code Block
languagebash
titleAdd repository
$ helm repo add longhorn https://charts.longhorn.io
$ helm repo update

To install Longhorn LH with Helm 3, use these commands

Code Block
languagebash
titleInstall LH
kubectl create namespace longhorn-system
helm install longhorn longhorn/longhorn --namespace longhorn-system

To confirm that the deployment succeeded, run

Code Block
languagebash
titleVerify installation
$ kubectl -n longhorn-system get pod
NAME                                        READY   STATUS              RESTARTS   AGE
compatible-csi-attacher-d9fb48bcf-2rzmb     1/1     Running             0          8m58s
csi-attacher-78bf9b9898-grn2c               1/1     Running             0          32s
csi-attacher-78bf9b9898-lfzvq               1/1     Running             0          8m59s
csi-attacher-78bf9b9898-r64sv               1/1     Running             0          33s
csi-provisioner-8599d5bf97-c8r79            1/1     Running             0          33s
csi-provisioner-8599d5bf97-fc5pz            1/1     Running             0          33s
csi-provisioner-8599d5bf97-p9psl            1/1     Running             0          8m59s
csi-resizer-586665f745-b7p6h                1/1     Running             0          8m59s
csi-resizer-586665f745-kgdxs                1/1     Running             0          33s
csi-resizer-586665f745-vsvvq                1/1     Running             0          33s
engine-image-ei-e10d6bf5-pv2s6              1/1     Running             0          9m30s
instance-manager-e-379373af                 1/1     Running             0          8m41s
instance-manager-r-101f13ba                 1/1     Running             0          8m40s
longhorn-csi-plugin-7v2dc                   4/4     Running             0          8m59s
longhorn-driver-deployer-775897bdf6-k4sfd   1/1     Running             0          10m
longhorn-manager-79xgj                      1/1     Running             0          9m50s
longhorn-ui-9fbb5445-httqf                  0/1     Running             0          33s