You are the VMware virtual infrastructure administrator and you or your colleagues have deployed Kubernetes clusters in the cloud ( maybe something like this ), you are also using VMware vRealize Operations for your hybrid cloud operations management, you may have already installed some vRealize Operations management packs to intelligently manage your environment across physical, virtual and cloud infrastructure, now you can leverage with VMware vRealize Operations Management Pack for Container Monitoring.
From the official VMware Solution Exchange, the description for this management pack is:
“virtual administrators can get complete Kubernetes topology of Namespaces, Clusters, Replica Sets, Nodes, Pods, and Containers for monitoring Kubernetes clusters. The OOTB dashboard not only provides an overview of Kubernetes ecosystem but also troubleshoots by highlighting the Key Performance Index and alerts for various objects pertaining to Kubernetes clusters that are monitored. This management pack extends the monitoring capability of vRealize Operations Manager to provide insights to the Kubernetes clusters to the Virtual Infrastructure administrator.”
Although users who are familiar with Kubernetes can use K8S Dashboard, Prometheus or Istio to monitor their Kubernetes clusters, companies who have already implemented vRealize Operations as their main Cloud Management Platform can extend their management scope to also include the cloud native territory by simply importing the management pack into vRealize Operations, this blog I’ll show you how easy it is to monitor Kubernetes Cluster and Containers.
download the management pack
We first need to check the products interoperability list in the release notes here.
Supported products version is:
- VMware vRealize Operations Manager 6.6.1 and above.
- Kubernetes 1.5.x to 1.9.3.
then we can login to VMware Solution Exchange, download the management pack.
Install management pack
Go to Administration tab and click “+” sign to install the management pack.
Browse to your downloaded file path.
Click “UPLOAD” button.
then you can see the management pack of Kubernetes Adapter type showing up in the Solutions windows.
Configure the management pack
Highlight the management pack and click the setting icon to configure the adapter:
Here you need to add some information in order to monitor your Kubernetes Cluster.
You can get all the required info from the cluster master node’s $HOME/.kube/config file or from your developers.
Following is my Kubernetes namespace ‘sock-shop’ master node’s config file content, I just copy the content of “client-certificate-data” and “client-key-data” sections of that file into the corresponding fields in the pop-up windows when configuring the credential in vRealize Operation Manager.
Click the “TEST CONNECTION” button.
P.S:
If the following error messages showing up during the testing step, you may need to update your cAdvisor API version to 2.1 or later for your Kubernetes nodes.
- Unable to establish a valid connection to the target system. cAdvisor service on following nodes is either not reachable OR of a lower version than v2.1.
You can use the following docker command to upgrade the Kubernetes cAdvisor API version.
sudo docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest
After several minutes, you will see the adapter is collecting data from your Kubernetes nodes, showing green light “Data receiving”.
Start to use the management pack
After we have installed and configured the management pack, make sure we have ticked the checkbox of “Kubernetes Environment” in vRealize Operations Manager Dashboards tab.
We can now start to use vRealize Operations to do our K8S container monitoring.
Here is the Cluster view.
It can show nodes detail performance trend data and you can select performance metric you want to drill down to diagnose about.
It will also show real time performance statistics to our Pods and Containers environment.
Summary
vRealize Operations can manage not only traditional virtual infrastructure virtual machines locally or in the cloud, but also it can be configured to extend its capability to monitor modern Kubernetes resources, administrator can easily do the performance management across service, cluster, node, pod and correlate those performance metrics to the virtual machine level, which close the gap between container service monitoring and virtual machine resource management.
Notes:
- The management pack for container monitoring info
- how to upgrade the cAdvisor API version:
https://github.com/google/cadvisor/blob/master/docs/running.md