Skip to content

install_private_nonova_linux

Michaël Le Marec edited this page Jan 23, 2024 · 31 revisions

Installing TbUtil PODs

  • On multi-node Kubernetes cluster deployments
  • Using the Linux shell
  • Using a private container repository

Info Value
Date 23 janv. 2024
Author Chris Lowth - [email protected]
TBUtil Version 3.4

Note: In the following instructions, the string "{FLAVOUR}" should be replaced by the relevant flavour name (from the "Name" column of the "Container Flavours" table below).

TBUtil is a command-line utility for accessing various features of Turbonomic/CWOM. It also includes a customised JavaScript 5 programming environment to allow users to develop custom scripts and reports.

TBUtil is available as a download for installation into Linux, Windows or MAC (Darwin) 64 bit platforms or as a set of pre-defined docker containers for installation into the "turbonomic" Kubernetes namespace.

This document describes how to install the pre-defined container pods into multi-node Kubernetes cluster deployments of Turbonomic using the Linux shell and a private container repository .

For information on installing TbUtil into other styles of Turbonomic Kubernetes deployments, refer to this page.

If you want to install directly into the OVA or onto your laptop or desktop, then refer to this page instead.

Container Flavours

A number of flavours of TBUtil container are available. They are all based on the "Alpine" container but include variations of TBUtil features as required, and so vary in size.

The following flavours are currently available:

Name Description
base A basic TBUtil installation with no plugins or other extended features. This forms the basis of all other flavours.
actionscripts This adds some skeleton action scripts (and an openssh server) to the base flavour. You can use this as the starting point for building your own real actions script integrations.
adoption A TBUtil container with the features needed to generate an Adoption Review document, and others (for use by the Turbonomic field team).
chromedp An experimental TBUtil container with features that allow a headless Chrome browser to be controlled. This can be used to extract PNG images of Turbonomic UI widgets - etc. This is quite a big pod because it includes the "chromium" browser package.
flexera A TButil container with features for extracting VM, Host and Cluster details into CSV files that can be imported into Flexera.
reportmailer A TbUtil container with features to extract and mail PDFs of Grafana reports or CSVs extracted from report tables.
hotwarm A TBUtil container with features for hot/warm standby backup of the Turbonomic system.
full All the above the features (except "adoption"), merged into a single container. Note: if you want to use the "chromedp" plugin, then you will need to add the "chromium" package to the pod. It is omitted from the standard pod in order to reduce its size.

Prerequisites.

In order to install a TbUtil pod you will need:

  • the zip file for the flavour (containing both the yamlmaker and the container image) - see the table below.

In order to run the software in the pod, once installed, you will need:

  • Knowledge of the administrator credentials for the Turbonomic instance.
  • For the "adoption" POD: the PIN code for the day.

Download the software

  1. Download the tbutil-{FLAVOUR}-k8s-3.4.zip file by clicking on the relevant entry in the "Zip File" column in the table below. This should download it onto your laptop/desktop system.

    Flavour Zip File Check Sum
    base click here c9a4be62e30afd5d5fea2ecf9692bb45
    actionscripts click here 7dabf9fb9a6a06820dd87bfc78333955
    adoption click here 917fd37033446d883f1500bdca41b8a4
    chromedp click here 28aad2ccbfe702084568129d08446cbd
    flexera click here ??????????
    hotwarm click here 568a1f6cadea9b6aa19eae08c692d6e5
    reportmailer click here 65f580f35203208937d4bc124bd1b378
    full click here 5a2094d2545dfb61de32f6adc1f5cfd8
  2. Unzip the downloaded file. This will create a container image file, a README and the linux version of the yamlmaker binary in the current directory.

  3. Load the container image tbutil-{FLAVOUR}-3.4.tgz (unzipped from the zip file) into your private container repository.

  4. Copy the yamlmaker file extracted from the zip to the Linux system from which you can run "kubectl" (or equivalent) to access the Turbonomic namespace.

