package
0.0.0-20210929134506-8fd29ad8f0d9
Repository: https://github.com/kok-stack/native-kubelet.git
Documentation: pkg.go.dev
# Functions
NewNaiveNodeProvider creates a new NaiveNodeProviderV2 You must use this to create a NaiveNodeProviderV2 if you want to be able to send node status updates to the node controller.
NewNodeController creates a new node controller.
NewPodController creates a new pod controller with the provided config.
WithNodeEnableLeaseV1 enables support for v1 leases.
WithNodeEnableLeaseV1WithRenewInterval enables support for v1 leases, and sets a specific renew interval, as opposed to the standard multiplier specified by DefaultRenewIntervalFraction.
WithNodePingInterval sets the interval between checking for node statuses via Ping() If node leases are not supported (or not enabled), this is the frequency with which the node status will be updated in Kubernetes.
WithNodePingTimeout limits the amount of time that the virtual kubelet will wait for the node provider to respond to the ping callback.
WithNodeStatusUpdateErrorHandler adds an error handler for cases where there is an error when updating the node status.
WithNodeStatusUpdateInterval sets the interval for updating node status This is only used when leases are supported and only for updating the actual node status, not the node lease.
# Constants
DefaultLeaseDuration is from upstream kubelet, where the default lease duration is 40 seconds.
The default intervals used for lease and status updates.
DefaultRenewIntervalFraction is the fraction of lease duration to renew the lease.
The default intervals used for lease and status updates.
# Variables
ErrConflictingLeaseControllerConfiguration is returned when the lease controller related options have been specified multiple times.
# Structs
NaiveNodeProvider is a basic node provider that only uses the passed in context on `Ping` to determine if the node is healthy.
NaiveNodeProviderV2 is like NaiveNodeProvider except it supports accepting node status updates.
NodeController deals with creating and managing a node object in Kubernetes.
PodController is the controller implementation for Pod resources.
PodControllerConfig is used to configure a new PodController.
# Interfaces
NodeProvider is the interface used for registering a node and updating its status in Kubernetes.
PodLifecycleHandler defines the interface used by the PodController to react to new and changed pods scheduled to the node that is being managed.
PodNotifier is used as an extension to PodLifecycleHandler to support async updates of pod statuses.
# Type aliases
ErrorHandler is a type of function used to allow callbacks for handling errors.
NodeControllerOpt are the functional options used for configuring a node.
PodEventFilterFunc is used to filter pod events received from Kubernetes.