Documentation
¶
Index ¶
- Constants
- type CSCloud
- func (cs *CSCloud) AddSSHKeyToAllInstances(user string, keyData []byte) error
- func (cs *CSCloud) Clusters() (cloudprovider.Clusters, bool)
- func (cs *CSCloud) CurrentNodeName(hostname string) (types.NodeName, error)
- func (cs *CSCloud) EnsureLoadBalancer(clusterName string, service *v1.Service, nodes []*v1.Node) (status *v1.LoadBalancerStatus, err error)
- func (cs *CSCloud) EnsureLoadBalancerDeleted(clusterName string, service *v1.Service) error
- func (cs *CSCloud) ExternalID(name types.NodeName) (string, error)
- func (cs *CSCloud) GetLoadBalancer(clusterName string, service *v1.Service) (*v1.LoadBalancerStatus, bool, error)
- func (cs *CSCloud) GetZone() (cloudprovider.Zone, error)
- func (cs *CSCloud) GetZoneByNodeName(nodeName types.NodeName) (cloudprovider.Zone, error)
- func (cs *CSCloud) GetZoneByProviderID(providerID string) (cloudprovider.Zone, error)
- func (cs *CSCloud) HasClusterID() bool
- func (cs *CSCloud) Initialize(clientBuilder controller.ControllerClientBuilder)
- func (cs *CSCloud) InstanceExistsByProviderID(providerID string) (bool, error)
- func (cs *CSCloud) InstanceID(name types.NodeName) (string, error)
- func (cs *CSCloud) InstanceType(name types.NodeName) (string, error)
- func (cs *CSCloud) InstanceTypeByProviderID(providerID string) (string, error)
- func (cs *CSCloud) Instances() (cloudprovider.Instances, bool)
- func (cs *CSCloud) LoadBalancer() (cloudprovider.LoadBalancer, bool)
- func (cs *CSCloud) NodeAddresses(name types.NodeName) ([]v1.NodeAddress, error)
- func (cs *CSCloud) NodeAddressesByProviderID(providerID string) ([]v1.NodeAddress, error)
- func (cs *CSCloud) ProviderName() string
- func (cs *CSCloud) Routes() (cloudprovider.Routes, bool)
- func (cs *CSCloud) ScrubDNS(nameservers, searches []string) (nsOut, srchOut []string)
- func (cs *CSCloud) UpdateLoadBalancer(clusterName string, service *v1.Service, nodes []*v1.Node) error
- func (cs *CSCloud) Zones() (cloudprovider.Zones, bool)
- type CSConfig
Constants ¶
const ProviderName = "cloudstack"
ProviderName is the name of this cloud provider.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CSCloud ¶
type CSCloud struct {
// contains filtered or unexported fields
}
CSCloud is an implementation of Interface for CloudStack.
func (*CSCloud) AddSSHKeyToAllInstances ¶ added in v1.8.0
func (cs *CSCloud) AddSSHKeyToAllInstances(user string, keyData []byte) error
AddSSHKeyToAllInstances is currently not implemented.
func (*CSCloud) Clusters ¶
func (cs *CSCloud) Clusters() (cloudprovider.Clusters, bool)
Clusters returns an implementation of Clusters for CloudStack.
func (*CSCloud) CurrentNodeName ¶ added in v1.8.0
func (cs *CSCloud) CurrentNodeName(hostname string) (types.NodeName, error)
CurrentNodeName returns the name of the node we are currently running on.
func (*CSCloud) EnsureLoadBalancer ¶
func (cs *CSCloud) EnsureLoadBalancer(clusterName string, service *v1.Service, nodes []*v1.Node) (status *v1.LoadBalancerStatus, err error)
EnsureLoadBalancer creates a new load balancer, or updates the existing one. Returns the status of the balancer.
func (*CSCloud) EnsureLoadBalancerDeleted ¶
func (cs *CSCloud) EnsureLoadBalancerDeleted(clusterName string, service *v1.Service) error
EnsureLoadBalancerDeleted deletes the specified load balancer if it exists, returning nil if the load balancer specified either didn't exist or was successfully deleted.
func (*CSCloud) ExternalID ¶ added in v1.8.0
func (cs *CSCloud) ExternalID(name types.NodeName) (string, error)
ExternalID returns the cloud provider ID of the specified instance (deprecated).
func (*CSCloud) GetLoadBalancer ¶
func (cs *CSCloud) GetLoadBalancer(clusterName string, service *v1.Service) (*v1.LoadBalancerStatus, bool, error)
GetLoadBalancer returns whether the specified load balancer exists, and if so, what its status is.
func (*CSCloud) GetZone ¶
func (cs *CSCloud) GetZone() (cloudprovider.Zone, error)
GetZone returns the Zone containing the region that the program is running in.
func (*CSCloud) GetZoneByNodeName ¶ added in v1.8.0
func (cs *CSCloud) GetZoneByNodeName(nodeName types.NodeName) (cloudprovider.Zone, error)
GetZoneByNodeName returns the Zone, found by using the node name.
func (*CSCloud) GetZoneByProviderID ¶ added in v1.8.0
func (cs *CSCloud) GetZoneByProviderID(providerID string) (cloudprovider.Zone, error)
GetZoneByProviderID returns the Zone, found by using the provider ID.
func (*CSCloud) HasClusterID ¶ added in v1.8.0
func (cs *CSCloud) HasClusterID() bool
HasClusterID returns true if the cluster has a clusterID
func (*CSCloud) Initialize ¶ added in v1.7.0
func (cs *CSCloud) Initialize(clientBuilder controller.ControllerClientBuilder)
Initialize passes a Kubernetes clientBuilder interface to the cloud provider
func (*CSCloud) InstanceExistsByProviderID ¶ added in v1.8.0
func (cs *CSCloud) InstanceExistsByProviderID(providerID string) (bool, error)
InstanceExistsByProviderID returns if the instance still exists.
func (*CSCloud) InstanceID ¶ added in v1.8.0
func (cs *CSCloud) InstanceID(name types.NodeName) (string, error)
InstanceID returns the cloud provider ID of the specified instance.
func (*CSCloud) InstanceType ¶ added in v1.8.0
func (cs *CSCloud) InstanceType(name types.NodeName) (string, error)
InstanceType returns the type of the specified instance.
func (*CSCloud) InstanceTypeByProviderID ¶ added in v1.8.0
func (cs *CSCloud) InstanceTypeByProviderID(providerID string) (string, error)
InstanceTypeByProviderID returns the type of the specified instance.
func (*CSCloud) Instances ¶
func (cs *CSCloud) Instances() (cloudprovider.Instances, bool)
Instances returns an implementation of Instances for CloudStack.
func (*CSCloud) LoadBalancer ¶
func (cs *CSCloud) LoadBalancer() (cloudprovider.LoadBalancer, bool)
LoadBalancer returns an implementation of LoadBalancer for CloudStack.
func (*CSCloud) NodeAddresses ¶ added in v1.8.0
func (cs *CSCloud) NodeAddresses(name types.NodeName) ([]v1.NodeAddress, error)
NodeAddresses returns the addresses of the specified instance.
func (*CSCloud) NodeAddressesByProviderID ¶ added in v1.8.0
func (cs *CSCloud) NodeAddressesByProviderID(providerID string) ([]v1.NodeAddress, error)
NodeAddressesByProviderID returns the addresses of the specified instance.
func (*CSCloud) ProviderName ¶
func (cs *CSCloud) ProviderName() string
ProviderName returns the cloud provider ID.
func (*CSCloud) Routes ¶
func (cs *CSCloud) Routes() (cloudprovider.Routes, bool)
Routes returns an implementation of Routes for CloudStack.
func (*CSCloud) ScrubDNS ¶
func (cs *CSCloud) ScrubDNS(nameservers, searches []string) (nsOut, srchOut []string)
ScrubDNS filters DNS settings for pods.
func (*CSCloud) UpdateLoadBalancer ¶
func (cs *CSCloud) UpdateLoadBalancer(clusterName string, service *v1.Service, nodes []*v1.Node) error
UpdateLoadBalancer updates hosts under the specified load balancer.
type CSConfig ¶
type CSConfig struct {
Global struct {
APIURL string `gcfg:"api-url"`
APIKey string `gcfg:"api-key"`
SecretKey string `gcfg:"secret-key"`
SSLNoVerify bool `gcfg:"ssl-no-verify"`
ProjectID string `gcfg:"project-id"`
Zone string `gcfg:"zone"`
}
}
CSConfig wraps the config for the CloudStack cloud provider.