Install with Kubectl
Install Longhorn with the kubectl client.
Each node in the Kubernetes cluster where Longhorn will be installed must fulfill these requirements.
This script can be used to check the Longhorn environment for potential issues.
The initial settings for Longhorn can be customized by editing the deployment configuration file.
Install Longhorn on any Kubernetes cluster using this command:
kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.4.1/deploy/longhorn.yaml
One way to monitor the progress of the installation is to watch pods being created in the longhorn-system
namespace:
kubectl get pods \
--namespace longhorn-system \
--watch
Check that the deployment was successful:
$ kubectl -n longhorn-system get pod
NAME READY STATUS RESTARTS AGE
longhorn-ui-b7c844b49-w25g5 1/1 Running 0 2m41s
longhorn-conversion-webhook-5dc58756b6-9d5w7 1/1 Running 0 2m41s
longhorn-conversion-webhook-5dc58756b6-jp5fw 1/1 Running 0 2m41s
longhorn-admission-webhook-8b7f74576-rbvft 1/1 Running 0 2m41s
longhorn-admission-webhook-8b7f74576-pbxsv 1/1 Running 0 2m41s
longhorn-manager-pzgsp 1/1 Running 0 2m41s
longhorn-driver-deployer-6bd59c9f76-lqczw 1/1 Running 0 2m41s
longhorn-csi-plugin-mbwqz 2/2 Running 0 100s
csi-snapshotter-588457fcdf-22bqp 1/1 Running 0 100s
csi-snapshotter-588457fcdf-2wd6g 1/1 Running 0 100s
csi-provisioner-869bdc4b79-mzrwf 1/1 Running 0 101s
csi-provisioner-869bdc4b79-klgfm 1/1 Running 0 101s
csi-resizer-6d8cf5f99f-fd2ck 1/1 Running 0 101s
csi-provisioner-869bdc4b79-j46rx 1/1 Running 0 101s
csi-snapshotter-588457fcdf-bvjdt 1/1 Running 0 100s
csi-resizer-6d8cf5f99f-68cw7 1/1 Running 0 101s
csi-attacher-7bf4b7f996-df8v6 1/1 Running 0 101s
csi-attacher-7bf4b7f996-g9cwc 1/1 Running 0 101s
csi-attacher-7bf4b7f996-8l9sw 1/1 Running 0 101s
csi-resizer-6d8cf5f99f-smdjw 1/1 Running 0 101s
instance-manager-r-371b1b2e 1/1 Running 0 114s
instance-manager-e-7c5ac28d 1/1 Running 0 114s
engine-image-ei-df38d2e5-cv6nc 1/1 Running 0 114s
To enable access to the Longhorn UI, you will need to set up an Ingress controller. Authentication to the Longhorn UI is not enabled by default. For information on creating an NGINX Ingress controller with basic authentication, refer to this section.
Access the Longhorn UI using these steps.
Note: For Kubernetes < v1.25, if your cluster still enables Pod Security Policy admission controller, need to apply the podsecuritypolicy.yaml manifest in addition to applying the
longhorn.yaml
manifests.
The following items will be deployed to Kubernetes:
All Longhorn bits will be scoped to this namespace.
Service account is created in the longhorn-system namespace.
This role will have access to:
This connects the longhorn-role to the longhorn-service-account in the longhorn-system namespace
The following CustomResourceDefinitions will be installed
© 2019-2024 Longhorn Authors | Documentation Distributed under CC-BY-4.0
© 2024 The Linux Foundation. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page.