Install with ArgoCD
Prerequisites
- Your workstation: Install the Argo CD CLI.
Kubernetes cluster:
Ensure that each node fulfills the installation requirements.
Install Argo CD.
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/core-install.yaml
Allow some time for the deployment of Argo CD components in the
argocd
namespace.
Use this script to check the Longhorn environment for potential issues.
Installing Longhorn
Log in to Argo CD.
argocd login --core
Set the current namespace to
argocd
.kubectl config set-context --current --namespace=argocd
Create the Longhorn Application custom resource.
cat > longhorn-application.yaml <<EOF
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: longhorn
namespace: argocd
spec:
syncPolicy:
syncOptions:
- CreateNamespace=true
project: default
sources:
- chart: longhorn
repoURL: https://charts.longhorn.io/
targetRevision: v1.7.2 # Replace with the Longhorn version you'd like to install or upgrade to
helm:
values: |
preUpgradeChecker:
jobEnabled: false
destination:
server: https://kubernetes.default.svc
namespace: longhorn-system
EOF
kubectl apply -f longhorn-application.yaml
Deploy Longhorn with the configured settings.
argocd app sync longhorn
Verify that Longhorn was installed successfully.
kubectl -n longhorn-system get pod
Example of a successful Longhorn installation:
NAME READY STATUS RESTARTS AGE
longhorn-ui-b7c844b49-w25g5 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-b34d5db1fe1e2d52bcfb308be3166cfc 1/1 Running 0 114s
engine-image-ei-df38d2e5-cv6nc 1/1 Running 0 114s
Create an NGINX Ingress controller with basic authentication to access the Longhorn UI. Authentication to the Longhorn UI is not enabled by default.