Help us shape the future of Go! Take the 2026 Go Developer Survey

controller

package
v0.12.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 11, 2015 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package controller contains code for syncing cloud instances with minion registry

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrRegistration   = errors.New("unable to register all nodes.")
	ErrQueryIPAddress = errors.New("unable to query IP address.")
	ErrCloudInstance  = errors.New("cloud provider doesn't support instances.")
)

Functions

This section is empty.

Types

type NodeController added in v0.9.0

type NodeController struct {
	// contains filtered or unexported fields
}

func NewNodeController added in v0.9.0

func NewNodeController(
	cloud cloudprovider.Interface,
	matchRE string,
	nodes []string,
	staticResources *api.NodeResources,
	kubeClient client.Interface,
	kubeletClient client.KubeletHealthChecker,
	registerRetryCount int,
	podEvictionTimeout time.Duration) *NodeController

NewNodeController returns a new node controller to sync instances from cloudprovider. TODO: NodeController health checker should be a separate package other than kubeletclient, node health check != kubelet health check.

func (*NodeController) CloudNodes added in v0.10.0

func (s *NodeController) CloudNodes() (*api.NodeList, error)

CloudNodes constructs and returns api.NodeList from cloudprovider. If error occurs, an empty NodeList will be returned with a non-nil error info.

func (*NodeController) DoCheck added in v0.10.0

func (s *NodeController) DoCheck(node *api.Node) []api.NodeCondition

DoCheck performs health checking for given node.

func (*NodeController) DoChecks added in v0.10.0

func (s *NodeController) DoChecks(nodes *api.NodeList) *api.NodeList

DoChecks performs health checking for given list of nodes.

func (*NodeController) EvictTimeoutedPods added in v0.12.0

func (s *NodeController) EvictTimeoutedPods() error

EvictTimeoutedPods verifies if nodes are reachable by checking the time of last probe and deletes pods from not reachable nodes.

func (*NodeController) PopulateIPs added in v0.10.0

func (s *NodeController) PopulateIPs(nodes *api.NodeList) (*api.NodeList, error)

PopulateIPs queries IPs for given list of nodes.

func (*NodeController) RegisterNodes added in v0.10.0

func (s *NodeController) RegisterNodes(nodes *api.NodeList, retryCount int, retryInterval time.Duration) error

RegisterNodes registers the given list of nodes, it keeps retrying for `retryCount` times.

func (*NodeController) Run added in v0.9.0

func (s *NodeController) Run(period time.Duration, syncNodeList, syncNodeStatus bool)

Run creates initial node list and start syncing instances from cloudprovider if any. It also starts syncing cluster node status.

func (*NodeController) StaticNodes added in v0.10.0

func (s *NodeController) StaticNodes() (*api.NodeList, error)

StaticNodes constructs and returns api.NodeList for static nodes. If error occurs, an empty NodeList will be returned with a non-nil error info.

func (*NodeController) SyncCloud added in v0.9.0

func (s *NodeController) SyncCloud() error

SyncCloud synchronizes the list of instances from cloudprovider to master server.

func (*NodeController) SyncNodeStatus added in v0.10.0

func (s *NodeController) SyncNodeStatus() error

SyncNodeStatus synchronizes cluster nodes status to master server.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL