Installation Prerequisites
Learn about the prerequisites to install Trilio for Kubernetes and the Preflight Check Plugin
- Confirm Compatibility
Before installing Trilio for OpenShift, please review the compatibility matrix to ensure Trilio can function smoothly in your Kubernetes environment.
- Install a CSI Driver which provides Snapshot functionality
Trilio for Kubernetes requires a compatible Container Storage Interface (CSI) driver that provides the Snapshot feature.
You should check the Kubernetes CSI Developer Documentation to select a driver appropriate for your backend storage solution. See the selected CSI driver's documentation for details on the installation of the driver in your cluster.
Trilio will assume that the default storage driver is a supported CSI driver when the
volumesnapshotclass
and storageclass
are utilized.
- Install the Required Custom Resource Definitions (CRD)
Trilio for Kubernetes requires the following Custom Resource Definitions (CRD) to be installed on your cluster:
VolumeSnapshot
, VolumeSnapshotContent
, and VolumeSnapshotClass.
Before attempting to install the VolumeSnapshot CRDs, it is important to confirm that the CRDs are not already present so you do not install them twice.
To do this, run the following command:
kubectl api-resources | grep volumesnapshot
If CRDs are already present, the output should be similar to the output displayed below. The second column displays the version of the CRD installed (v1 in this case). Ensure that it is the correct version required by the CSI driver being used.
volumesnapshotclasses vsclass,vsclasses snapshot.storage.k8s.io/v1 false VolumeSnapshotClass
volumesnapshotcontents vsc,vscs snapshot.storage.k8s.io/v1 false VolumeSnapshotContent
volumesnapshots vs snapshot.storage.k8s.io/v1 true VolumeSnapshot
Be sure to only install one version of VolumeSnapshot CRDs
- 1.Read the external-snapshotter GitHub project documentation. This is compatible with both v1.19 and v1.20+.
- 2.Run the following commands to install directly, check the repo for the latest version:
RELEASE_VERSION=6.0
oc apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/release-${RELEASE_VERSION}/client/config/crd/snapshot.storage.k8s.io_volumesnapshotclasses.yaml
oc apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/release-${RELEASE_VERSION}/client/config/crd/snapshot.storage.k8s.io_volumesnapshotcontents.yaml
oc apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/release-${RELEASE_VERSION}/client/config/crd/snapshot.storage.k8s.io_volumesnapshots.yaml
- Network Access Requirements
For non-air-gapped environments, the following URLs must be accessed from your Kubernetes cluster.
- Access to the S3 endpoint if the backup target happens to be S3
- Access to application artifacts registry for image backup/restore
In OpenShift Environments:
- Network Port Requirements
If the Kubernetes cluster's control plane and worker nodes are separated by a firewall, then the firewall must allow traffic on the following port(s)
- 9443
Make sure your cluster is ready to Install Trilio for Kubernetes by installing the Preflight Check Plugin and running the Trilio Preflight Check.
Trilio provides a preflight check tool that allows customers to validate their environment for Trilio installation.
The tool generates a report detailing all the requirements and whether they are met or not.
Satisfy any missing requirements before proceeding with Trilio for Kubernetes installation.