Back to

package app

Latest Go to latest
Published: Jun 26, 2020 | License: Apache-2.0 | Module:


Package app makes it easy to create a kubelet server for various contexts.


func BootstrapKubeletConfigController

func BootstrapKubeletConfigController(dynamicConfigDir string, transform dynamickubeletconfig.TransformFunc) (*kubeletconfiginternal.KubeletConfiguration, *dynamickubeletconfig.Controller, error)

BootstrapKubeletConfigController constructs and bootstrap a configuration controller

func BuildAuth

func BuildAuth(nodeName types.NodeName, client clientset.Interface, config kubeletconfig.KubeletConfiguration) (server.AuthInterface, func(<-chan struct{}), error)

BuildAuth creates an authenticator, an authorizer, and a matching authorizer attributes getter compatible with the kubelet's needs It returns AuthInterface, a run method to start internal controllers (like cert reloading) and error.

func BuildAuthn

func BuildAuthn(client authenticationclient.TokenReviewInterface, authn kubeletconfig.KubeletAuthentication) (authenticator.Request, func(<-chan struct{}), error)

BuildAuthn creates an authenticator compatible with the kubelet's needs

func BuildAuthz

func BuildAuthz(client authorizationclient.SubjectAccessReviewInterface, authz kubeletconfig.KubeletAuthorization) (authorizer.Authorizer, error)

BuildAuthz creates an authorizer compatible with the kubelet's needs

func GetDynamicPluginProber

func GetDynamicPluginProber(pluginDir string, runner exec.Interface) volume.DynamicPluginProber

GetDynamicPluginProber gets the probers of dynamically discoverable plugins for kubelet. Currently only Flexvolume plugins are dynamically discoverable.

func InitializeTLS

func InitializeTLS(kf *options.KubeletFlags, kc *kubeletconfiginternal.KubeletConfiguration) (*server.TLSOptions, error)

InitializeTLS checks for a configured TLSCertFile and TLSPrivateKeyFile: if unspecified a new self-signed certificate and key file are generated. Returns a configured server.TLSOptions object.

func NewKubeletCommand

func NewKubeletCommand() *cobra.Command

NewKubeletCommand creates a *cobra.Command object with default parameters

func ProbeVolumePlugins

func ProbeVolumePlugins(featureGate featuregate.FeatureGate) ([]volume.VolumePlugin, error)

ProbeVolumePlugins collects all volume plugins into an easy to use list.

func Run

func Run(s *options.KubeletServer, kubeDeps *kubelet.Dependencies, featureGate featuregate.FeatureGate, stopCh <-chan struct{}) error

Run runs the specified KubeletServer with the given Dependencies. This should never exit. The kubeDeps argument may be nil - if so, it is initialized from the settings on KubeletServer. Otherwise, the caller is assumed to have set up the Dependencies object and a default one will not be generated.

func RunDockershim

func RunDockershim(f *options.KubeletFlags, c *kubeletconfiginternal.KubeletConfiguration, stopCh <-chan struct{}) error

RunDockershim only starts the dockershim in current process. This is only used for cri validate testing purpose TODO(random-liu): Move this to a separate binary.

func RunKubelet

func RunKubelet(kubeServer *options.KubeletServer, kubeDeps *kubelet.Dependencies, runOnce bool) error

RunKubelet is responsible for setting up and running a kubelet. It is used in three different applications:

1 Integration tests
2 Kubelet binary
3 Standalone 'kubernetes' binary

Eventually, #2 will be replaced with instances of #3

func UnsecuredDependencies

func UnsecuredDependencies(s *options.KubeletServer, featureGate featuregate.FeatureGate) (*kubelet.Dependencies, error)

UnsecuredDependencies returns a Dependencies suitable for being run, or an error if the server setup is not valid. It will not start any background processes, and does not include authentication/authorization

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
f or F : Jump to identifier