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:

  1. All prerequisites for the T4K installation can be found here.

  2. Install S3cmd. from here.

  3. yq must be version 4 or above. Refer to here for further information.

  4. oc is required if running against OCP cluster - Install oc from here.

  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-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.

  1. List of available releases: https://github.com/trilioData/tvk-interop-plugins/releases.

  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. Set env variable version=[TVK_QS_VERSION]. If the version is not exported, then the latest tagged version will be considered.

  4. Run this Bash or ZSH shells command to download and install tvk-quickstart without krew

    (
      set -ex; cd "$(mktemp -d)" &&
      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 &&
    echo "Installing version=${TVK_QS_VERSION}" &&
    curl -fsSLO "https://github.com/trilioData/tvk-interop-plugins/releases/download/"${TVK_QS_VERSION}"/tvk-quickstart.tar.gz" &&
    tar zxvf tvk-quickstart.tar.gz && sudo mv tvk-quickstart/tvk-quickstart /usr/local/bin/kubectl-tvk_quickstart
    )
  5. Verify installation using the command: kubectl tvk-quickstart --help

Modes of Operation

There are two modes to use the tvk-quickstart plugin:

  1. Interactive

  2. Non-interactive

Interactive

  1. 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]

  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:

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. 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. Edit any variables in the configuration file. Each variable description and the possible values of the variable is described in the following table.

  3. Run the following command to execute the plugin in a non-interactive method: kubectl tvk-quickstart -n

  4. The user is now prompted to provide the path of the input_config file.

Parameters For input_config