Install Longhorn with the kubectl client.
Each node in the Kubernetes cluster where Longhorn will be installed must fulfill these requirements.
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.
Installing Longhorn
-
One way to monitor the progress of the installation is to watch pods being created in the namespace:
Check that the deployment was successful:
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
The following items will be deployed to Kubernetes:
Namespace: longhorn-system
All Longhorn bits will be scoped to this namespace.
ServiceAccount: longhorn-service-account
Service account is created in the longhorn-system namespace.
ClusterRole: longhorn-role
This role will have access to:
- In apiextension.k8s.io (All verbs)
- customresourcedefinitions
- In core (All verbs)
- pods
- /logs
- events
- persistentVolumes
- persistentVolumeClaims
- /status
- proxy/nodes
- secrets
- services
- endpoints
- configMaps
- pods
- In core
- namespaces (get, list)
- In apps (All Verbs)
- daemonsets
- statefulSets
- deployments
- In batch (All Verbs)
- jobs
- cronjobs
- In storage.k8s.io (All verbs)
- storageclasses
- volumeattachments
- csinodes
- csidrivers
- In coordination.k8s.io
- leases
ClusterRoleBinding: longhorn-bind
CustomResourceDefinitions
The following CustomResourceDefinitions will be installed
Kubernetes API Objects
- A config map with the default settings
- The longhorn-manager DaemonSet
- The longhorn-backend service exposing the longhorn-manager DaemonSet internally to Kubernetes
- The longhorn-ui Deployment
- The longhorn-frontend service exposing the longhorn-ui internally to Kubernetes
- The longhorn-driver-deployer that deploys the CSI driver