Documentation ¶
Overview ¶
Package app makes it easy to create a kubelet server for various contexts.
Index ¶
- func BootstrapKubeletConfigController(defaultConfig *kubeletconfiginternal.KubeletConfiguration, ...) (*kubeletconfiginternal.KubeletConfiguration, *kubeletconfig.Controller, error)
- func BuildAuth(nodeName types.NodeName, client clientset.Interface, ...) (server.AuthInterface, error)
- func BuildAuthn(client authenticationclient.TokenReviewInterface, ...) (authenticator.Request, error)
- func BuildAuthz(client authorizationclient.SubjectAccessReviewInterface, ...) (authorizer.Authorizer, error)
- func CreateAPIServerClientConfig(s *options.KubeletServer) (*restclient.Config, error)
- func CreateAndInitKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration, ...) (k kubelet.Bootstrap, err error)
- func GetDynamicPluginProber(pluginDir string) volume.DynamicPluginProber
- func InitializeTLS(kf *options.KubeletFlags, kc *kubeletconfiginternal.KubeletConfiguration) (*server.TLSOptions, error)
- func NewKubeletCommand() *cobra.Command
- func ProbeNetworkPlugins(pluginDir, cniConfDir, cniBinDir string) []network.NetworkPlugin
- func ProbeVolumePlugins() []volume.VolumePlugin
- func Run(s *options.KubeletServer, kubeDeps *kubelet.Dependencies) error
- func RunDockershim(c *kubeletconfiginternal.KubeletConfiguration, ...) error
- func RunKubelet(kubeFlags *options.KubeletFlags, ...) error
- func UnsecuredDependencies(s *options.KubeletServer) (*kubelet.Dependencies, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BootstrapKubeletConfigController ¶
func BootstrapKubeletConfigController(defaultConfig *kubeletconfiginternal.KubeletConfiguration, initConfigDirFlag flag.StringFlag, dynamicConfigDirFlag flag.StringFlag) (*kubeletconfiginternal.KubeletConfiguration, *kubeletconfig.Controller, error)
BootstrapKubeletConfigController constructs and bootstrap a configuration controller
func BuildAuth ¶
func BuildAuth(nodeName types.NodeName, client clientset.Interface, config kubeletconfig.KubeletConfiguration) (server.AuthInterface, error)
BuildAuth creates an authenticator, an authorizer, and a matching authorizer attributes getter compatible with the kubelet's needs
func BuildAuthn ¶
func BuildAuthn(client authenticationclient.TokenReviewInterface, authn kubeletconfig.KubeletAuthentication) (authenticator.Request, 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 CreateAPIServerClientConfig ¶
func CreateAPIServerClientConfig(s *options.KubeletServer) (*restclient.Config, error)
CreateAPIServerClientConfig generates a client.Config from command line flags via createClientConfig and then injects chaos into the configuration via addChaosToClientConfig. This func is exported to support integration with third party kubelet extensions (e.g. kubernetes-mesos).
func CreateAndInitKubelet ¶
func CreateAndInitKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration, kubeDeps *kubelet.Dependencies, crOptions *options.ContainerRuntimeOptions, hostnameOverride, nodeIP, providerID, cloudProvider, certDirectory, rootDirectory string) (k kubelet.Bootstrap, err error)
func GetDynamicPluginProber ¶
func GetDynamicPluginProber(pluginDir string) 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 ¶
NewKubeletCommand creates a *cobra.Command object with default parameters
func ProbeNetworkPlugins ¶
func ProbeNetworkPlugins(pluginDir, cniConfDir, cniBinDir string) []network.NetworkPlugin
ProbeNetworkPlugins collects all compiled-in plugins
func ProbeVolumePlugins ¶
func ProbeVolumePlugins() []volume.VolumePlugin
ProbeVolumePlugins collects all volume plugins into an easy to use list.
func Run ¶
func Run(s *options.KubeletServer, kubeDeps *kubelet.Dependencies) 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(c *kubeletconfiginternal.KubeletConfiguration, r *options.ContainerRuntimeOptions) 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(kubeFlags *options.KubeletFlags, kubeCfg *kubeletconfiginternal.KubeletConfiguration, 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) (*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
Types ¶
This section is empty.