import "k8s.io/kubernetes/pkg/kubelet/server"
Package server contains functions related to serving Kubelet's external interface.
func ListenAndServeKubeletReadOnlyServer(host HostInterface, resourceAnalyzer stats.ResourceAnalyzer, address net.IP, port uint, enableCAdvisorJSONEndpoints bool)
ListenAndServeKubeletReadOnlyServer initializes a server to respond to HTTP network requests on the Kubelet.
func ListenAndServeKubeletServer( host HostInterface, resourceAnalyzer stats.ResourceAnalyzer, address net.IP, port uint, tlsOptions *TLSOptions, auth AuthInterface, enableCAdvisorJSONEndpoints, enableDebuggingHandlers, enableContentionProfiling, enableSystemLogHandler bool)
ListenAndServeKubeletServer initializes a server to respond to HTTP network requests on the Kubelet.
func ListenAndServePodResources(socket string, podsProvider podresources.PodsProvider, devicesProvider podresources.DevicesProvider, cpusProvider podresources.CPUsProvider)
ListenAndServePodResources initializes a gRPC server to serve the PodResources service
func NewNodeAuthorizerAttributesGetter(nodeName types.NodeName) authorizer.RequestAttributesGetter
NewNodeAuthorizerAttributesGetter creates a new authorizer.RequestAttributesGetter for the node.
type AuthInterface interface { authenticator.Request authorizer.RequestAttributesGetter authorizer.Authorizer }
AuthInterface contains all methods required by the auth filters
func NewKubeletAuth(authenticator authenticator.Request, authorizerAttributeGetter authorizer.RequestAttributesGetter, authorizer authorizer.Authorizer) AuthInterface
NewKubeletAuth returns a kubelet.AuthInterface composed of the given authenticator, attribute getter, and authorizer
type HostInterface interface { stats.Provider GetVersionInfo() (*cadvisorapi.VersionInfo, error) GetCachedMachineInfo() (*cadvisorapi.MachineInfo, error) GetRunningPods() ([]*v1.Pod, error) RunInContainer(name string, uid types.UID, container string, cmd []string) ([]byte, error) GetKubeletContainerLogs(ctx context.Context, podFullName, containerName string, logOptions *v1.PodLogOptions, stdout, stderr io.Writer) error ServeLogs(w http.ResponseWriter, req *http.Request) ResyncInterval() time.Duration GetHostname() string LatestLoopEntryTime() time.Time GetExec(podFullName string, podUID types.UID, containerName string, cmd []string, streamOpts remotecommandserver.Options) (*url.URL, error) GetAttach(podFullName string, podUID types.UID, containerName string, streamOpts remotecommandserver.Options) (*url.URL, error) GetPortForward(podName, podNamespace string, podUID types.UID, portForwardOpts portforward.V4Options) (*url.URL, error) }
HostInterface contains all the kubelet methods required by the server. For testability.
type KubeletAuth struct { // authenticator identifies the user for requests to the Kubelet API authenticator.Request // authorizerAttributeGetter builds authorization.Attributes for a request to the Kubelet API authorizer.RequestAttributesGetter // authorizer determines whether a given authorization.Attributes is allowed authorizer.Authorizer }
KubeletAuth implements AuthInterface
type Server struct {
// contains filtered or unexported fields
}
Server is a http.Handler which exposes kubelet functionality over HTTP.
func NewServer( host HostInterface, resourceAnalyzer stats.ResourceAnalyzer, auth AuthInterface, enableCAdvisorJSONEndpoints, enableDebuggingHandlers, enableContentionProfiling, enableSystemLogHandler bool) Server
NewServer initializes and configures a kubelet.Server object to handle HTTP requests.
InstallAuthFilter installs authentication filters with the restful Container.
InstallDebuggingDisabledHandlers registers the HTTP request patterns that provide better error message
InstallDebuggingHandlers registers the HTTP request patterns that serve logs or run commands/containers
InstallDefaultHandlers registers the default set of supported HTTP request patterns with the restful Container.
InstallSystemLogHandler registers the HTTP request patterns for logs endpoint.
ServeHTTP responds to HTTP requests on the Kubelet.
TLSOptions holds the TLS options.
Path | Synopsis |
---|---|
metrics | |
stats | Package stats handles exporting Kubelet and container stats. |
stats/testing |
Package server imports 58 packages (graph) and is imported by 105 packages. Updated 2021-01-04. Refresh now. Tools for package owners.