Turbonomic on k8s - lballesterosm/turbo_notes GitHub Wiki

Notes

Requirements

You can see the detailed information in this link: 2. Prerequisites · turbonomic/t8c-install Wiki (github.com) Before you install Turbonomic in your environment, you have to complete the following requisites:

  • At least (for testing purposes) you need the following:
  • Version: Kubernetes 1.11+, Linux x86 architecture.
  • Worker nodes: 3 nodes, 2 vCPU, 16 GB RAM, 10 GB disk each.
  • PV: According to this link: Storage Class Requirements · turbonomic/t8c-install Wiki (github.com) you need at least 749 GB.
  • Turbonomic uses the default StorageClass or you can specify SC in the charts_v1alpha1_xl_cr.yaml file. This StorageClass must be a Block StorageClass, ie: ibmc-block-gold.
  • Kubeadmin credentials on the cluster.
  • If you are installing on AKS, GKE or EKS, it's strongly recommended to configure the StorageClass as the Storage Class link mentions. If you are using IBM Cloud it is recommended to use IKS version 1.24+ and set ibmc-block-gold as default storageclass.
  • Network access from you computer to the Turbonomic IP address (web console) through 80 and 443 TCP ports.
  • Network access from the Turbonomic kubernetes cluster ip address to the targets as needed.
  • Internet access from the K8s cluster to download required files (container images and yaml files).

Note To set the default storageclass you can use this link: https://kubernetes.io/docs/tasks/administer-cluster/change-default-storage-class/

Installation process

To install Turbonomic on K8s you have to execute the following tasks:

  1. Provision a kubernetes cluster.
  2. Create a namespaces on the K8s cluster.
  3. Create a CRD on the cluster.
  4. Create a role, role binding and a service account.
  5. Install Turbonomic operator.
  6. Add the license file.
  7. Enable Turbonomic probes. By default you will not see any target on the console so you need to enable them.
  8. Configure targets.

Installation commands

To facilitate the installation process i resumed all the commands to execute the steps above.

  1. Login to the kubernetes cluster using a command console.

  2. In the command console execute the following commands:

    kubectl create namespace turbonomic

    kubectl create -f https://raw.githubusercontent.com/turbonomic/t8c-install/master/operator/deploy/service_account.yaml -n turbonomic

    kubectl create -f https://raw.githubusercontent.com/turbonomic/t8c-install/master/operator/deploy/role.yaml -n turbonomic

    kubectl create -f https://raw.githubusercontent.com/turbonomic/t8c-install/master/operator/deploy/role_binding.yaml -n turbonomic

    kubectl create -f https://raw.githubusercontent.com/turbonomic/t8c-install/master/operator/config/crd/bases/charts.helm.k8s.io_xls.yaml

    kubectl create -f https://raw.githubusercontent.com/turbonomic/t8c-install/master/operator/deploy/operator.yaml -n turbonomic

To verify the operator installation execute

kubectl get pods -n turbonomic -w

At this point, you can see 1 pod in running state before to continue.

t8c-operator-7488ff7cd-sqjvj                        1/1     Running   0               23m

Download the installation yaml file using

wget https://raw.githubusercontent.com/turbonomic/t8c-install/master/operator/deploy/crds/charts_v1alpha1_xl_cr.yaml

Edit the charts_v1alpha1_xl_cr.yaml file, uncommenting the probe line deleting the "#" symbol at the beginning of each line, and setting "enable: true".

These are example lines:

Disabled

# aws:
#  enabled: true

Enabled

aws:
  enabled: true

Please remember that each enabled probe (pod) needs compute resource to work, so it's recommended just necessary pods.

For each probe enabled, you will see a new "mediation" pod in the turbonomic namespace.

mediation-aws-5cdcc59b8-w8gbk                       1/1     Running   0               2m16s

Apply the yaml file to deploy the Turbonomic instance.

kubectl apply -f charts_v1alpha1_xl_cr.yaml -n turbonomic

If you forgot to enable probes before the Turbonomic deployment, you can do it after the deployment process just enabling the probes on the yaml file and executing the same command.

At the end of the process, type kubectl get pods and hit enter. You have to see all the pods up and running.

Turbonomic Console

In the command line console execute: kubectl -n turbonomic get svc

By default, Turbonomic on Kubernetes, uses the same ip address that nginx External IP.

  1. Open your browser and enter http://Turbonomic ip address and hit enter
  2. In the Welcome page, enter a new password for the administrator account. This password is different from the root and turbo users.

  1. Upload the license file (license.lic) provided by the IBM/Turbonomic team and click on the save button.

There you go!

Next step: Add targets and start optimizing your environments!.

Troubleshooting

Please go to Troubleshooting