provider

package
v0.0.11 Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2025 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
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"
)
View Source
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

View Source
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

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

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

Routes returns a routes interface along with whether the interface is supported.

func (*KubeVipCloudProvider) Zones

Zones returns a zones interface. Also returns true if the interface is supported, false otherwise.

Jump to

Keyboard shortcuts

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