Skip to content

Latest commit

 

History

History
43 lines (33 loc) · 9.16 KB

load-balancers.md

File metadata and controls

43 lines (33 loc) · 9.16 KB

Load Balancers

Overview

Kubernetes Services type LoadBalancer will be deployed through Vultr Load Balancers. This is provisioned by the Cloud Controller Manager. For generic info and faq please visit the Vultr LoadBalancer Doc.

Examples of LoadBalancer resources can be found here

Annotations

The Vultr CCM allows you to configure your LoadBalancer resource to be deployed in a specific way through annotations.

The annotations are listed below. Please note that all annotations listed below must be prepended with service.beta.kubernetes.io/vultr-loadbalancer- and are case sensitive.

Annotation (Suffix) Values Default Description
protocol tcp, http, https tcp This is used to specify the protocol to be used for your LoadBalancer protocol.
backend-protocol http, https, or tcp http, https, or tcp depending on protocol This is used to set the backend protocol from load balancer to application(s). Note: Only certain protocols can be set here; anything out of scope will be defaulted to protocol
https-ports string Defines which ports should be used for HTTPS. You can pass in a comma separated list: 443,8443
ssl string The string you provide should be the name of a Kubernetes TLS Secret which store your cert + key
ssl-pass-through true, false false If you want SSL termination to happen on your pods or ingress then this must be enabled. This is to be used with the https-ports annotation
proxy-protocol true, false false Indicates whether Proxy protocol should be enabled.
healthcheck-protocol tcp http tcp The protocol to be used for your LoadBalancer HealthCheck
healthcheck-path string / The URL path to check on the back-end during health checks
healthcheck-port int defaults to what kubernetes defines The port that should be called for health checks
healthcheck-check-interval int 15 Interval between health checks (in seconds)
healthcheck-response-timeout int 5 Response timeout (in seconds)
healthcheck-unhealthy-threshold int 5 Number of unhealthy requests before a back-end is removed
healthcheck-healthy-threshold int 5 Number of healthy requests before a back-end is added back in
algorithm least_connections, roundrobin roundrobin Balancing algorithm
ssl-redirect true, false false Force HTTP to HTTPS
sticky-session-enabled on, off off Enables Sticky Sessions. If enabled you must provide sticky-session-cookie-name
sticky-session-cookie-name" string Name of sticky session
firewall-rules string This is used to let you define your firewall rules. They must be supplied with "ip-with-with-subnet,port" format with ; breaking up firewall rules. Example: 0.0.0.0/0,80;0.0.0.0/0,90
private-network (deprecated) true or false false Deprecated Please use vpc. This is used to attach your load balancer to a private network. If true the CCM will pull the private_network_id that is attached to the node that the CCM is running on.
vpc true or false false This is used to attach your load balancer to a private network. If true the CCM will pull the vpc_id that is attached to the node that the CCM is running on.
node-count int 1 Number of LoadBalancer nodes to have. Only odd numbers are supported.
create true or false true This is used to determine whether or not to create a Vultr loadbalancer
label string Custom label for the Vultr Loadbalancer rather than the default generated name
hostname string Custom domain to be used for the load balancer. Ex: example.vultr.com