diff --git a/pkg/kubelet/stats/host_stats_provider.go b/pkg/kubelet/stats/host_stats_provider.go index 108fbfb8f14..450b832bff5 100644 --- a/pkg/kubelet/stats/host_stats_provider.go +++ b/pkg/kubelet/stats/host_stats_provider.go @@ -18,6 +18,7 @@ package stats import ( "fmt" + "os" "path/filepath" cadvisorapiv2 "github.com/google/cadvisor/info/v2" @@ -84,6 +85,10 @@ func (h hostStatsProvider) getPodEtcHostsStats(podUID types.UID, rootFsInfo *cad if !isEtcHostsSupported { return nil, nil } + // Some pods have an explicit /etc/hosts mount and the Kubelet will not create an etc-hosts file for them + if _, err := os.Stat(podEtcHostsPath); os.IsNotExist(err) { + return nil, nil + } metrics := volume.NewMetricsDu(podEtcHostsPath) hostMetrics, err := metrics.GetMetrics()