mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-10-31 18:28:13 +00:00 
			
		
		
		
	Merge pull request #130204 from aroradaman/conntrack-count-metric
kube-proxy: metric to track entries deleted in conntrack reconciliation
This commit is contained in:
		| @@ -116,12 +116,14 @@ func CleanStaleEntries(ct Interface, ipFamily v1.IPFamily, | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if n, err := ct.ClearEntries(ipFamilyMap[ipFamily], filters...); err != nil { | ||||
| 	var n int | ||||
| 	if n, err = ct.ClearEntries(ipFamilyMap[ipFamily], filters...); err != nil { | ||||
| 		klog.ErrorS(err, "Failed to clear all conntrack entries", "ipFamily", ipFamily, "entriesDeleted", n, "took", time.Since(start)) | ||||
| 	} else { | ||||
| 		klog.V(4).InfoS("Finished reconciling conntrack entries", "ipFamily", ipFamily, "entriesDeleted", n, "took", time.Since(start)) | ||||
| 	} | ||||
| 	metrics.ReconcileConntrackFlowsLatency.WithLabelValues(string(ipFamily)).Observe(metrics.SinceInSeconds(start)) | ||||
| 	metrics.ReconcileConntrackFlowsDeletedEntriesTotal.WithLabelValues(string(ipFamily)).Add(float64(n)) | ||||
| } | ||||
|  | ||||
| // ipFamilyMap maps v1.IPFamily to the corresponding unix constant. | ||||
|   | ||||
| @@ -295,6 +295,17 @@ var ( | ||||
| 		}, | ||||
| 		[]string{"ip_family"}, | ||||
| 	) | ||||
|  | ||||
| 	// ReconcileConntrackFlowsDeletedEntriesTotal is the number of entries deleted by conntrack reconciler. | ||||
| 	ReconcileConntrackFlowsDeletedEntriesTotal = metrics.NewCounterVec( | ||||
| 		&metrics.CounterOpts{ | ||||
| 			Subsystem:      kubeProxySubsystem, | ||||
| 			Name:           "conntrack_reconciler_deleted_entries_total", | ||||
| 			Help:           "Cumulative conntrack flows deleted by conntrack reconciler", | ||||
| 			StabilityLevel: metrics.ALPHA, | ||||
| 		}, | ||||
| 		[]string{"ip_family"}, | ||||
| 	) | ||||
| ) | ||||
|  | ||||
| var registerMetricsOnce sync.Once | ||||
| @@ -334,10 +345,12 @@ func RegisterMetrics(mode kubeproxyconfig.ProxyMode) { | ||||
| 			legacyregistry.MustRegister(IPTablesRulesTotal) | ||||
| 			legacyregistry.MustRegister(IPTablesRulesLastSync) | ||||
| 			legacyregistry.MustRegister(ReconcileConntrackFlowsLatency) | ||||
| 			legacyregistry.MustRegister(ReconcileConntrackFlowsDeletedEntriesTotal) | ||||
|  | ||||
| 		case kubeproxyconfig.ProxyModeIPVS: | ||||
| 			legacyregistry.MustRegister(IPTablesRestoreFailuresTotal) | ||||
| 			legacyregistry.MustRegister(ReconcileConntrackFlowsLatency) | ||||
| 			legacyregistry.MustRegister(ReconcileConntrackFlowsDeletedEntriesTotal) | ||||
|  | ||||
| 		case kubeproxyconfig.ProxyModeNFTables: | ||||
| 			legacyregistry.MustRegister(SyncFullProxyRulesLatency) | ||||
| @@ -345,6 +358,7 @@ func RegisterMetrics(mode kubeproxyconfig.ProxyMode) { | ||||
| 			legacyregistry.MustRegister(NFTablesSyncFailuresTotal) | ||||
| 			legacyregistry.MustRegister(NFTablesCleanupFailuresTotal) | ||||
| 			legacyregistry.MustRegister(ReconcileConntrackFlowsLatency) | ||||
| 			legacyregistry.MustRegister(ReconcileConntrackFlowsDeletedEntriesTotal) | ||||
|  | ||||
| 		case kubeproxyconfig.ProxyModeKernelspace: | ||||
| 			// currently no winkernel-specific metrics | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Kubernetes Prow Robot
					Kubernetes Prow Robot