Documentation ¶
Overview ¶
Package app makes it easy to create a kubelet server for various contexts.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ProbeNetworkPlugins ¶ added in v0.14.0
func ProbeNetworkPlugins() []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 RunKubelet ¶ added in v0.12.0
func RunKubelet(kcfg *KubeletConfig, builder KubeletBuilder)
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
Types ¶
type KubeletBootstrap ¶ added in v0.15.0
type KubeletBootstrap interface { BirthCry() StartGarbageCollection() ListenAndServe(net.IP, uint, *kubelet.TLSOptions, bool) ListenAndServeReadOnly(net.IP, uint) Run(<-chan kubelet.PodUpdate) RunOnce(<-chan kubelet.PodUpdate) ([]kubelet.RunPodResult, error) }
bootstrapping interface for kubelet, targets the initialization protocol
type KubeletBuilder ¶ added in v0.15.0
type KubeletBuilder func(kc *KubeletConfig) (KubeletBootstrap, *config.PodConfig, error)
create and initialize a Kubelet instance
type KubeletConfig ¶ added in v0.12.0
type KubeletConfig struct { KubeClient *client.Client DockerClient dockertools.DockerInterface CadvisorInterface cadvisor.Interface Address util.IP AllowPrivileged bool HostNetworkSources []string HostnameOverride string RootDirectory string ConfigFile string ManifestURL string FileCheckFrequency time.Duration HTTPCheckFrequency time.Duration Hostname string PodInfraContainerImage string SyncFrequency time.Duration RegistryPullQPS float64 RegistryBurst int MinimumGCAge time.Duration MaxPerPodContainerCount int MaxContainerCount int ClusterDomain string ClusterDNS util.IP EnableServer bool EnableDebuggingHandlers bool Port uint ReadOnlyPort uint Runonce bool MasterServiceNamespace string VolumePlugins []volume.VolumePlugin NetworkPlugins []network.NetworkPlugin NetworkPluginName string StreamingConnectionIdleTimeout time.Duration Recorder record.EventRecorder TLSOptions *kubelet.TLSOptions ImageGCPolicy kubelet.ImageGCPolicy Cloud cloudprovider.Interface NodeStatusUpdateFrequency time.Duration }
KubeletConfig is all of the parameters necessary for running a kubelet. TODO: This should probably be merged with KubeletServer. The extra object is a consequence of refactoring.
func SimpleKubelet ¶ added in v0.14.0
func SimpleKubelet(client *client.Client, dockerClient dockertools.DockerInterface, hostname, rootDir, manifestURL, address string, port uint, masterServiceNamespace string, volumePlugins []volume.VolumePlugin, tlsOptions *kubelet.TLSOptions, cadvisorInterface cadvisor.Interface, configFilePath string, cloud cloudprovider.Interface) *KubeletConfig
SimpleRunKubelet is a simple way to start a Kubelet talking to dockerEndpoint, using an API Client. Under the hood it calls RunKubelet (below)
type KubeletServer ¶ added in v0.12.0
type KubeletServer struct { Config string SyncFrequency time.Duration FileCheckFrequency time.Duration HTTPCheckFrequency time.Duration ManifestURL string EnableServer bool Address util.IP Port uint ReadOnlyPort uint HostnameOverride string PodInfraContainerImage string DockerEndpoint string RootDirectory string AllowPrivileged bool HostNetworkSources string RegistryPullQPS float64 RegistryBurst int RunOnce bool EnableDebuggingHandlers bool MinimumGCAge time.Duration MaxPerPodContainerCount int MaxContainerCount int AuthPath string CadvisorPort uint HealthzPort int HealthzBindAddress util.IP OOMScoreAdj int APIServerList util.StringList ClusterDomain string MasterServiceNamespace string ClusterDNS util.IP ReallyCrashForTesting bool StreamingConnectionIdleTimeout time.Duration ImageGCHighThresholdPercent int ImageGCLowThresholdPercent int NetworkPluginName string CloudProvider string CloudConfigFile string TLSCertFile string TLSPrivateKeyFile string CertDirectory string NodeStatusUpdateFrequency time.Duration }
KubeletServer encapsulates all of the parameters necessary for starting up a kubelet. These can either be set via command line or directly.
func NewKubeletServer ¶ added in v0.12.0
func NewKubeletServer() *KubeletServer
NewKubeletServer will create a new KubeletServer with default values.
func (*KubeletServer) AddFlags ¶ added in v0.12.0
func (s *KubeletServer) AddFlags(fs *pflag.FlagSet)
AddFlags adds flags for a specific KubeletServer to the specified FlagSet
func (*KubeletServer) Run ¶ added in v0.12.0
func (s *KubeletServer) Run(_ []string) error
Run runs the specified KubeletServer. This should never exit.