vROPs management pack for Container monitoring
Available on the VMware solution exchange is a Management pack for monitoring containers, I recently had a look at Project Octant as a cool way to visualise a Kubernetes cluster and even troubleshoot issues. Octant gives a great view of the cluster, but perhaps not in the wider infrastructure context, so I wanted to install and look at vROPs monitoring the Tanzu Kubernetes clusters I’ve deployed.
The vROPs management pack makes use of cAdvisor to gather information from the Kubernetes clusters. cAdvisor (Container Advisor) provides container users an understanding of the resource usage and performance characteristics of their running containers. It is a running daemon that collects, aggregates, processes, and exports information about running containers. So before installing the vROps management pack, install cAdvisor.
There is an example YAML file available for this deployment at a couple of locations including the VMware documentation that accompanies the management pack. Once you have that YAML file available within your environment you are good to deploy. deploy the daemonset by running ‘kubectl create -f <path to YAML>’ . and check that the pods come online. cAdvisor will create a pod per node in the cluster, with my configuration I’m expecting to see 4 pods created.
Sure enough here are my 4 pods. Using ‘describe’ I can see a little more information about the pods.
The vROPs management pack makes an adaptor available inside of vROPs that we configure to connect into the Kubernetes master to gather the data from cAdvisor. Whilst we are working with the Kubernetes cluster, it makes sense to pull the cluster info to check the Kubernetes master and to pull the config so we can get an appropriate user token.
From the above three screenshots you can see my Kubernetes master is https://10.255.100.3:6443 and how I can copy out the user token using ‘kubectl config view’. To let you into a little secret – I first tried configuring this pack using basic authentication and wasn’t able to connect to my Kuberentes cluster, as soon as I changed to token based authentication I connected straight away. Hence grabbing the token at the stage.
vROPs Management Pack Installation
I’m installing this management pack into vROPs version 8.1.0 and the management pack itself is version 1.4.3.
vROPs management packs are installed from Administration > Solutions > Repository > Add/Upgrade.
Upload the PAK file and accept licensing agreements etc. When the installation is complete you will see the following management pack available;
To connect this to the Kubernetes cluster create a new account.
Use the newly created Kubernetes Adapeter. The pack also includes the PKS adapter, handy if you also need to monitor those estates. Configuration of the PKS adapter is also covered in the VMware documentation.
As part of this account creation configure a new token credential to use with the adapter (using the token we copied earlier from the ‘kubectl config view’ output.
Give the account a name and description if you like, configure the connection with the kubernetes master URL, vROPs will automatically append the path the the API. Select the cAdvisor daemonset and configure the port, link to the token credential and the correct collector group.
Before validating the connection, if you are working with a Kubernetes cluster configured on a virtual centre that vROPs is aware of, that information can be added in the advanced settings – linking the VCSA infrastructure world to the Kubernetes world.
Validate your connection, troubleshoot of needed and finalise the configuration.
vROPs Kubernetes Dashboard
The power of vROPs is much more about what you can do with the data once it’s been collected. As I’m fond of saying Data <> Information <> Knowledge <> Wisdom. vROPs not only collects the data from our environment, it provides the means to turn that data into useful information, which provides knowledge that is used to tune the estate and grant the wisdom to inform future decision making.
Having said that the default dashboards for Kubernetes get straight to the heart of the matter. Providing immediate insight into what is running where on the cluster, how they relate and detecting any alerts;
Allowing an administrator to dig into individual cluster node performance;
Linking into the common vROPs tools and ways of working.
And the performance and relationships of individual pods;
All these views available out of the box after installation, which is mighty impressive.