Summary: Full Discovery vs Continuous Discovery in Kubernetes Visibility Agent<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Table of Contents OverviewFull Discovery What full discovery doesWhen full discovery runsHow full discovery worksPurpose of full discovery Continuous Discovery What continuous discovery doesWhen continuous discovery runsHow continuous discovery worksPurpose of continuous discovery Key DifferencesExample Scenario Scenario: A new pod is created Continuous discovery behaviorFull discovery behavior Scenario: Missed or stale data How They Work TogetherConclusion Summary Overview Kubernetes Visibility Agent (KVA) discovers Kubernetes resources and sends topology/metadata to the ServiceNow CMDB. KVA uses two complementary discovery modes: Full discoveryContinuous discovery Both modes collect Kubernetes metadata, build CMDB payloads, and send those payloads to ServiceNow, but they differ in triggering, scope, frequency, and purpose. Full Discovery What full discovery does Full discovery performs a broad refresh of Kubernetes resources from the cluster. It lists supported Kubernetes resources from the Kubernetes API and sends discovery payloads to ServiceNow so the CMDB can be reconciled with the current cluster state. Full discovery is used to establish or refresh the complete Kubernetes topology, including resources such as: ClusterNamespacesNodesPodsServicesIngressesWorkloads such as Deployments, ReplicaSets, StatefulSets, DaemonSets, Jobs, and CronJobsRelated container and IP metadata, depending on configuration When full discovery runs Full discovery typically runs: During initial onboarding/startupOn a configured periodic intervalWhen explicitly triggered from ServiceNowWhen a full refresh is needed to reconcile CMDB state with the cluster How full discovery works During full discovery, KVA performs list operations against the Kubernetes API for supported resource types. It then builds discovery payloads for those resources and sends them to ServiceNow. Full discovery is not dependent only on Kubernetes change events. It actively lists resources to confirm the current cluster state. Purpose of full discovery Full discovery is mainly used for: Initial population of Kubernetes CIs in CMDBPeriodic reconciliationRecovery from missed eventsCorrecting stale or incomplete topologyDetecting resources that no longer existRefreshing metadata that may not have changed recently but still needs to be confirmed Continuous Discovery What continuous discovery does Continuous discovery is event-driven. KVA watches Kubernetes resources through informers and reacts to Kubernetes add, update, and delete events. When a resource changes, KVA processes the event, builds the relevant payload, and sends it to ServiceNow if the change should be reported. When continuous discovery runs Continuous discovery runs continuously while the KVA informer pod is active and connected to the Kubernetes API. It handles near-real-time updates such as: New pod createdPod deletedNode updatedService changedIngress changedDeployment scaledResource labels or annotations changedWorkload status changed How continuous discovery works KVA registers Kubernetes informers for supported resources. These informers maintain a local cache and receive watch events from the Kubernetes API. When KVA receives an event, it evaluates whether the resource should be reported. If the payload has not changed, or if the resource was recently reported within the configured refresh interval, KVA may suppress the duplicate update to reduce unnecessary payload traffic. Purpose of continuous discovery Continuous discovery is mainly used for: Near-real-time CMDB updatesDetecting resource creation, update, and deletion eventsKeeping topology current between full discovery runsReducing the need for frequent full scansLowering load on Kubernetes API and ServiceNow Key Differences AreaFull DiscoveryContinuous DiscoveryTrigger modelScheduled or manually triggeredEvent-drivenKubernetes API behaviorLists current resourcesWatches resource changesScopeBroad refresh across resource typesIndividual changed resources/eventsFrequencyPeriodic or on demandOngoing while informer is runningPurposeReconciliation and completenessNear-real-time incremental updatesPayload behaviorSends a refresh view of resourcesSends changed resources when neededMissed event recoveryYes, helps recover missed/stale stateNo, depends on observed eventsLoad profileHigher but periodicLower per event, continuousChange suppressionLess relevant during full refreshImportant to avoid duplicate reportingBest suited forInitial discovery, periodic correction, CMDB reconciliationDay-to-day topology updates Example Scenario Scenario: A new pod is created Continuous discovery behavior Kubernetes creates the pod.KVA receives a pod add event through the informer watch.KVA builds a pod payload.KVA sends the update to ServiceNow.CMDB is updated near real time. Full discovery behavior At the next full discovery run, KVA lists pods from the Kubernetes API.The new pod appears in the list.KVA sends the pod information as part of the full discovery refresh.CMDB is reconciled with the current cluster state. Scenario: Missed or stale data If KVA temporarily misses an event due to connectivity interruption, pod restart, or watch resync behavior, continuous discovery may not immediately correct that specific item unless another event occurs. A later full discovery can correct this by listing the current Kubernetes resources and sending a refreshed view to ServiceNow. How They Work Together Full discovery and continuous discovery are designed to complement each other: Continuous discovery keeps CMDB updated as changes happen.Full discovery periodically validates and reconciles the complete cluster state. Together, they provide both: Timeliness through event-based updatesCompleteness through periodic full-state reconciliation Conclusion Summary KVA uses continuous discovery for ongoing, event-driven updates and full discovery for broader reconciliation. Continuous discovery keeps ServiceNow current as Kubernetes resources change. Full discovery periodically refreshes the full cluster view to ensure completeness, correct missed updates, and mark stale resources appropriately. Continuous discovery is optimized for low-latency incremental updates. Full discovery is optimized for completeness and consistency.