启动篇-06 GenericAPIServer

GenericAPIServer

// APIExtensionsServer
c.GenericConfig.New("apiextensions-apiserver", delegationTarget)
// KubeAPIServer
c.GenericConfig.New("kube-apiserver", delegationTarget)
// AggregatorServer
genericServer, err := c.GenericConfig.New("kube-aggregator", delegationTarget)

New

vendor/k8s.io/apiserver/pkg/server/config.go
func (c completedConfig) New(name string, delegationTarget DelegationTarget) (*GenericAPIServer, error) {
	...
	apiServerHandler := NewAPIServerHandler(name, c.Serializer, handlerChainBuilder, delegationTarget.UnprotectedHandler())
	...
	installAPI(s, c.Config)
}

NewAPIServerHandler

vendor/k8s.io/apiserver/pkg/server/handler.go
func NewAPIServerHandler(name string, s runtime.NegotiatedSerializer, handlerChainBuilder HandlerChainBuilderFn, notFoundHandler http.Handler) *APIServerHandler {
	...
	restful.NewContainer()
	...
}

installAPI

最后更新于

这有帮助吗?