Documentation
¶
Index ¶
- Constants
- Variables
- type KubeVipCloudProvider
- func (p *KubeVipCloudProvider) Clusters() (cloudprovider.Clusters, bool)
- func (p *KubeVipCloudProvider) HasClusterID() bool
- func (p *KubeVipCloudProvider) Initialize(clientBuilder cloudprovider.ControllerClientBuilder, _ <-chan struct{})
- func (p *KubeVipCloudProvider) Instances() (cloudprovider.Instances, bool)
- func (p *KubeVipCloudProvider) InstancesV2() (cloudprovider.InstancesV2, bool)
- func (p *KubeVipCloudProvider) LoadBalancer() (cloudprovider.LoadBalancer, bool)
- func (p *KubeVipCloudProvider) ProviderName() string
- func (p *KubeVipCloudProvider) Routes() (cloudprovider.Routes, bool)
- func (p *KubeVipCloudProvider) Zones() (cloudprovider.Zones, bool)
Constants ¶
const ( // LoadbalancerIPsAnnotation is for specifying IPs for a loadbalancer // use plural for dual stack support in the future // Example: kube-vip.io/loadbalancerIPs: 10.1.2.3,fd00::100 LoadbalancerIPsAnnotation = "kube-vip.io/loadbalancerIPs" // ImplementationLabelKey is the label key showing the service is implemented by kube-vip ImplementationLabelKey = "implementation" // ImplementationLabelValue is the label value showing the service is implemented by kube-vip ImplementationLabelValue = "kube-vip" // LegacyIpamAddressLabelKey is the legacy label key showing the service is implemented by kube-vip LegacyIpamAddressLabelKey = "ipam-address" // LoadbalancerServiceInterfaceAnnotationKey is the annotation key for specifying the service interface for a load balancer LoadbalancerServiceInterfaceAnnotationKey = "kube-vip.io/serviceInterface" )
const ( // ProviderName is the name of the cloud provider ProviderName = "kubevip" // KubeVipClientConfig is the default name of the load balancer config Map KubeVipClientConfig = "kubevip" // KubeVipClientConfigNamespace is the default namespace of the load balancer config Map KubeVipClientConfigNamespace = "kube-system" // KubeVipServicesKey is the key in the ConfigMap that has the services configuration KubeVipServicesKey = "kubevip-services" // LoadbalancerClass is the value that could be set in service.spec.loadbalancerclass // if the service has this value, then service controller will reconcile the service. LoadbalancerClass = "kube-vip.io/kube-vip-class" // EnableLoadbalancerClassEnvKey environment key for enabling loadbalancerclass. EnableLoadbalancerClassEnvKey = "KUBEVIP_ENABLE_LOADBALANCERCLASS" )
Variables ¶
var OutSideCluster bool
OutSideCluster allows the controller to be started using a local kubeConfig for testing
Functions ¶
This section is empty.
Types ¶
type KubeVipCloudProvider ¶
type KubeVipCloudProvider struct {
// contains filtered or unexported fields
}
KubeVipCloudProvider - contains all of the interfaces for the cloud provider
func (*KubeVipCloudProvider) Clusters ¶
func (p *KubeVipCloudProvider) Clusters() (cloudprovider.Clusters, bool)
Clusters returns a clusters interface. Also returns true if the interface is supported, false otherwise.
func (*KubeVipCloudProvider) HasClusterID ¶
func (p *KubeVipCloudProvider) HasClusterID() bool
HasClusterID provides an opportunity for cloud-provider-specific code to process DNS settings for pods.
func (*KubeVipCloudProvider) Initialize ¶
func (p *KubeVipCloudProvider) Initialize(clientBuilder cloudprovider.ControllerClientBuilder, _ <-chan struct{})
Initialize - starts the clound-provider controller
func (*KubeVipCloudProvider) Instances ¶
func (p *KubeVipCloudProvider) Instances() (cloudprovider.Instances, bool)
Instances returns an instances interface. Also returns true if the interface is supported, false otherwise.
func (*KubeVipCloudProvider) InstancesV2 ¶
func (p *KubeVipCloudProvider) InstancesV2() (cloudprovider.InstancesV2, bool)
InstancesV2 returns an instances interface. Also returns true if the interface is supported, false otherwise.
func (*KubeVipCloudProvider) LoadBalancer ¶
func (p *KubeVipCloudProvider) LoadBalancer() (cloudprovider.LoadBalancer, bool)
LoadBalancer returns a loadbalancer interface. Also returns true if the interface is supported, false otherwise.
func (*KubeVipCloudProvider) ProviderName ¶
func (p *KubeVipCloudProvider) ProviderName() string
ProviderName returns the cloud provider ID.
func (*KubeVipCloudProvider) Routes ¶
func (p *KubeVipCloudProvider) Routes() (cloudprovider.Routes, bool)
Routes returns a routes interface along with whether the interface is supported.
func (*KubeVipCloudProvider) Zones ¶
func (p *KubeVipCloudProvider) Zones() (cloudprovider.Zones, bool)
Zones returns a zones interface. Also returns true if the interface is supported, false otherwise.