 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package server contains functions related to serving Kubelet's external interface.
Index ¶
- func ListenAndServeKubeletReadOnlyServer(host HostInterface, resourceAnalyzer stats.ResourceAnalyzer, address net.IP, ...)
- func ListenAndServeKubeletServer(host HostInterface, resourceAnalyzer stats.ResourceAnalyzer, address net.IP, ...)
- func NewNodeAuthorizerAttributesGetter(nodeName types.NodeName) authorizer.RequestAttributesGetter
- type AuthInterface
- type HostInterface
- type KubeletAuth
- type Server
- type TLSOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ListenAndServeKubeletReadOnlyServer ¶ added in v1.2.0
func ListenAndServeKubeletReadOnlyServer(host HostInterface, resourceAnalyzer stats.ResourceAnalyzer, address net.IP, port uint, runtime kubecontainer.Runtime)
ListenAndServeKubeletReadOnlyServer initializes a server to respond to HTTP network requests on the Kubelet.
func ListenAndServeKubeletServer ¶ added in v1.2.0
func ListenAndServeKubeletServer( host HostInterface, resourceAnalyzer stats.ResourceAnalyzer, address net.IP, port uint, tlsOptions *TLSOptions, auth AuthInterface, enableDebuggingHandlers, enableContentionProfiling bool, runtime kubecontainer.Runtime, criHandler http.Handler)
ListenAndServeKubeletServer initializes a server to respond to HTTP network requests on the Kubelet.
func NewNodeAuthorizerAttributesGetter ¶ added in v1.5.0
func NewNodeAuthorizerAttributesGetter(nodeName types.NodeName) authorizer.RequestAttributesGetter
Types ¶
type AuthInterface ¶ added in v1.2.0
type AuthInterface interface {
	authenticator.Request
	authorizer.RequestAttributesGetter
	authorizer.Authorizer
}
    AuthInterface contains all methods required by the auth filters
func NewKubeletAuth ¶ added in v1.2.0
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 ¶ added in v1.2.0
type HostInterface interface {
	GetContainerInfo(podFullName string, uid types.UID, containerName string, req *cadvisorapi.ContainerInfoRequest) (*cadvisorapi.ContainerInfo, error)
	GetContainerInfoV2(name string, options cadvisorapiv2.RequestOptions) (map[string]cadvisorapiv2.ContainerInfo, error)
	GetRawContainerInfo(containerName string, req *cadvisorapi.ContainerInfoRequest, subcontainers bool) (map[string]*cadvisorapi.ContainerInfo, error)
	GetCachedMachineInfo() (*cadvisorapi.MachineInfo, error)
	GetPods() []*v1.Pod
	GetRunningPods() ([]*v1.Pod, error)
	GetPodByName(namespace, name string) (*v1.Pod, bool)
	RunInContainer(name string, uid types.UID, container string, cmd []string) ([]byte, error)
	ExecInContainer(name string, uid types.UID, container string, cmd []string, in io.Reader, out, err io.WriteCloser, tty bool, resize <-chan term.Size, timeout time.Duration) error
	AttachContainer(name string, uid types.UID, container string, in io.Reader, out, err io.WriteCloser, tty bool, resize <-chan term.Size) error
	GetKubeletContainerLogs(podFullName, containerName string, logOptions *v1.PodLogOptions, stdout, stderr io.Writer) error
	ServeLogs(w http.ResponseWriter, req *http.Request)
	PortForward(name string, uid types.UID, port int32, stream io.ReadWriteCloser) error
	StreamingConnectionIdleTimeout() time.Duration
	ResyncInterval() time.Duration
	GetHostname() string
	GetNode() (*v1.Node, error)
	GetNodeConfig() cm.NodeConfig
	LatestLoopEntryTime() time.Time
	ImagesFsInfo() (cadvisorapiv2.FsInfo, error)
	RootFsInfo() (cadvisorapiv2.FsInfo, error)
	ListVolumesForPod(podUID types.UID) (map[string]volume.Volume, bool)
	GetExec(podFullName string, podUID types.UID, containerName string, cmd []string, streamOpts remotecommand.Options) (*url.URL, error)
	GetAttach(podFullName string, podUID types.UID, containerName string, streamOpts remotecommand.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 testablitiy.
type KubeletAuth ¶ added in v1.2.0
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 ¶ added in v1.2.0
type Server struct {
	// contains filtered or unexported fields
}
    Server is a http.Handler which exposes kubelet functionality over HTTP.
func NewServer ¶ added in v1.2.0
func NewServer( host HostInterface, resourceAnalyzer stats.ResourceAnalyzer, auth AuthInterface, enableDebuggingHandlers, enableContentionProfiling bool, runtime kubecontainer.Runtime, criHandler http.Handler) Server
NewServer initializes and configures a kubelet.Server object to handle HTTP requests.
func (*Server) InstallAuthFilter ¶ added in v1.2.0
func (s *Server) InstallAuthFilter()
InstallAuthFilter installs authentication filters with the restful Container.
func (*Server) InstallDebuggingHandlers ¶ added in v1.2.0
InstallDebuggingHandlers registers the HTTP request patterns that serve logs or run commands/containers
func (*Server) InstallDefaultHandlers ¶ added in v1.2.0
func (s *Server) InstallDefaultHandlers()
InstallDefaultHandlers registers the default set of supported HTTP request patterns with the restful Container.
       Directories
      ¶
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| package portforward contains server-side logic for handling port forwarding requests. | package portforward contains server-side logic for handling port forwarding requests. | 
| package remotecommand contains functions related to executing commands in and attaching to pods. | package remotecommand contains functions related to executing commands in and attaching to pods. | 
| Package stats handles exporting Kubelet and container stats. | Package stats handles exporting Kubelet and container stats. |