package config
import "k8s.io/kubernetes/pkg/kubelet/config"
Package config implements the pod configuration readers.
Package config implements the pod configuration readers.
Index ¶
- Constants
- func NewSourceApiserver(c clientset.Interface, nodeName types.NodeName, updates chan<- interface{})
- func NewSourceFile(path string, nodeName types.NodeName, period time.Duration, updates chan<- interface{})
- func NewSourceURL(url string, header http.Header, nodeName types.NodeName, period time.Duration, updates chan<- interface{})
- type ContainerRuntimeOptions
- type PodConfig
- func NewPodConfig(mode PodConfigNotificationMode, recorder record.EventRecorder) *PodConfig
- func (c *PodConfig) Channel(source string) chan<- interface{}
- func (c *PodConfig) Restore(path string, updates chan<- interface{}) error
- func (c *PodConfig) SeenAllSources(seenSources sets.String) bool
- func (c *PodConfig) Sync()
- func (c *PodConfig) Updates() <-chan kubetypes.PodUpdate
- type PodConfigNotificationMode
- type SourcesReady
- type SourcesReadyFn
Constants ¶
const ( // PodConfigNotificationUnknown is the default value for // PodConfigNotificationMode when uninitialized. PodConfigNotificationUnknown = iota // PodConfigNotificationSnapshot delivers the full configuration as a SET whenever // any change occurs. PodConfigNotificationSnapshot // PodConfigNotificationSnapshotAndUpdates delivers an UPDATE and DELETE message whenever pods are // changed, and a SET message if there are any additions or removals. PodConfigNotificationSnapshotAndUpdates // PodConfigNotificationIncremental delivers ADD, UPDATE, DELETE, REMOVE, RECONCILE to the update channel. PodConfigNotificationIncremental )
const ( DefaultKubeletPodsDirName = "pods" DefaultKubeletVolumesDirName = "volumes" DefaultKubeletVolumeSubpathsDirName = "volume-subpaths" DefaultKubeletVolumeDevicesDirName = "volumeDevices" DefaultKubeletPluginsDirName = "plugins" DefaultKubeletPluginsRegistrationDirName = "plugins_registry" DefaultKubeletContainersDirName = "containers" DefaultKubeletPluginContainersDirName = "plugin-containers" DefaultKubeletPodResourcesDirName = "pod-resources" KubeletPluginsDirSELinuxLabel = "system_u:object_r:container_file_t:s0" )
Defines sane defaults for the kubelet config.
Functions ¶
func NewSourceApiserver ¶
NewSourceApiserver creates a config source that watches and pulls from the apiserver.
func NewSourceFile ¶
func NewSourceFile(path string, nodeName types.NodeName, period time.Duration, updates chan<- interface{})
NewSourceFile watches a config file for changes.
func NewSourceURL ¶
func NewSourceURL(url string, header http.Header, nodeName types.NodeName, period time.Duration, updates chan<- interface{})
NewSourceURL specifies the URL where to read the Pod configuration from, then watches it for changes.
Types ¶
type ContainerRuntimeOptions ¶
type ContainerRuntimeOptions struct {
// ContainerRuntime is the container runtime to use.
ContainerRuntime string
// RuntimeCgroups that container runtime is expected to be isolated in.
RuntimeCgroups string
// RedirectContainerStreaming enables container streaming redirect.
// When RedirectContainerStreaming is false, kubelet will proxy container streaming data
// between apiserver and container runtime. This approach is more secure, but the proxy
// introduces some overhead.
// When RedirectContainerStreaming is true, kubelet will return an http redirect to apiserver,
// and apiserver will access container runtime directly. This approach is more performant,
// but less secure because the connection between apiserver and container runtime is not
// authenticated.
RedirectContainerStreaming bool
// DockershimRootDirectory is the path to the dockershim root directory. Defaults to
// /var/lib/dockershim if unset. Exposed for integration testing (e.g. in OpenShift).
DockershimRootDirectory string
// Enable dockershim only mode.
ExperimentalDockershim bool
// PodSandboxImage is the image whose network/ipc namespaces
// containers in each pod will use.
PodSandboxImage string
// DockerEndpoint is the path to the docker endpoint to communicate with.
DockerEndpoint string
// If no pulling progress is made before the deadline imagePullProgressDeadline,
// the image pulling will be cancelled. Defaults to 1m0s.
// +optional
ImagePullProgressDeadline metav1.Duration
// networkPluginName is the name of the network plugin to be invoked for
// various events in kubelet/pod lifecycle
NetworkPluginName string
// NetworkPluginMTU is the MTU to be passed to the network plugin,
// and overrides the default MTU for cases where it cannot be automatically
// computed (such as IPSEC).
NetworkPluginMTU int32
// CNIConfDir is the full path of the directory in which to search for
// CNI config files
CNIConfDir string
// CNIBinDir is the full path of the directory in which to search for
// CNI plugin binaries
CNIBinDir string
// CNICacheDir is the full path of the directory in which CNI should store
// cache files
CNICacheDir string
}
ContainerRuntimeOptions defines options for the container runtime.
func (*ContainerRuntimeOptions) AddFlags ¶
func (s *ContainerRuntimeOptions) AddFlags(fs *pflag.FlagSet)
AddFlags adds flags to the container runtime, according to ContainerRuntimeOptions.
type PodConfig ¶
type PodConfig struct {
// contains filtered or unexported fields
}
PodConfig is a configuration mux that merges many sources of pod configuration into a single consistent structure, and then delivers incremental change notifications to listeners in order.
func NewPodConfig ¶
func NewPodConfig(mode PodConfigNotificationMode, recorder record.EventRecorder) *PodConfig
NewPodConfig creates an object that can merge many configuration sources into a stream of normalized updates to a pod configuration.
func (*PodConfig) Channel ¶
Channel creates or returns a config source channel. The channel only accepts PodUpdates
func (*PodConfig) Restore ¶
Restore restores pods from the checkpoint path, *once*
func (*PodConfig) SeenAllSources ¶
SeenAllSources returns true if seenSources contains all sources in the config, and also this config has received a SET message from each source.
func (*PodConfig) Sync ¶
func (c *PodConfig) Sync()
Sync requests the full configuration be delivered to the update channel.
func (*PodConfig) Updates ¶
Updates returns a channel of updates to the configuration, properly denormalized.
type PodConfigNotificationMode ¶
type PodConfigNotificationMode int
PodConfigNotificationMode describes how changes are sent to the update channel.
type SourcesReady ¶
type SourcesReady interface {
// AddSource adds the specified source to the set of sources managed.
AddSource(source string)
// AllReady returns true if the currently configured sources have all been seen.
AllReady() bool
}
SourcesReady tracks the set of configured sources seen by the kubelet.
func NewSourcesReady ¶
func NewSourcesReady(sourcesReadyFn SourcesReadyFn) SourcesReady
NewSourcesReady returns a SourcesReady with the specified function.
type SourcesReadyFn ¶
SourcesReadyFn is function that returns true if the specified sources have been seen.
Source Files ¶
apiserver.go common.go config.go defaults.go doc.go file.go file_unsupported.go flags.go http.go sources.go
- Version
- v1.16.8
- Published
- Mar 12, 2020
- Platform
- darwin/amd64
- Imports
- 40 packages
- Last checked
- 27 seconds ago –
Tools for package owners.