Documentation ¶
Index ¶
- Constants
- type KubemarkCloudProvider
- func (kubemark *KubemarkCloudProvider) GetAvilableMachineTypes() ([]string, error)
- func (kubemark *KubemarkCloudProvider) Name() string
- func (kubemark *KubemarkCloudProvider) NewNodeGroup(name string, machineType string, labels map[string]string, ...) (cloudprovider.NodeGroup, error)
- func (kubemark *KubemarkCloudProvider) NodeGroupForNode(node *apiv1.Node) (cloudprovider.NodeGroup, error)
- func (kubemark *KubemarkCloudProvider) NodeGroups() []cloudprovider.NodeGroup
- func (kubemark *KubemarkCloudProvider) Pricing() (cloudprovider.PricingModel, errors.AutoscalerError)
- type NodeGroup
- func (nodeGroup *NodeGroup) Create() error
- func (nodeGroup *NodeGroup) Debug() string
- func (nodeGroup *NodeGroup) DecreaseTargetSize(delta int) error
- func (nodeGroup *NodeGroup) Delete() error
- func (nodeGroup *NodeGroup) DeleteNodes(nodes []*apiv1.Node) error
- func (nodeGroup *NodeGroup) Exist() (bool, error)
- func (nodeGroup *NodeGroup) Id() string
- func (nodeGroup *NodeGroup) IncreaseSize(delta int) error
- func (nodeGroup *NodeGroup) MaxSize() int
- func (nodeGroup *NodeGroup) MinSize() int
- func (nodeGroup *NodeGroup) Nodes() ([]string, error)
- func (nodeGroup *NodeGroup) TargetSize() (int, error)
- func (nodeGroup *NodeGroup) TemplateNodeInfo() (*schedulercache.NodeInfo, error)
Constants ¶
const (
// ProviderName is the cloud provider name for kubemark
ProviderName = "kubemark"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type KubemarkCloudProvider ¶
type KubemarkCloudProvider struct {
// contains filtered or unexported fields
}
KubemarkCloudProvider implements CloudProvider interface for kubemark
func BuildKubemarkCloudProvider ¶
func BuildKubemarkCloudProvider(kubemarkController *kubemark.KubemarkController, specs []string) (*KubemarkCloudProvider, error)
BuildKubemarkCloudProvider builds a CloudProvider for kubemark. Builds node groups from passed in specs.
func (*KubemarkCloudProvider) GetAvilableMachineTypes ¶
func (kubemark *KubemarkCloudProvider) GetAvilableMachineTypes() ([]string, error)
GetAvilableMachineTypes get all machine types that can be requested from the cloud provider. Implementation optional.
func (*KubemarkCloudProvider) Name ¶
func (kubemark *KubemarkCloudProvider) Name() string
Name returns name of the cloud provider.
func (*KubemarkCloudProvider) NewNodeGroup ¶
func (kubemark *KubemarkCloudProvider) NewNodeGroup(name string, machineType string, labels map[string]string, extraResources map[string]resource.Quantity) (cloudprovider.NodeGroup, error)
NewNodeGroup builds a theoretical node group based on the node definition provided.
func (*KubemarkCloudProvider) NodeGroupForNode ¶
func (kubemark *KubemarkCloudProvider) NodeGroupForNode(node *apiv1.Node) (cloudprovider.NodeGroup, error)
NodeGroupForNode returns the node group for the given node.
func (*KubemarkCloudProvider) NodeGroups ¶
func (kubemark *KubemarkCloudProvider) NodeGroups() []cloudprovider.NodeGroup
NodeGroups returns all node groups configured for this cloud provider.
func (*KubemarkCloudProvider) Pricing ¶
func (kubemark *KubemarkCloudProvider) Pricing() (cloudprovider.PricingModel, errors.AutoscalerError)
Pricing returns pricing model for this cloud provider or error if not available.
type NodeGroup ¶
type NodeGroup struct { Name string // contains filtered or unexported fields }
NodeGroup implements NodeGroup interfrace.
func (*NodeGroup) DecreaseTargetSize ¶
DecreaseTargetSize decreases the target size of the node group. This function doesn't permit to delete any existing node and can be used only to reduce the request for new nodes that have not been yet fulfilled. Delta should be negative.
func (*NodeGroup) DeleteNodes ¶
DeleteNodes deletes the specified nodes from the node group.
func (*NodeGroup) IncreaseSize ¶
IncreaseSize increases NodeGroup size.
func (*NodeGroup) TargetSize ¶
TargetSize returns the current TARGET size of the node group. It is possible that the number is different from the number of nodes registered in Kuberentes.
func (*NodeGroup) TemplateNodeInfo ¶
func (nodeGroup *NodeGroup) TemplateNodeInfo() (*schedulercache.NodeInfo, error)
TemplateNodeInfo returns a node template for this node group.