Installing the K8S components.

  1. Log in to your Kubernetes cluster using an account that can administer the "turbonomic" namespace, create resources and run "exec" commands against the pods.

  2. Run the yamlmaker tool.

    • If you use a tool other than "kubectl" to access your cluster (such as OpenShift's "oc") or "kubectl" is not in the path, then run yamlmaker with the -k option like this..

      • ./yamlmaker -k KUBECTL-REPLACEMENT-TOOL-PATH-HERE
    • Otherwise run yamlmaker with no options like this..

      • ./yamlmaker
    • The following questions will be asked..

      Question Notes
      Pod Flavour Press the space bar and select the flavour of pod you wish to install (if not the one already selected).
      TBUtil Pod Version enter "3.4" or other TbUtil version if needed (you normally dont need to change this).
      Name space Press the space bar to select the name space. Selecting "turbonomic" will arrange for the POD to be installed in Turbonomic's home name space. If the namespace "tbutil" exists, you can select that as an alternative.
      Contaimer image repository Press the space bar to select the repository to use.
      Select "Private Repository".
      Timezone Press the space bar to select the desired timezone. Note that GMT and UTC timezones are in the "Etc" category (eg: Etc/UTC).
    • You can use the following keys when using yamlmaker..

      Key Description
      Tab or Down arrow Move to next field
      Up arrow Move to previous field
      Space Open the selector list (if any) for the current field or select the highlighted selection.
      Enter Open the selector list (if any) for the current field or select the highlighted selection or button.
    • Select the "SAVE" when all questions have been answered.

    • This will create one or more yaml files, a shell script file and potentially display some warning messages (which you should read and take action on).

  3. Review the created yaml files and make any required edits (including those mentioned in the warnings displayed by the tool). The files that are created will be listed against the message "**** Written: " displayed when the tool finishes. There are two possible files to check, depending on your answers to the questions and the status of the K8S cluster..

    • deploy-tbutil-{FLAVOUR}-3.4.yaml
    • pv-tbutil-{FLAVOUR}-3.4.yaml
  4. Run the created shell script file to apply the yaml files to the K8S cluster.

    • sh deploy-tbutil-{FLAVOUR}-3.4.sh -i
  5. Check the status of the pod using the following command (where {NAMESPACE} should be replaced with "turbonomic" or "tbutil", depending on the answer you gave to the namespace question asked by yamlmaker).

    • kubectl get pods -n {NAMESPACE}
  6. Open the bash shell in the pod using the commands:

    • kubectl -n {NAMESPACE} exec -ti deploy/tbutil-{FLAVOUR} -- /bin/bash
    • If that reports that the deploy/.. syntax is not supported in your kubectl version, then try..
      • pod=$(kubectl -n {NAMESPACE} get pods | awk '/tbutil-{FLAVOUR}/ {print $1}')
      • kubectl -n {NAMESPACE} exec -ti "$pod" -- /bin/bash

For example (for the 'hotwarm' flavour deployment)..

[turbo@node1 ~]$ kubectl -n turbonomic exec -ti deploy/tbutil-hotwarm -- /bin/bash

TBUTIL: Unsupported Software, Copyright (C) IBM Turbonomic {2018..2024}
GIT Tag     : 3.4
Commit Hash : da8ccbe5b077f04fe4cc7bb0c835375bdca984d5
Commit Time : 2024-01-23 14:42:24 +0100
Build Time  : : 2024-01-23 15:52:13 +0100

tbutil@tbutil-hotwarm-85df445bfb-nzqv6:~ $ 

Now you are ready to run through the flavour-specific set up steps (click on the relevant link in the left-hand column of the "container flavours" table at the top of this page for more details).

Uninstalling the pod.

This section describes how to uninstall the POD and related resources, if you wish to do so.

Please refer to the pod-specific documentation for any steps required BEFORE uninstalling the pod itself. Once you have performed the suggested steps (if any) then you can either uninstall the pod completely, or just scale the relevant K8S deployment down to zero replicas (which will allow you to scale it back up if desired, later).

Option 1: Scaling the deployment to zero replicas.

Run the command..

kubectl -n {NAMESPACE} scale deploy tbutil-{FLAVOUR} --replicas=0

Where "{NAMESPACE}" should either be "turbonomic" or "tbutil" depending on how you originally installed it.

Option 2: Deleting the K8S resources.

If you installed using the 2.0m (or later) release of the tbutil pod, then run the command ...

sh deploy-tbutil-{FLAVOUR}-3.4.sh -u

This deletes the deployment, pod and other elements but leaves the created PV in placed (if one was created). If you want to delete the PV as well then use a capital "-U" instead of lower case "-u", like this..

sh deploy-tbutil-{FLAVOUR}-3.4.sh -U

Note: some pod flavours do not support the capital-U option because they do not use a persistent volume (PV).

If you installed using an earlier release, then run kubectl delete -f FILENAME.yaml for each of the .yaml files you used (or yamlmaker created) at installation time. In this case, you need to delete the deployment BEFORE deleting the PV (if any).

Clone this wiki locally