mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 15:05:27 +00:00
Merge pull request #128987 from Henrywu573/kubescheduler_statuz
Add statusz endpoint for kube-scheduler
This commit is contained in:
commit
a0be82d80d
@ -39,6 +39,7 @@ import (
|
||||
"k8s.io/apiserver/pkg/server/healthz"
|
||||
"k8s.io/apiserver/pkg/server/mux"
|
||||
"k8s.io/apiserver/pkg/server/routes"
|
||||
"k8s.io/apiserver/pkg/util/compatibility"
|
||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||
"k8s.io/client-go/informers"
|
||||
"k8s.io/client-go/kubernetes/scheme"
|
||||
@ -59,6 +60,7 @@ import (
|
||||
"k8s.io/component-base/version/verflag"
|
||||
zpagesfeatures "k8s.io/component-base/zpages/features"
|
||||
"k8s.io/component-base/zpages/flagz"
|
||||
"k8s.io/component-base/zpages/statusz"
|
||||
"k8s.io/klog/v2"
|
||||
schedulerserverconfig "k8s.io/kubernetes/cmd/kube-scheduler/app/config"
|
||||
"k8s.io/kubernetes/cmd/kube-scheduler/app/options"
|
||||
@ -371,6 +373,11 @@ func newEndpointsHandler(config *kubeschedulerconfig.KubeSchedulerConfiguration,
|
||||
flagz.Install(pathRecorderMux, kubeScheduler, flagReader)
|
||||
}
|
||||
}
|
||||
|
||||
if utilfeature.DefaultFeatureGate.Enabled(zpagesfeatures.ComponentStatusz) {
|
||||
statusz.Install(pathRecorderMux, kubeScheduler, statusz.NewRegistry(compatibility.DefaultBuildEffectiveVersion()))
|
||||
}
|
||||
|
||||
return pathRecorderMux
|
||||
}
|
||||
|
||||
|
@ -39,6 +39,8 @@ import (
|
||||
|
||||
func TestEndpointHandlers(t *testing.T) {
|
||||
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.ComponentFlagz, true)
|
||||
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.ComponentStatusz, true)
|
||||
|
||||
server, configStr, _, err := startTestAPIServer(t)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to start kube-apiserver server: %v", err)
|
||||
@ -128,6 +130,16 @@ func TestEndpointHandlers(t *testing.T) {
|
||||
`Warning: This endpoint is not meant to be machine parseable, ` +
|
||||
`has no formatting compatibility guarantees and is for debugging purposes only.`,
|
||||
},
|
||||
{
|
||||
name: "/statusz",
|
||||
path: "/statusz",
|
||||
requestHeader: map[string]string{"Accept": "text/plain"},
|
||||
wantResponseCode: http.StatusOK,
|
||||
wantResponseBodyRegx: `^\n` +
|
||||
`kube-scheduler statusz\n` +
|
||||
`Warning: This endpoint is not meant to be machine parseable, ` +
|
||||
`has no formatting compatibility guarantees and is for debugging purposes only.`,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
|
Loading…
Reference in New Issue
Block a user