diff --git a/pkg/proxy/iptables/proxier.go b/pkg/proxy/iptables/proxier.go index d286c84323b..e5e96eee480 100644 --- a/pkg/proxy/iptables/proxier.go +++ b/pkg/proxy/iptables/proxier.go @@ -280,7 +280,7 @@ func NewProxier(ctx context.Context, serviceHealthServer := healthcheck.NewServiceHealthServer(hostname, recorder, nodePortAddresses, healthzServer) nfacctRunner, err := nfacct.New() if err != nil { - logger.Error(err, "Failed to create nfacct runner") + logger.Error(err, "Failed to create nfacct runner, nfacct based metrics won't be available") } proxier := &Proxier{ diff --git a/pkg/proxy/metrics/metrics.go b/pkg/proxy/metrics/metrics.go index 15682f25eaa..55696e147fb 100644 --- a/pkg/proxy/metrics/metrics.go +++ b/pkg/proxy/metrics/metrics.go @@ -299,8 +299,12 @@ func RegisterMetrics(mode kubeproxyconfig.ProxyMode) { switch mode { case kubeproxyconfig.ProxyModeIPTables: - legacyregistry.CustomMustRegister(iptablesCTStateInvalidDroppedMetricCollector) - legacyregistry.CustomMustRegister(localhostNodePortsAcceptedMetricsCollector) + if iptablesCTStateInvalidDroppedMetricCollector != nil { + legacyregistry.CustomMustRegister(iptablesCTStateInvalidDroppedMetricCollector) + } + if localhostNodePortsAcceptedMetricsCollector != nil { + legacyregistry.CustomMustRegister(localhostNodePortsAcceptedMetricsCollector) + } legacyregistry.MustRegister(SyncFullProxyRulesLatency) legacyregistry.MustRegister(SyncPartialProxyRulesLatency) legacyregistry.MustRegister(IPTablesRestoreFailuresTotal) @@ -332,6 +336,7 @@ func newNFAcctMetricCollector(counter string, description *metrics.Desc) *nfacct client, err := nfacct.New() if err != nil { klog.ErrorS(err, "failed to initialize nfacct client") + return nil } return &nfacctMetricCollector{ client: client,