Exploring Kubernetes Visibility Agent
Summarize
Summary of Exploring Kubernetes Visibility Agent
The Kubernetes Visibility Agent provides comprehensive visibility into both on-premises Kubernetes clusters and various cloud deployments. It continuously detects changes in Kubernetes resources, reports these changes to your ServiceNow instance, and keeps the Configuration Management Database (CMDB) updated with the latest cluster data. This enables accurate and timely tracking of your Kubernetes environment within ServiceNow.
Show less
How it works
Upon deployment, Kubernetes creates a Deployment resource that includes a pod called Informer. The Informer connects to the Kubernetes API server to receive real-time events about cluster resource changes. It sends this data to your ServiceNow instance via the External Communication Channel (ECC) Queue table using the ServiceNow Table API. The Informer updates the relevant CMDB tables accordingly.
If the Informer cannot report changes due to network issues, newly added resources are included in the CMDB during the next full discovery cycle. Removed resources are marked as Absent and deleted after two full discovery cycles, ensuring CMDB accuracy even with intermittent connectivity.
Initial and periodic discovery
The Informer performs an initial discovery to detect all resources in the cluster and reports them to your instance. It sends data in increments of up to 1 MB every 30 seconds. Reporting time scales with cluster size—typically around two minutes for 1,000 pods, plus additional time for larger clusters. The Informer automatically restarts if it exits unexpectedly.
After the initial discovery, the Informer continuously monitors resource additions, updates, and deletions. Deleted resources are marked with installstatus=Absent and removed from the CMDB within hours during routine cleanups.
Impact on Kubernetes API server
The Informer minimizes impact on the Kubernetes API server by fetching the complete list of resources only once and caching it in memory. It then synchronizes incrementally with the API server rather than repeatedly retrieving full resource lists, ensuring efficient operation even in large clusters.
Performance and scalability
The Kubernetes Visibility Agent is designed to scale efficiently, capable of handling clusters with tens of thousands of pods via a single Informer pod. For detailed performance benchmarks, refer to the ServiceNow Knowledge Base articles.
Kubernetes Visibility Agent enables you to gain visibility into on-premises Kubernetes clusters as well as the various Cloud deployments.
Kubernetes Visibility Agent detects changes on resources in a Kubernetes cluster. It performs continuous discovery, reports any changes back to your instance, and updates the Configuration Management Database (CMDB) with the latest data. For the latest information on supported cloud deployments, see the Kubernetes Visibility Agent (formerly CNO for Visibility) Support Matrix [KB1700730] article in the Now Support Knowledge Base.
How it works
When you deploy Kubernetes Visibility Agent, Kubernetes creates a Deployment resource in the cluster with the latest data. This resource uses a secret stored in Kubernetes to connect to your ServiceNow instance.
The Kubernetes Visibility Agent Deployment resource contains a pod called Informer, which connects to the Kubernetes API server and receives events on the resources in the cluster from it. The Informer sends the collected data to the instance through the External Communication Channel (ECC) Queue table, using the ServiceNow Table API to read from and write to the queue. The Informer then updates the appropriate tables in the CMDB.
For more information about the Kubernetes resources on which the Informer collects data and the CMDB tables it populates, see Data collected by Kubernetes Visibility Agent.
Initial and periodic discovery
In its initial discovery, the Informer finds all the resources in the Kubernetes cluster and reports them to your instance. Every 30 seconds, the Informer sends up to 1 MB of data to the instance. It typically takes up to two minutes to report data on a cluster containing 1,000 pods and another minute for every additional 1,000 pods. A single Informer pod can handle a cluster with tens of thousands of pods. If the Informer exits for any reason, Kubernetes restarts it automatically.
After the initial discovery, the Informer continuously monitors the addition, updating, and deletion of resources in the cluster. Resources that were deleted from the cluster are marked with install_status=Absent and deleted from the CMDB within hours in a regular cleanup.
Impact of the Informer on the Kubernetes API server
The Informer has minimal impact on the Kubernetes API server. It fetches the complete list of relevant resources only once and saves it to memory. From then on, it synchronizes with the Kubernetes API server and never pulls the complete list again. During the periodic and on-demand full discovery cycles, the Informer resends the saved list of resources to the instance.
Kubernetes Visibility Agent performance and scalability benchmark
For Kubernetes Visibility Agent benchmarks, see the Performance results for Kubernetes Visibility Agent [KB1555851] article in the Now Support Knowledge Base.