Search…
2.9.X
Quick Start
This page describes how to install and use the TVK Quick Start Plugin.

Introduction

TVK Quick Start is designed especially to help first-time users to evaluate, learn, and use TrilioVault for Kubernetes (TVK). The TVK Quick Start process uses tvk-quickstart kubectl plugin to get users up and running quickly. So if you are new to TVK and want to try it out, then TVK Quick Start is a perfect option for you. It is tested with OCP, RKE, GKE, DO, Mirantis, and upstream Kubernetes clusters.

What Does the Plugin Achieve?

  • Preflight check: Performs prerequisite checks for all TVK requirements.
  • TVK Installation: Installs TVK, TVM (UI), and free trial license.
  • TVK Management Console Configuration: Configures control access to the UI. Users can choose either Loadbalancer, Nodeport, or PortForwarding.
  • Target Creation: Creates and validates the target storage for storing backup images. Users can create an S3 (DigitalOCean Spaces / AWS S3) or an NFS-based target.
  • Run Backup and Restore of Sample Applications: Run sample tests for a label, namespace, operator, and helm-based applications. By default, these are performed against:
    • Label-based: MySQL Database application
    • Namespace-based: WordPress application
    • Operator-based: MySQL Database
    • Helm-based: MongoDB based application

QuickStart Pre-requisites:

  1. 1.
    Common pre-requisites for the TVK installation can be found here.
  2. 2.
    Install S3cmd from here.
  3. 3.
    yq must be version 4 or above. Refer to here for further information.
  4. 4.
    oc is required if running against OCP cluster - Install oc from here.
  5. 5.
    Linux or macOS are supported. Windows is not supported at this time.

Installation, Upgrade, and Removal of tvk-quickstart kubectl Plugin

Krew is the plugin manager for kubectl command-line tool. The TVK Quick Start installation with krew is highly recommended, especially for first-time users. However, if there are any issues with your krew installation, then you may still install the TVK Quick Start kubectl plugin without krew.
Using krew
Without krew
To perform the TVK Quick Start installation executed with krew:\
  1. 1.
    Add the TVK custom plugin index of krew, by using this command: kubectl krew index add tvk-interop-plugin https://github.com/trilioData/tvk-interop-plugins.git
  2. 2.
    Perform the installation using this command: kubectl krew install tvk-interop-plugin/tvk-quickstart
