mirror of
https://github.com/kubernetes/kubernetes.git
synced 2026-02-03 20:40:26 -05:00
Merge pull request #135746 from richabanker/move-flagz
Move apiserver's flagz installation to genericapiserver alongside statusz
This commit is contained in:
commit
c4f5cea36b
4 changed files with 15 additions and 11 deletions
|
|
@ -32,12 +32,10 @@ import (
|
|||
genericregistry "k8s.io/apiserver/pkg/registry/generic"
|
||||
genericapiserver "k8s.io/apiserver/pkg/server"
|
||||
"k8s.io/apiserver/pkg/server/dynamiccertificates"
|
||||
"k8s.io/apiserver/pkg/server/flagz"
|
||||
serverstorage "k8s.io/apiserver/pkg/server/storage"
|
||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||
clientgoinformers "k8s.io/client-go/informers"
|
||||
"k8s.io/client-go/kubernetes"
|
||||
zpagesfeatures "k8s.io/component-base/zpages/features"
|
||||
"k8s.io/component-helpers/apimachinery/lease"
|
||||
"k8s.io/klog/v2"
|
||||
"k8s.io/utils/clock"
|
||||
|
|
@ -154,12 +152,6 @@ func (c completedConfig) New(name string, delegationTarget genericapiserver.Dele
|
|||
return nil, fmt.Errorf("failed to get listener address: %w", err)
|
||||
}
|
||||
|
||||
if utilfeature.DefaultFeatureGate.Enabled(zpagesfeatures.ComponentFlagz) {
|
||||
if c.Generic.Flagz != nil {
|
||||
flagz.Install(s.GenericAPIServer.Handler.NonGoRestfulMux, name, c.Generic.Flagz)
|
||||
}
|
||||
}
|
||||
|
||||
if utilfeature.DefaultFeatureGate.Enabled(apiserverfeatures.CoordinatedLeaderElection) {
|
||||
leaseInformer := s.VersionedInformers.Coordination().V1().Leases()
|
||||
lcInformer := s.VersionedInformers.Coordination().V1beta1().LeaseCandidates()
|
||||
|
|
|
|||
|
|
@ -830,6 +830,7 @@ func (c completedConfig) New(name string, delegationTarget DelegationTarget) (*G
|
|||
UnprotectedDebugSocket: debugSocket,
|
||||
|
||||
listedPathProvider: apiServerHandler,
|
||||
Flagz: c.Flagz,
|
||||
|
||||
minRequestTimeout: time.Duration(c.MinRequestTimeout) * time.Second,
|
||||
ShutdownTimeout: c.RequestTimeout,
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ import (
|
|||
discoveryendpoint "k8s.io/apiserver/pkg/endpoints/discovery/aggregated"
|
||||
"k8s.io/apiserver/pkg/features"
|
||||
"k8s.io/apiserver/pkg/registry/rest"
|
||||
"k8s.io/apiserver/pkg/server/flagz"
|
||||
"k8s.io/apiserver/pkg/server/healthz"
|
||||
"k8s.io/apiserver/pkg/server/routes"
|
||||
"k8s.io/apiserver/pkg/server/statusz"
|
||||
|
|
@ -113,6 +114,9 @@ type GenericAPIServer struct {
|
|||
// LoopbackClientConfig is a config for a privileged loopback connection to the API server
|
||||
LoopbackClientConfig *restclient.Config
|
||||
|
||||
// Flagz is used to set up flagz endpoint.
|
||||
Flagz flagz.Reader
|
||||
|
||||
// minRequestTimeout is how short the request timeout can be. This is used to build the RESTHandler
|
||||
minRequestTimeout time.Duration
|
||||
|
||||
|
|
@ -463,8 +467,15 @@ func (s *GenericAPIServer) PrepareRun() preparedGenericAPIServer {
|
|||
}
|
||||
s.installReadyz()
|
||||
|
||||
componentName := "apiserver"
|
||||
if utilfeature.DefaultFeatureGate.Enabled(zpagesfeatures.ComponentStatusz) {
|
||||
statusz.Install(s.Handler.NonGoRestfulMux, "apiserver", statusz.NewRegistry(s.EffectiveVersion, statusz.WithListedPaths(s.ListedPaths())))
|
||||
statusz.Install(s.Handler.NonGoRestfulMux, componentName, statusz.NewRegistry(s.EffectiveVersion, statusz.WithListedPaths(s.ListedPaths())))
|
||||
}
|
||||
|
||||
if utilfeature.DefaultFeatureGate.Enabled(zpagesfeatures.ComponentFlagz) {
|
||||
if s.Flagz != nil {
|
||||
flagz.Install(s.Handler.NonGoRestfulMux, componentName, s.Flagz)
|
||||
}
|
||||
}
|
||||
|
||||
return preparedGenericAPIServer{s}
|
||||
|
|
|
|||
|
|
@ -149,14 +149,14 @@ func TestFlagz(t *testing.T) {
|
|||
t.Fatalf("Unexpected error: %v", err)
|
||||
}
|
||||
|
||||
wantBodyStr := "kube-apiserver flagz\nWarning: This endpoint is not meant to be machine parseable"
|
||||
wantBodyStr := "apiserver flagz\nWarning: This endpoint is not meant to be machine parseable"
|
||||
wantBodyJSON := &flagzv1alpha1.Flagz{
|
||||
TypeMeta: metav1.TypeMeta{
|
||||
Kind: "Flagz",
|
||||
APIVersion: "config.k8s.io/v1alpha1",
|
||||
},
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "kube-apiserver",
|
||||
Name: "apiserver",
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue