T4K QuickStart Plugin
This page describes how to install and use the T4K Quick-Start Plugin. This tool does not work for air-gapped environments.
Introduction
The tvk-quickstart kubectl plugin is used primarily to get users up and to run quickly. It is tested with OCP, RKE, GKE, and DO Kubernetes clusters.
What Does the Plugin Achieve?
Preflight check: Performs prerequisite checks for all T4K requirements.
T4K Installation: Installs T4K, TVM (UI), and free trial license.
T4K 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 label, namespace, operator, and helm-based applications. By default, backups and restores are performed against:
Label-based MySQL Database application
Namespace-based WordPress application
Operator-based MySQL Database
Helm-based MongoDB application
Transformation-based PostgreSQL Database application
Pre-requisites:
All prerequisites for the T4K installation can be found here.
Install S3cmd. from here.
yq must be version 4 or above. Refer to here for further information.
oc is required if running against OCP cluster - Install oc from here.
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-quickstart installation can be executed with or without krew installed, but installion with krew is recommended. However, if there are any issues with your installation of krew, then you may still install the tvk-quickstart kubectl plugin without krew.
Using krew
Without krew
If the krew plugin manager is not an option, you may still install the tvk-quickstart kubectl plugin without krew using the following steps.
List of available releases: https://github.com/trilioData/tvk-interop-plugins/releases.
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].
Set env variable
version=[TVK_QS_VERSION]
. If theversion
is not exported, then thelatest
tagged version will be considered.Run this Bash or ZSH shells command to download and install tvk-quickstart without krew
Verify installation using the command:
kubectl tvk-quickstart --help
Modes of Operation
There are two modes to use the tvk-quickstart plugin:
Interactive
Non-interactive
Interactive
For interactive installation of T4K operator and manager, configure the T4K UI, create a target and run a sample backup restore, using the command:
kubectl tvk-quickstart [options]
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:
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:
Create an
input_config
file, using the sample input_config file as a template. The non-interactive mode leverages values in theinput_config
file.Edit any variables in the configuration file. Each variable description and the possible values of the variable is described in the following table.
Run the following command to execute the plugin in a non-interactive method:
kubectl tvk-quickstart -n
The user is now prompted to provide the path of the
input_config
file.
Parameters For input_config
input_config