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
- Login in the Turbonomic Web console with administrator rights
- In the left side, click on Settings and then on User Management
- Click on the New Local User button at right
- In the New Local User windows, type:
- Username: k8sturbo (or other name)
- Password: "Some password you like"
- Role: Site Administrator
- Click on the Save User button
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"
Modify the step5_turbo_kubeturboDeploy.yaml file with your Turbonomic version
vi step5_turbo_kubeturboDeploy.yaml
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
At the end of the process, you will see something like this:
After few seconds, you can see the new target on the Turbonomic web console.
Troubleshooting
If the validation process fail, you can see this link: Troubleshooting