mesos

package
v0.0.0-...-112d741 Latest Latest
Warning

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

Go to latest
Published: Jul 11, 2017 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultMesosMaster       = "localhost:5050"
	DefaultHttpClientTimeout = time.Duration(10) * time.Second
	DefaultStateCacheTTL     = time.Duration(5) * time.Second
)
View Source
const (
	ProviderName = "mesos"

	// KubernetesExecutorName is shared between contrib/mesos and Mesos cloud provider.
	// Because cloud provider -> contrib dependencies are forbidden, this constant
	// is defined here, not in contrib.
	KubernetesExecutorName = "Kubelet-Executor"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	MesosMaster            string   `gcfg:"mesos-master"`
	MesosHttpClientTimeout Duration `gcfg:"http-client-timeout"`
	StateCacheTTL          Duration `gcfg:"state-cache-ttl"`
}

type ConfigWrapper

type ConfigWrapper struct {
	Mesos_Cloud Config
}

type Duration

type Duration struct {
	Duration time.Duration `gcfg:"duration"`
}

func (*Duration) UnmarshalText

func (d *Duration) UnmarshalText(data []byte) error

type MesosCloud

type MesosCloud struct {
	// contains filtered or unexported fields
}
var (
	CloudProvider *MesosCloud
)

func (*MesosCloud) AddSSHKeyToAllInstances

func (c *MesosCloud) AddSSHKeyToAllInstances(user string, keyData []byte) error

func (*MesosCloud) Clusters

func (c *MesosCloud) Clusters() (cloudprovider.Clusters, bool)

Clusters returns a copy of the Mesos cloud Clusters implementation. Mesos does not provide support for multiple clusters.

func (*MesosCloud) CurrentNodeName

func (c *MesosCloud) CurrentNodeName(hostname string) (types.NodeName, error)

Implementation of Instances.CurrentNodeName

func (*MesosCloud) ExternalID

func (c *MesosCloud) ExternalID(nodeName types.NodeName) (string, error)

ExternalID returns the cloud provider ID of the instance with the specified nodeName (deprecated).

func (*MesosCloud) Initialize

func (c *MesosCloud) Initialize(clientBuilder controller.ControllerClientBuilder)

Initialize passes a Kubernetes clientBuilder interface to the cloud provider

func (*MesosCloud) InstanceID

func (c *MesosCloud) InstanceID(nodeName types.NodeName) (string, error)

InstanceID returns the cloud provider ID of the instance with the specified nodeName.

func (*MesosCloud) InstanceType

func (c *MesosCloud) InstanceType(nodeName types.NodeName) (string, error)

InstanceType returns the type of the instance with the specified nodeName.

func (*MesosCloud) InstanceTypeByProviderID

func (c *MesosCloud) InstanceTypeByProviderID(providerID string) (string, error)

InstanceTypeByProviderID returns the cloudprovider instance type of the node with the specified unique providerID This method will not be called from the node that is requesting this ID. i.e. metadata service and other local methods cannot be used here

func (*MesosCloud) Instances

func (c *MesosCloud) Instances() (cloudprovider.Instances, bool)

Instances returns a copy of the Mesos cloud Instances implementation. Mesos natively provides minimal cloud-type resources. More robust cloud support requires a combination of Mesos and cloud-specific knowledge.

func (*MesosCloud) List

func (c *MesosCloud) List(filter string) ([]types.NodeName, error)

List lists instances that match 'filter' which is a regular expression which must match the entire instance name (fqdn).

func (*MesosCloud) ListClusters

func (c *MesosCloud) ListClusters() ([]string, error)

ListClusters lists the names of the available Mesos clusters.

func (*MesosCloud) ListWithoutKubelet

func (c *MesosCloud) ListWithoutKubelet() ([]string, error)

ListWithKubelet list those instance which have no running kubelet, i.e. the Kubernetes executor.

func (*MesosCloud) LoadBalancer

func (c *MesosCloud) LoadBalancer() (cloudprovider.LoadBalancer, bool)

LoadBalancer always returns nil, false in this implementation. Mesos does not provide any type of native load balancing by default, so this implementation always returns (nil, false).

func (*MesosCloud) Master

func (c *MesosCloud) Master(clusterName string) (string, error)

Master gets back the address (either DNS name or IP address) of the leading Mesos master node for the cluster.

func (*MesosCloud) MasterURI

func (c *MesosCloud) MasterURI() string

func (*MesosCloud) NodeAddresses

func (c *MesosCloud) NodeAddresses(nodeName types.NodeName) ([]v1.NodeAddress, error)

NodeAddresses returns the addresses of the instance with the specified nodeName.

func (*MesosCloud) NodeAddressesByProviderID

func (c *MesosCloud) NodeAddressesByProviderID(providerID string) ([]v1.NodeAddress, error)

NodeAddressesByProviderID returns the node addresses of an instances with the specified unique providerID This method will not be called from the node that is requesting this ID. i.e. metadata service and other local methods cannot be used here

func (*MesosCloud) ProviderName

func (c *MesosCloud) ProviderName() string

ProviderName returns the cloud provider ID.

func (*MesosCloud) Routes

func (c *MesosCloud) Routes() (cloudprovider.Routes, bool)

Routes always returns nil, false in this implementation.

func (*MesosCloud) ScrubDNS

func (c *MesosCloud) ScrubDNS(nameservers, searches []string) (nsOut, srchOut []string)

ScrubDNS filters DNS settings for pods.

func (*MesosCloud) Zones

func (c *MesosCloud) Zones() (cloudprovider.Zones, bool)

Zones always returns nil, false in this implementation. Mesos does not provide any type of native region or zone awareness, so this implementation always returns (nil, false).

Jump to

Keyboard shortcuts

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