Skip to content

Commit 54eddbd

Browse files
authored
Merge pull request kubernetes#128989 from Henrywu573/kube-proxy-statuz-new
Add statusz endpoint for kube-proxy
2 parents c7489b2 + c5f66bf commit 54eddbd

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

cmd/kube-proxy/app/server.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,9 @@ import (
6060
"k8s.io/component-base/metrics/prometheus/slis"
6161
"k8s.io/component-base/version"
6262
"k8s.io/component-base/version/verflag"
63+
zpagesfeatures "k8s.io/component-base/zpages/features"
6364
"k8s.io/component-base/zpages/flagz"
65+
"k8s.io/component-base/zpages/statusz"
6466
nodeutil "k8s.io/component-helpers/node/util"
6567
"k8s.io/klog/v2"
6668
api "k8s.io/kubernetes/pkg/apis/core"
@@ -78,6 +80,11 @@ import (
7880
netutils "k8s.io/utils/net"
7981
)
8082

83+
const (
84+
// kubeProxy defines variable used internally when referring to kube-proxy component
85+
kubeProxy = "kube-proxy"
86+
)
87+
8188
func init() {
8289
utilruntime.Must(metricsfeatures.AddFeatureGates(utilfeature.DefaultMutableFeatureGate))
8390
utilruntime.Must(logsapi.AddFeatureGates(utilfeature.DefaultMutableFeatureGate))
@@ -93,7 +100,7 @@ func NewProxyCommand() *cobra.Command {
93100
opts := NewOptions()
94101

95102
cmd := &cobra.Command{
96-
Use: "kube-proxy",
103+
Use: kubeProxy,
97104
Long: `The Kubernetes network proxy runs on each node. This
98105
reflects services as defined in the Kubernetes API on each node and can do simple
99106
TCP, UDP, and SCTP stream forwarding or round robin TCP, UDP, and SCTP forwarding across a set of backends.
@@ -214,7 +221,7 @@ func newProxyServer(ctx context.Context, config *kubeproxyconfig.KubeProxyConfig
214221
}
215222

216223
s.Broadcaster = events.NewBroadcaster(&events.EventSinkImpl{Interface: s.Client.EventsV1()})
217-
s.Recorder = s.Broadcaster.NewRecorder(proxyconfigscheme.Scheme, "kube-proxy")
224+
s.Recorder = s.Broadcaster.NewRecorder(proxyconfigscheme.Scheme, kubeProxy)
218225

219226
s.NodeRef = &v1.ObjectReference{
220227
Kind: "Node",
@@ -443,7 +450,7 @@ func serveMetrics(ctx context.Context, bindAddress string, proxyMode kubeproxyco
443450
return
444451
}
445452

446-
proxyMux := mux.NewPathRecorderMux("kube-proxy")
453+
proxyMux := mux.NewPathRecorderMux(kubeProxy)
447454
healthz.InstallHandler(proxyMux)
448455
slis.SLIMetricsWithReset{}.Install(proxyMux)
449456

@@ -466,6 +473,10 @@ func serveMetrics(ctx context.Context, bindAddress string, proxyMode kubeproxyco
466473
flagz.Install(proxyMux, "kube-proxy", flagzReader)
467474
}
468475

476+
if utilfeature.DefaultFeatureGate.Enabled(zpagesfeatures.ComponentStatusz) {
477+
statusz.Install(proxyMux, kubeProxy, statusz.NewRegistry())
478+
}
479+
469480
fn := func() {
470481
var err error
471482
defer func() {

0 commit comments

Comments
 (0)