KubeLB CRDs Reference

Packages

kubelb.k8c.io/v1alpha1

Package v1alpha1 contains API Schema definitions for the kubelb.k8c.io v1alpha1 API group

Resource Types

Config

Config is the object that represents the Config for the KubeLB management controller.

Appears in:

FieldDescription
apiVersion stringkubelb.k8c.io/v1alpha1
kind stringConfig
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ConfigSpec

Back to top

ConfigList

ConfigList contains a list of Config

FieldDescription
apiVersion stringkubelb.k8c.io/v1alpha1
kind stringConfigList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items Config array

Back to top

ConfigSpec

ConfigSpec defines the desired state of the Config

Appears in:

FieldDescription
envoyProxy EnvoyProxyEnvoyProxy defines the desired state of the Envoy Proxy
propagatedAnnotations object (keys:string, values:string)PropagatedAnnotations defines the list of annotations(key-value pairs) that will be propagated to the LoadBalancer service. Keep the value empty to allow any value. Annotations specified at the namespace level will have a higher precedence than the annotations specified at the Config level.
propagateAllAnnotations booleanPropagateAllAnnotations defines whether all annotations will be propagated to the LoadBalancer service. If set to true, PropagatedAnnotations will be ignored.

Back to top

EndpointAddress

EndpointAddress is a tuple that describes single IP address.

Appears in:

FieldDescription
ip stringThe IP of this endpoint. May not be loopback (127.0.0.0/8), link-local (169.254.0.0/16), or link-local multicast ((224.0.0.0/24).
hostname stringThe Hostname of this endpoint

Back to top

EndpointPort

EndpointPort is a tuple that describes a single port.

Appears in:

FieldDescription
name stringThe name of this port. This must match the ’name’ field in the corresponding ServicePort. Must be a DNS_LABEL. Optional only if one port is defined.
port integerThe port number of the endpoint.
protocol ProtocolThe IP protocol for this port. Must be TCP. Default is TCP.

Back to top

EnvoyProxy

EnvoyProxy defines the desired state of the EnvoyProxy

Appears in:

FieldDescription
topology EnvoyProxyTopologyTopology defines the deployment topology for Envoy Proxy. Valid values are: shared, dedicated, and global.
useDaemonset booleanUseDaemonset defines whether Envoy Proxy will run as daemonset. By default, Envoy Proxy will run as deployment. If set to true, Replicas will be ignored.
replicas integerReplicas defines the number of replicas for Envoy Proxy. This field is ignored if UseDaemonset is set to true.
singlePodPerNode booleanSinglePodPerNode defines whether Envoy Proxy pods will be spread across nodes. This ensures that multiple replicas are not running on the same node.
nodeSelector object (keys:string, values:string)NodeSelector is used to select nodes to run Envoy Proxy. If specified, the node must have all the indicated labels.
tolerations Toleration arrayTolerations is used to schedule Envoy Proxy pods on nodes with matching taints.
resources ResourceRequirementsResources defines the resource requirements for Envoy Proxy.
affinity AffinityAffinity is used to schedule Envoy Proxy pods on nodes with matching affinity.

Back to top

LoadBalancer

LoadBalancer is the Schema for the loadbalancers API

Appears in:

FieldDescription
apiVersion stringkubelb.k8c.io/v1alpha1
kind stringLoadBalancer
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec LoadBalancerSpec
status LoadBalancerStatus

Back to top

LoadBalancerEndpoints

LoadBalancerEndpoints is a group of addresses with a common set of ports. The expanded set of endpoints is the Cartesian product of Addresses x Ports. For example, given: { Addresses: [{“ip”: “10.10.1.1”}, {“ip”: “10.10.2.2”}], Ports: [{“name”: “a”, “port”: 8675}, {“name”: “b”, “port”: 309}] } The resulting set of endpoints can be viewed as: a: [ 10.10.1.1:8675, 10.10.2.2:8675 ], b: [ 10.10.1.1:309, 10.10.2.2:309 ]

Appears in:

FieldDescription
addresses EndpointAddress arrayIP addresses which offer the related ports that are marked as ready. These endpoints should be considered safe for load balancers and clients to utilize.
ports EndpointPort arrayPort numbers available on the related IP addresses.

Back to top

LoadBalancerList

LoadBalancerList contains a list of LoadBalancer

FieldDescription
apiVersion stringkubelb.k8c.io/v1alpha1
kind stringLoadBalancerList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items LoadBalancer array

Back to top

LoadBalancerPort

LoadBalancerPort contains information on service’s port.

Appears in:

FieldDescription
name stringThe name of this port within the service. This must be a DNS_LABEL. All ports within a Spec must have unique names. When considering the endpoints for a Service, this must match the ’name’ field in the EndpointPort. Optional if only one ServicePort is defined on this service.
protocol ProtocolThe IP protocol for this port. Supports “TCP”. Default is TCP.
port integerThe port that will be exposed by the LoadBalancer.

Back to top

LoadBalancerSpec

LoadBalancerSpec defines the desired state of LoadBalancer

Appears in:

FieldDescription
endpoints LoadBalancerEndpoints arraySets of addresses and ports that comprise an exposed user service on a cluster.
ports LoadBalancerPort arrayThe list of ports that are exposed by the load balancer service. only needed for layer 4
type ServiceTypetype determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer. “ExternalName” maps to the specified externalName. “ClusterIP” allocates a cluster-internal IP address for load-balancing to endpoints. Endpoints are determined by the selector or if that is not specified, by manual construction of an Endpoints object. If clusterIP is “None”, no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a stable IP. “NodePort” builds on ClusterIP and allocates a port on every node which routes to the clusterIP. “LoadBalancer” builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the clusterIP. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types

Back to top

LoadBalancerStatus

LoadBalancerStatus defines the observed state of LoadBalancer

Appears in:

FieldDescription
loadBalancer LoadBalancerStatusLoadBalancer contains the current status of the load-balancer, if one is present.
service ServiceStatusService contains the current status of the LB service.

Back to top

ServicePort

ServicePort contains information on service’s port.

Appears in:

FieldDescription
ServicePort ServicePort
upstreamTargetPort integer

Back to top

ServiceStatus

Appears in:

FieldDescription
ports ServicePort array

Back to top