Kubernetes or Openshift - lballesterosm/turbo_notes GitHub Wiki

To monitor Kubernetes or Openshift clusters you have to deploy 1 pod per cluster which is called KubeTurbo. The official documentation is in this site: KubeTurbo. KubeTurbo has three deployment methods (Helm, YAML and Operator), in this guide i'll be describing only the YAML option.

If you want to deploy kubeturbo on Openshift 4.x+ for production, it's recommended use Operators: KubeTurbo Operator

Requirements

Check all the requirements in this site: Kubeturbo Requirements.

To use KubeTurbo you need at least the following requisites:

  • Service Account with administrator rights on the Turbonomic platform.
  • Cluster admin rights on the kubernetes or Openshift cluster to create objects such as service account, role, namespace, pod, etc.
  • Communication through 443 TCP port from the Kubernetes cluster Worker nodes to the Turbonomic server IP address.

Turbonomic Service Account

Create a user to connect to the Turbonomic platform

  1. Login in the Turbonomic Web console with administrator rights
  2. In the left side, click on Settings and then on User Management
  3. Click on the New Local User button at right

image

  1. In the New Local User windows, type:
  • Username: k8sturbo (or other name)
  • Password: "Some password you like"
  • Role: Site Administrator
  1. Click on the Save User button

image

Prepare YAML files

Download the required YAML files. You will use these files to create:

  • "turbo" namespace
  • "turbo-user" service account on the turbo namespace
  • A cluster admin Role Binding for the service account.
  • KubeTurbo deployment

To download the YAML files: In a command line console:

mkdir kubeturbo

cd kubeturbo

wget https://raw.githubusercontent.com/turbonomic/kubeturbo/master/deploy/kubeturbo_yamls/step1_turbo_namespace.yaml

wget https://raw.githubusercontent.com/turbonomic/kubeturbo/master/deploy/kubeturbo_yamls/step2_turbo_serviceAccount_sample.yaml

wget https://raw.githubusercontent.com/turbonomic/kubeturbo/master/deploy/kubeturbo_yamls/step3_turbo_serviceAccountRoleBinding_admin_sample.yaml

wget https://raw.githubusercontent.com/turbonomic/kubeturbo/master/deploy/kubeturbo_yamls/step4_turbo_configMap_sample.yaml

wget https://raw.githubusercontent.com/turbonomic/kubeturbo/master/deploy/kubeturbo_yamls/step5_turbo_kubeturboDeploy.yaml

Modify the step4_turbo_configMap_sample.yaml file with your parameters

vi step4_turbo_configMap_sample.yaml

Modify:

  • TurboServer: modify the IP address with the IP address of your Turbonomic server.
  • opsManagerUserName: k8sturbo
  • opsManagerPassword: "the k8sturbo password". Please consider using secrets for production deployments.
  • targetName: "the name of you kubernetes cluster, i.e: prod-web-banking"

image

Modify the step5_turbo_kubeturboDeploy.yaml file with your Turbonomic version

vi step5_turbo_kubeturboDeploy.yaml

image

Execute the following commands

kubectl apply -f step1_turbo_namespace.yaml
kubectl -n turbo apply -f step2_turbo_serviceAccount_sample.yaml
kubectl -n turbo apply -f step3_turbo_serviceAccountRoleBinding_admin_sample.yaml 
kubectl -n turbo apply -f step4_turbo_configMap_sample.yaml
kubectl -n turbo apply -f step5_turbo_kubeturboDeploy.yaml

to monitor the deployment process, execute kubectl -n turbo get pods -w image

At the end of the process, you will see something like this: image

After few seconds, you can see the new target on the Turbonomic web console.

image

Troubleshooting

If the validation process fail, you can see this link: Troubleshooting