Merge pull request #118549 from a7i/kubelet-prober-metric-pod

fix 'pod' in kubelet prober metrics
This commit is contained in:
Kubernetes Prow Robot 2023-07-26 18:28:06 -07:00 committed by GitHub
commit d4fde1e92a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 67 deletions

View File

@ -18,9 +18,7 @@ package prober
import ( import (
"context" "context"
"fmt"
"math/rand" "math/rand"
"strings"
"time" "time"
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
@ -28,7 +26,6 @@ import (
"k8s.io/component-base/metrics" "k8s.io/component-base/metrics"
"k8s.io/klog/v2" "k8s.io/klog/v2"
podutil "k8s.io/kubernetes/pkg/api/v1/pod" podutil "k8s.io/kubernetes/pkg/api/v1/pod"
"k8s.io/kubernetes/pkg/apis/apps"
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
"k8s.io/kubernetes/pkg/kubelet/prober/results" "k8s.io/kubernetes/pkg/kubelet/prober/results"
) )
@ -115,12 +112,10 @@ func newWorker(
w.initialValue = results.Unknown w.initialValue = results.Unknown
} }
podName := getPodLabelName(w.pod)
basicMetricLabels := metrics.Labels{ basicMetricLabels := metrics.Labels{
"probe_type": w.probeType.String(), "probe_type": w.probeType.String(),
"container": w.container.Name, "container": w.container.Name,
"pod": podName, "pod": w.pod.Name,
"namespace": w.pod.Namespace, "namespace": w.pod.Namespace,
"pod_uid": string(w.pod.UID), "pod_uid": string(w.pod.UID),
} }
@ -128,7 +123,7 @@ func newWorker(
proberDurationLabels := metrics.Labels{ proberDurationLabels := metrics.Labels{
"probe_type": w.probeType.String(), "probe_type": w.probeType.String(),
"container": w.container.Name, "container": w.container.Name,
"pod": podName, "pod": w.pod.Name,
"namespace": w.pod.Namespace, "namespace": w.pod.Namespace,
} }
@ -340,15 +335,3 @@ func deepCopyPrometheusLabels(m metrics.Labels) metrics.Labels {
} }
return ret return ret
} }
func getPodLabelName(pod *v1.Pod) string {
podName := pod.Name
if pod.GenerateName != "" {
podNameSlice := strings.Split(pod.Name, "-")
podName = strings.Join(podNameSlice[:len(podNameSlice)-1], "-")
if label, ok := pod.GetLabels()[apps.DefaultDeploymentUniqueLabelKey]; ok {
podName = strings.ReplaceAll(podName, fmt.Sprintf("-%s", label), "")
}
}
return podName
}

View File

@ -27,7 +27,6 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
"k8s.io/client-go/kubernetes/fake" "k8s.io/client-go/kubernetes/fake"
"k8s.io/kubernetes/pkg/apis/apps"
kubepod "k8s.io/kubernetes/pkg/kubelet/pod" kubepod "k8s.io/kubernetes/pkg/kubelet/pod"
"k8s.io/kubernetes/pkg/kubelet/prober/results" "k8s.io/kubernetes/pkg/kubelet/prober/results"
"k8s.io/kubernetes/pkg/kubelet/status" "k8s.io/kubernetes/pkg/kubelet/status"
@ -493,50 +492,3 @@ func TestStartupProbeDisabledByStarted(t *testing.T) {
expectContinue(t, w, w.doProbe(ctx), msg) expectContinue(t, w, w.doProbe(ctx), msg)
expectResult(t, w, results.Success, msg) expectResult(t, w, results.Success, msg)
} }
func TestGetPodLabelName(t *testing.T) {
testCases := []struct {
name string
pod *v1.Pod
result string
}{
{
name: "Static pod",
pod: &v1.Pod{
ObjectMeta: metav1.ObjectMeta{
Name: "kube-controller-manager-k8s-master-21385161-0",
},
},
result: "kube-controller-manager-k8s-master-21385161-0",
},
{
name: "Deployment pod",
pod: &v1.Pod{
ObjectMeta: metav1.ObjectMeta{
Name: "coredns-845757d86-ccqpf",
GenerateName: "coredns-845757d86-",
Labels: map[string]string{
apps.DefaultDeploymentUniqueLabelKey: "845757d86",
},
},
},
result: "coredns",
},
{
name: "ReplicaSet pod",
pod: &v1.Pod{
ObjectMeta: metav1.ObjectMeta{
Name: "kube-proxy-2gmqn",
GenerateName: "kube-proxy-",
},
},
result: "kube-proxy",
},
}
for _, test := range testCases {
ret := getPodLabelName(test.pod)
if ret != test.result {
t.Errorf("Expected %s, got %s", test.result, ret)
}
}
}