Documentation ¶
Overview ¶
Package nodecontroller contains code for syncing cloud instances with minion registry
Index ¶
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type NodeController ¶
type NodeController struct {
// contains filtered or unexported fields
}
func NewNodeController ¶
func NewNodeController( cloud cloudprovider.Interface, matchRE string, nodes []string, staticResources *api.NodeResources, kubeClient client.Interface, registerRetryCount int, podEvictionTimeout time.Duration, deletingPodsRateLimiter util.RateLimiter, nodeMonitorGracePeriod time.Duration, nodeStartupGracePeriod time.Duration, nodeMonitorPeriod time.Duration, clusterName string) *NodeController
NewNodeController returns a new node controller to sync instances from cloudprovider.
func (*NodeController) Run ¶
func (nc *NodeController) Run(period time.Duration, syncNodeList bool)
Run creates initial node list and start syncing instances from cloudprovider, if any. It also starts syncing or monitoring cluster node status.
- registerNodes() is called only once to register all initial nodes (from cloudprovider or from command line flag). To make cluster bootstrap faster, node controller populates node addresses.
- syncCloudNodes() is called periodically (if enabled) to sync instances from cloudprovider. Node created here will only have specs.
- monitorNodeStatus() is called periodically to incorporate the results of node status pushed from kubelet to master.
Click to show internal directories.
Click to hide internal directories.