mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-04 09:49:50 +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:
commit
87fcae2bc7
@ -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))
|
klog.ErrorS(err, "Failed to clear all conntrack entries", "ipFamily", ipFamily, "entriesDeleted", n, "took", time.Since(start))
|
||||||
} else {
|
} else {
|
||||||
klog.V(4).InfoS("Finished reconciling conntrack entries", "ipFamily", ipFamily, "entriesDeleted", n, "took", time.Since(start))
|
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.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.
|
// ipFamilyMap maps v1.IPFamily to the corresponding unix constant.
|
||||||
|
@ -295,6 +295,17 @@ var (
|
|||||||
},
|
},
|
||||||
[]string{"ip_family"},
|
[]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
|
var registerMetricsOnce sync.Once
|
||||||
@ -334,10 +345,12 @@ func RegisterMetrics(mode kubeproxyconfig.ProxyMode) {
|
|||||||
legacyregistry.MustRegister(IPTablesRulesTotal)
|
legacyregistry.MustRegister(IPTablesRulesTotal)
|
||||||
legacyregistry.MustRegister(IPTablesRulesLastSync)
|
legacyregistry.MustRegister(IPTablesRulesLastSync)
|
||||||
legacyregistry.MustRegister(ReconcileConntrackFlowsLatency)
|
legacyregistry.MustRegister(ReconcileConntrackFlowsLatency)
|
||||||
|
legacyregistry.MustRegister(ReconcileConntrackFlowsDeletedEntriesTotal)
|
||||||
|
|
||||||
case kubeproxyconfig.ProxyModeIPVS:
|
case kubeproxyconfig.ProxyModeIPVS:
|
||||||
legacyregistry.MustRegister(IPTablesRestoreFailuresTotal)
|
legacyregistry.MustRegister(IPTablesRestoreFailuresTotal)
|
||||||
legacyregistry.MustRegister(ReconcileConntrackFlowsLatency)
|
legacyregistry.MustRegister(ReconcileConntrackFlowsLatency)
|
||||||
|
legacyregistry.MustRegister(ReconcileConntrackFlowsDeletedEntriesTotal)
|
||||||
|
|
||||||
case kubeproxyconfig.ProxyModeNFTables:
|
case kubeproxyconfig.ProxyModeNFTables:
|
||||||
legacyregistry.MustRegister(SyncFullProxyRulesLatency)
|
legacyregistry.MustRegister(SyncFullProxyRulesLatency)
|
||||||
@ -345,6 +358,7 @@ func RegisterMetrics(mode kubeproxyconfig.ProxyMode) {
|
|||||||
legacyregistry.MustRegister(NFTablesSyncFailuresTotal)
|
legacyregistry.MustRegister(NFTablesSyncFailuresTotal)
|
||||||
legacyregistry.MustRegister(NFTablesCleanupFailuresTotal)
|
legacyregistry.MustRegister(NFTablesCleanupFailuresTotal)
|
||||||
legacyregistry.MustRegister(ReconcileConntrackFlowsLatency)
|
legacyregistry.MustRegister(ReconcileConntrackFlowsLatency)
|
||||||
|
legacyregistry.MustRegister(ReconcileConntrackFlowsDeletedEntriesTotal)
|
||||||
|
|
||||||
case kubeproxyconfig.ProxyModeKernelspace:
|
case kubeproxyconfig.ProxyModeKernelspace:
|
||||||
// currently no winkernel-specific metrics
|
// currently no winkernel-specific metrics
|
||||||
|
Loading…
Reference in New Issue
Block a user