Skip to content

install_online_nonova_windows

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

Installing TbUtil PODs

  • On multi-node Kubernetes cluster deployments
  • Using the Windows command line
  • Using the public docker hub

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 Windows command line and the public docker hub .

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:

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 yamlmaker.exe to the Windows 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 "Public Docker Hub".
      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. Apply the yaml files to the K8S cluster.

    • If a "pv-tbutil-{FLAVOUR}-3.4.yaml" file was created, apply it first:
      • kubectl apply -f pv-tbutil-{FLAVOUR}-3.4.yaml
    • Apply the main deployment and service object definitions:
      • kubectl apply -f deploy-tbutil-{FLAVOUR}-3.4.yaml
  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.

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