Preflight check
Instructions for running preflight check for Trilio for Kubernetes.
Deprecated Documentation
This document is deprecated and no longer supported. For accurate, up-to-date information, please refer to the documentation for the latest version of Trilio.
# Preflight check
Kubernetes Trilio Preflight Checks
preflight.sh is a standalone helper script which checks if all the pre-requisites are met before installing Trilio for Kubernetes application in a Kubernetes cluster.
Checks Performed during Preflight
Some checks are performed on system from where the application is installed and some are performed on the K8s cluster. The following checks included in preflight:
Ensure kubectl utility is present on system
Ensure kubectl is pointed to k8s cluster (i.e can access the remote target cluster)
Ensure helm utility is present on system and pointed to the cluster
If helmVersion=~v2, then ensure tiller is present on cluster
If helmVersion=~v3, then tiller is not needed on cluster
Ensure minimum Kubernetes version >= 1.13.x
Ensure RBAC is enabled in cluster
Ensure provided storageClass is present in cluster
Ensure all required features are present
Alpha features for k8s version less than 1.14.x and greater than 1.13.x --> "CSIBlockVolume" "CSIDriverRegistry" "CSINodeInfo" "VolumeSnapshotDataSource"
Alpha features for k8s version less than 1.17.x and greater than 1.14.x --> "VolumeSnapshotDataSource"
No Alpha features required for k8s version >= 1.17.x
Ensure CSI apis are present in cluster
"csidrivers.csi.storage.k8s.io" (Only for k8s 1.13.x)
"csinodeinfos.csi.storage.k8s.io" (Only for k8s 1.13.x)
"volumesnapshotclasses.snapshot.storage.k8s.io"
"volumesnapshotcontents.snapshot.storage.k8s.io"
"volumesnapshots.snapshot.storage.k8s.io"
Ensure DNS resolution works as expected in the cluster
Creates a new pod (dnsutils) then resolve kubernetes.default service from inside the pod
Ensure Volume Snapshot functionality works as expected
Create a source Pod and PVC (source-pod and source-pvc)
Create a Volume snapshot (snapshot-source-pvc) from the source-pvc
Create a restore Pod and PVC (restored-pod and restored-pvc)
Ensure data in restored pod/pvc
Cleanup of all the intermediate resources created
Running Preflight checks
Getting preflight.sh
wget https://raw.githubusercontent.com/triliovault-k8s-issues/triliovault-k8s-issues/master/tools/preflight/preflight.sh
chmod +x ./preflight.sh
Available parameters for script
./preflight.sh --help
--storageclass
- Name of storage class in k8s cluster (Mandatory)--kubeconfig
- Kubeconfig path, if not given default is used by kubectl (Optional)
Running preflight checks
./preflight.sh --storageclass my-hostpath-sc --kubeconfig /home/usr/kubeconfig
Last updated