Documentation
¶
Overview ¶
Package config implements the pod configuration readers.
Package config implements the pod configuration readers.
Index ¶
- Constants
- func NewSourceApiserver(c clientset.Interface, nodeName types.NodeName, nodeHasSynced func() bool, ...)
- func NewSourceFile(path string, nodeName types.NodeName, period time.Duration, ...)
- func NewSourceURL(url string, header http.Header, nodeName types.NodeName, period time.Duration, ...)
- type ContainerRuntimeOptions
- type PodConfig
- type PodConfigNotificationMode
- type SourcesReady
- type SourcesReadyFn
Constants ¶
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.
const WaitForAPIServerSyncPeriod = 1 * time.Second
WaitForAPIServerSyncPeriod is the period between checks for the node list/watch initial sync
Variables ¶
This section is empty.
Functions ¶
func NewSourceApiserver ¶ added in v0.9.0
func NewSourceApiserver(c clientset.Interface, nodeName types.NodeName, nodeHasSynced func() bool, updates chan<- interface{})
NewSourceApiserver creates a config source that watches and pulls from the apiserver.
Types ¶
type ContainerRuntimeOptions ¶ added in v1.9.0
type ContainerRuntimeOptions struct {
// ContainerRuntime is the container runtime to use.
ContainerRuntime string
// RuntimeCgroups that container runtime is expected to be isolated in.
RuntimeCgroups string
// 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
// 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
// ImageCredentialProviderConfigFile is the path to the credential provider plugin config file.
// This config file is a specification for what credential providers are enabled and invokved
// by the kubelet. The plugin config should contain information about what plugin binary
// to execute and what container images the plugin should be called for.
// +optional
ImageCredentialProviderConfigFile string
// ImageCredentialProviderBinDir is the path to the directory where credential provider plugin
// binaries exist. The name of each plugin binary is expected to match the name of the plugin
// specified in imageCredentialProviderConfigFile.
// +optional
ImageCredentialProviderBinDir string
}
ContainerRuntimeOptions defines options for the container runtime.
func (*ContainerRuntimeOptions) AddFlags ¶ added in v1.9.0
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) SeenAllSources ¶ added in v0.8.0
SeenAllSources returns true if seenSources contains all sources in the config, and also this config has received a SET message from each source.
type PodConfigNotificationMode ¶
type PodConfigNotificationMode int
PodConfigNotificationMode describes how changes are sent to the update channel.
const ( // PodConfigNotificationUnknown is the default value for // PodConfigNotificationMode when uninitialized. PodConfigNotificationUnknown PodConfigNotificationMode = 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 )
type SourcesReady ¶ added in v1.3.0
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 ¶ added in v1.3.0
func NewSourcesReady(sourcesReadyFn SourcesReadyFn) SourcesReady
NewSourcesReady returns a SourcesReady with the specified function.
type SourcesReadyFn ¶ added in v1.3.0
SourcesReadyFn is function that returns true if the specified sources have been seen.