If the krew plugin manager is not an option, you may still install the tvk-quickstart kubectl plugin without krew by performing the following steps:
  1. 1.
    List of available releases: https://github.com/trilioData/tvk-interop-plugins/releases.
  2. 2.
    Choose a version of the tvk-quickstart plugin to install and check if release assets have a tvk-quickstart plugins package[tvk-quickstart.tar.gz].
  3. 3.
    Set env variable version=[TVK_QS_VERSION]. If the version is not exported, then the latest tagged version will be considered.
  4. 4.
    Run this Bash or ZSH shells command to download and install tvk-quickstart:
    1
    (
    2
    set -ex; cd "$(mktemp -d)" &&
    3
    if [[ -z ${TVK_QS_VERSION} ]]; then TVK_QS_VERSION=$(curl -s https://api.github.com/repos/trilioData/tvk-interop-plugins/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")'); fi &&
    4
    echo "Installing version=${TVK_QS_VERSION}" &&
    5
    curl -fsSLO "https://github.com/trilioData/tvk-interop-plugins/releases/download/"${TVK_QS_VERSION}"/tvk-quickstart.tar.gz" &&
    6
    tar zxvf tvk-quickstart.tar.gz && sudo mv tvk-quickstart/tvk-quickstart /usr/local/bin/kubectl-tvk_quickstart
    7
    )
    Copied!
  5. 5.
    Verify installation using the command: kubectl tvk-quickstart --help

Modes of Operation

There are two modes to use the TVK Quick Start plugin:
  1. 1.
    Interactive
  2. 2.
    Non-interactive

Interactive

  1. 1.
    For interactive installation of TVK operator and manager, configure the TVK UI, create a target and run a sample backup restore, using the command: kubectl tvk-quickstart [options]
  2. 2.
    During interactive execution, the user is prompted for input for various options that enable the plugin to perform installation and deployment operations. Use the information provided in the following table to guide you in these options:
Parameter
Description
-i, --install_tvk
Installs TVK and its free trial license. TVK will be installed as upstream operator. A cluster scope TVM custom resource triliovault-manager is also created.
-c, --configure_ui
Configures the TVK UI. This option will only work if the cluster has TVM application installed.
-t, --target
Creates target for backup and restore jobs.
-s, --sample_test
Creates sample backup and restore jobs.
-p, --preflight
Checks if all the TVK pre-requisites are satisfied
A user may specify more than one option with each tvk-quickstart execution. For example, to install, configure, create a target and run samples quickly, execute the following single command:_ kubectl tvk-quickstart -i -c -t -s

Non-interactive

In non-interactive mode, tvk-quickstart performs all operations; preflight checks, installation, UI configuration, and runs sample backup and restore tests. However, all the user input is provided in a configuration file. Use the following steps to invoke tvk-quickstart in the non-interactive mode:
  1. 1.
    Create an input_config file, using the sample input_config file as a template. The non-interactive mode leverages values in the input_config file.
  2. 2.
    Edit any variables in the configuration file. Each variable description and the possible values of the variable is described in the following table.
  3. 3.
    Run the following command to execute the plugin in a non-interactive method: kubectl tvk-quickstart -n
  4. 4.
    The user is now prompted to provide the path of the input_config file.

Parameters For input_config

input-config Parameter
Description
PREFLIGHT
This parameter checks whether or not preflight should be executed. It accepts one of the following values: [True, False]. More info around this can be found here
proceed_even_PREFLIGHT_fail
This option is dependent of PREFLIGHT execution. If the user wishes to proceed despite checks failing in preflight execution, this variable must be set to y/Y. This variable accepts one of the following values [Y,y,n,N].
TVK_INSTALL
Set this option to True to install TVK and TVM. Otherwise, set this value to False.
CONFIGURE_UI
This parameter is to check whether or not TVK UI should be configured. It accepts one of the value from [True, False]
TARGET
This parameter is to check whether or not TVK Target should be created. It accepts one of the value from [True, False]. Note: Target type "Readymade_Minio" requires 4GB per node, else the target creation will fail.
SAMPLE_TEST
This parameter is to check whether or not sample test should be executed. It accepts one of the value from [True, False]
storage_class
This parameter expects storage_class name which should be used across plugin execution. If kept empty, the storage_class annoted with 'default' label would be considered. If there is no such class, the plugin would likely fail.
operator_version
This parameter requires the user to specify the TVK operator version to install as a part of tvk installation process. The compatibility/version can be found here. If this parameter is empty, by default TrilioVault operator version 2.1.0 will get installed.
triliovault_manager_version
This parameter requires the user to specify the TVK manager version to install as a part of tvk installation process. The compatibility/version can be found here. If this parameter is empty, by default TrilioVault operator version 2.1.0 will get installed.
tvk_ns
This parameter requires the user to specify the namespace in which tvk is to be installed.
if_resource_exists_still_proceed
This parameter is to check whether the plugin should proceed for other operations, even if resources exists. It accepts one of the value from [Y,y,n,N]
ui_access_type
Specify the way in which TVK UI should be configured. It accepts one of the value from ['Loadbalancer','Nodeport','PortForwarding']
domain
The value of this parameter is required when 'ui_access_type == Loadbalancer'. Specify the domain name which has been registered with a registrar and in which you wish to create a record. More information about this parameter can be found here.
tvkhost_name
The value of this parameter is required when 'ui_access_type == Loadbalancer OR ui_access_type == Nodeport'. The value of this parameter is the hostname via which the TVK management console will be accessible using a web browser.
cluster_name
The value of this parameter is required when 'ui_access_type == Loadbalancer OR ui_access_type == Nodeport'. If kept blank, the active cluster name will be used.
vendor_type
The value of this parameter is required to create a target. Specify the vendor name under which the target must be created. Currently supported value is for ['Digital_Ocean','Amazon_AWS'].
doctl_token
Digital Ocean API token, which the user can generate in the control panel here for user authentication.
target_type
Target is a location where TrilioVault stores backup. Specify the type of target to create. It accepts one of the values from ['NFS','S3']. More information can be found here.
access_key
This parameter is required when 'target_type == S3'. This is used for bucket S3 access/creation. The value should be consistent with the vendor_type that you select.
secret_key
This parameter is required when 'target_type == S3'. This is used for bucket S3 access/creation. The value should be consistent with the vendor_type that you select.