Modifying Default T4K Configuration

This page describes how to make changes to default configurations for various components of the Trilio for Kubernetes application.

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.

Modifying Default T4K Configuration

Main Configuration Types

There are different types of configuration for T4K which are helpful in tuning T4K as per requirements/cluster constraints. There are currently three types of configuration available:

  • InstanceName and LogLevel

  • Job Resource Requirements

  • CSI Configuration

InstanceName and LogLevel

T4K configuration is used to:

  • provide the InstanceName for the T4K installation.

  • configure the logLevel across the product, where available log levels are as follows:

    1. Panic

    2. Fatal

    3. Error

    4. Warn

    5. Info (default value)

    6. Debug

    7. Trace

Job Resource Requirements

Job Resource Requirement is used to modify the default resources requirements like CPU and memory for all the pods which are created as part of product installation as well as backup and restore operation. There are different fields for setting resource requirements for different types of pods.

  • metadataJobResources - Specifies the resource requirements for all meta-data related and target mounting jobs like target-validator, meta-snapshot, pre-restore-validation, meta-restore etc

  • dataJobResources : Specifies the resource requirements for Datamover jobs

  • deploymentLimits : Specifies limits for helm chart deployments. Not applicable for OCP

CSI Configuration

CSI configuration is used to configure the CSI provisioners which do not support Volume Snapshot functionality. For full details about this, refer to T4K For Volumes with Generic Storage. To enable this configuration there are 3 lists:

  • default CSI Provisioner list: Known list of CSI provisioners which do not support Volume Snapshot. Maintained by T4K. This list will be updated as and when new non-snapshot CSI provisioners are discovered.

  • include CSI Provisioner list: User given list of CSI provisioners which do not support Volume Snapshot.

  • exclude CSI Provisioner list: User given list of CSI provisioners which need to be ignored from Default list.

Changing the Configuration

Input for the aforementioned T4K configurations is different for Upstream and OCP instances:

  • Upstream - Configuration is given in the TrilioVaultManager (TVM) CR, which is then propagated to a configMap called k8s-triliovault-config

  • Openshift - Configuration is directly set in the configMap k8s-triliovault-config

The following explains how to modify the T4K configurations in both Upstream and OpenShift:

For upstream, all user input resource limits can be specified in the TVM CR and then upstream operator populates the same resource limits in the T4K helm chart configmap.

   apiVersion: triliovault.trilio.io/v1
   kind: TrilioVaultManager
   metadata:
     labels:
       triliovault: k8s
     name: sample-triliovaultmanager
   spec:
     applicationScope: Namespaced
     dataJobResources:
       limits:
         cpu: 1500m
         memory: 5Gi
       requests:
         cpu: 100m
         memory: 800Mi
     metadataJobResources:
       limits:
         cpu: 500m
         memory: 512Mi
       requests:
         cpu: 10m
         memory: 10Mi
     deploymentLimits:
       cpu: 250m
       memory: 512Mi
     logLevel: Info
     csiConfig:
       include:
         - example.provisioner.csi
       exclude:
         - test.provisioner.csi

Job Resource Requirements:

  • Set spec.dataJobResources for data job resource requirements

  • Set spec.metadataJobResources for meta job resource requirements

  • Set spec.deploymentLimits for helm deployed deployments limits

T4K Configuration:

  • Set spec.logLevel for logLevel. Default is Info

  • Set spec.tvkInstanceName for T4K instance name

CSI Configuration:

  • Set spec.csiConfig.include list for including the CSI provisioners in the non-snapshot functionality category

  • Set spec.csiConfig.exclude list for excluding the CSI provisioners from the non-snapshot functionality category

Last updated