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