Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the lb v1 API group +kubebuilder:object:generate=true +groupName=lb.lbconfig.io
Index ¶
- Variables
- type ExternalLoadBalancer
- type ExternalLoadBalancerList
- type ExternalLoadBalancerSpec
- type ExternalLoadBalancerStatus
- type LoadBalancerBackend
- type LoadBalancerBackendList
- type LoadBalancerBackendSpec
- type LoadBalancerBackendStatus
- type Monitor
- type Node
- type Pool
- type PoolMember
- type Provider
- type VIP
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "lb.lbconfig.io", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type ExternalLoadBalancer ¶
type ExternalLoadBalancer struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ExternalLoadBalancerSpec `json:"spec,omitempty"`
Status ExternalLoadBalancerStatus `json:"status,omitempty"`
}
ExternalLoadBalancer is the Schema for the externalloadbalancers API +kubebuilder:subresource:status
func (*ExternalLoadBalancer) DeepCopy ¶
func (in *ExternalLoadBalancer) DeepCopy() *ExternalLoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalLoadBalancer.
func (*ExternalLoadBalancer) DeepCopyInto ¶
func (in *ExternalLoadBalancer) DeepCopyInto(out *ExternalLoadBalancer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExternalLoadBalancer) DeepCopyObject ¶
func (in *ExternalLoadBalancer) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ExternalLoadBalancerList ¶
type ExternalLoadBalancerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ExternalLoadBalancer `json:"items"`
}
ExternalLoadBalancerList contains a list of ExternalLoadBalancer
func (*ExternalLoadBalancerList) DeepCopy ¶
func (in *ExternalLoadBalancerList) DeepCopy() *ExternalLoadBalancerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalLoadBalancerList.
func (*ExternalLoadBalancerList) DeepCopyInto ¶
func (in *ExternalLoadBalancerList) DeepCopyInto(out *ExternalLoadBalancerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExternalLoadBalancerList) DeepCopyObject ¶
func (in *ExternalLoadBalancerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ExternalLoadBalancerSpec ¶
type ExternalLoadBalancerSpec struct {
// Vip is the Virtual IP configured in this LoadBalancer instance
Vip string `json:"vip"`
// Type is the node role type (master or infra) for the LoadBalancer instance
Type string `json:"type,omitempty"`
// NodeLabels are the node labels used for router sharding or exposed service. Optional.
NodeLabels map[string]string `json:"nodelabels,omitempty"`
// Backend is the LoadBalancer used
Backend string `json:"backend"`
// Ports are the list of ports used for this Vip
Ports []int `json:"ports"`
// Monitor is the path and port to monitor the LoadBalancer members
Monitor Monitor `json:"monitor"`
}
ExternalLoadBalancerSpec is the spec of a LoadBalancer instance.
func (*ExternalLoadBalancerSpec) DeepCopy ¶
func (in *ExternalLoadBalancerSpec) DeepCopy() *ExternalLoadBalancerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalLoadBalancerSpec.
func (*ExternalLoadBalancerSpec) DeepCopyInto ¶
func (in *ExternalLoadBalancerSpec) DeepCopyInto(out *ExternalLoadBalancerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalLoadBalancerStatus ¶
type ExternalLoadBalancerStatus struct {
VIPs []VIP `json:"vips"`
Ports []int `json:"ports"`
Monitor Monitor `json:"monitor"`
Nodes []Node `json:"nodes,omitempty"`
Pools []Pool `json:"pools,omitempty"`
}
ExternalLoadBalancerStatus defines the observed state of ExternalLoadBalancer
func (*ExternalLoadBalancerStatus) DeepCopy ¶
func (in *ExternalLoadBalancerStatus) DeepCopy() *ExternalLoadBalancerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalLoadBalancerStatus.
func (*ExternalLoadBalancerStatus) DeepCopyInto ¶
func (in *ExternalLoadBalancerStatus) DeepCopyInto(out *ExternalLoadBalancerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerBackend ¶
type LoadBalancerBackend struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec LoadBalancerBackendSpec `json:"spec,omitempty"`
Status LoadBalancerBackendStatus `json:"status,omitempty"`
}
LoadBalancerBackend is the Schema for the loadbalancerbackends API +kubebuilder:subresource:status
func (*LoadBalancerBackend) DeepCopy ¶
func (in *LoadBalancerBackend) DeepCopy() *LoadBalancerBackend
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerBackend.
func (*LoadBalancerBackend) DeepCopyInto ¶
func (in *LoadBalancerBackend) DeepCopyInto(out *LoadBalancerBackend)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LoadBalancerBackend) DeepCopyObject ¶
func (in *LoadBalancerBackend) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LoadBalancerBackendList ¶
type LoadBalancerBackendList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []LoadBalancerBackend `json:"items"`
}
LoadBalancerBackendList contains a list of LoadBalancerBackend
func (*LoadBalancerBackendList) DeepCopy ¶
func (in *LoadBalancerBackendList) DeepCopy() *LoadBalancerBackendList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerBackendList.
func (*LoadBalancerBackendList) DeepCopyInto ¶
func (in *LoadBalancerBackendList) DeepCopyInto(out *LoadBalancerBackendList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LoadBalancerBackendList) DeepCopyObject ¶
func (in *LoadBalancerBackendList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LoadBalancerBackendSpec ¶
type LoadBalancerBackendSpec struct {
// Type is the backend provider like F5, NetScaler, NSX
Provider Provider `json:"provider"`
}
LoadBalancerBackendSpec defines the backend used by the ExternalLoadBalancer instance
func (*LoadBalancerBackendSpec) DeepCopy ¶
func (in *LoadBalancerBackendSpec) DeepCopy() *LoadBalancerBackendSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerBackendSpec.
func (*LoadBalancerBackendSpec) DeepCopyInto ¶
func (in *LoadBalancerBackendSpec) DeepCopyInto(out *LoadBalancerBackendSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerBackendStatus ¶
type LoadBalancerBackendStatus struct {
Type Provider `json:"provider"`
}
LoadBalancerBackendStatus defines the observed state of LoadBalancerBackend
func (*LoadBalancerBackendStatus) DeepCopy ¶
func (in *LoadBalancerBackendStatus) DeepCopy() *LoadBalancerBackendStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerBackendStatus.
func (*LoadBalancerBackendStatus) DeepCopyInto ¶
func (in *LoadBalancerBackendStatus) DeepCopyInto(out *LoadBalancerBackendStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Monitor ¶
type Monitor struct {
// Name is the monitor name, it is set by the controller
Name string `json:"name,omitempty"`
// Path is the path URL to check for the pool members
Path string `json:"path"`
// Port is the port this monitor should check the pool members
Port int `json:"port"`
// MonitorType is the monitor parent type. <monitorType> must be one of "http", "https",
// "icmp", "gateway icmp", "inband", "postgresql", "mysql", "udp" or "tcp".
MonitorType string `json:"monitortype"`
}
Monitor defines a monitor object in the LoadBalancer.
func (*Monitor) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Monitor.
func (*Monitor) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Node ¶
type Node struct {
// Name is the host name set dynamically by the controller
Name string `json:"name,omitempty"`
// Host is the host IP set dynamically by the controller
Host string `json:"host"`
// Label is the node labels this node has
Labels map[string]string `json:"label,omitempty"`
}
Node defines a host object in the LoadBalancer.
func (*Node) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Node.
func (*Node) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Pool ¶
type Pool struct {
// Name is the Pool name, it is set by the controller
Name string `json:"name,omitempty"`
// Members is the host members of this pool
Members []PoolMember `json:"members,omitempty"`
// Monitor is the monitor name used on this pool
Monitor string `json:"monitor"`
}
Pool defines a pool object in the LoadBalancer.
func (*Pool) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pool.
func (*Pool) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PoolMember ¶
type PoolMember struct {
// Node is the node part of a pool
Node Node `json:"node"`
// Port is the port for this pool member
Port int `json:"port"`
}
PoolMember defines a host object in the LoadBalancer.
func (*PoolMember) DeepCopy ¶
func (in *PoolMember) DeepCopy() *PoolMember
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolMember.
func (*PoolMember) DeepCopyInto ¶
func (in *PoolMember) DeepCopyInto(out *PoolMember)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Provider ¶
type Provider struct {
// Vendor is the backend provider vendor (F5, NSX, Netscaler)
Vendor string `json:"vendor"`
// Host is the Load Balancer API IP or Hostname.
Host string `json:"host"`
// Port is the Load Balancer API Port.
Port int `json:"port"`
// Creds credentials secret holding the username and password keys.
Creds string `json:"creds"`
// Partition is the F5 partition to create the Load Balancer instances.
Partition string `json:"partition,omitempty"`
// ValidateCerts is a flag to validate or not the Load Balancer API certificate. Defaults to false.
// +optional
ValidateCerts *bool `json:"validatecerts,omitempty"`
}
Provider is a backend provider for F5 Big IP Load Balancers
func (*Provider) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Provider.
func (*Provider) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VIP ¶
type VIP struct {
// Name is the VIP instance name
Name string `json:"name"`
// Pool is the associated pool with this VIP
Pool string `json:"pool"`
// IP is the IP address this VIP instance listens to
IP string `json:"ip"`
// Port is the port this VIP listens to
Port int `json:"port"`
}
VIP defines VIP instance in the LoadBalancer with a pool and port
func (*VIP) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VIP.
func (*VIP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.