← All features
KUBERNETES · DEEP DIVE

LoadBalancer Services

Apply a Service of type LoadBalancer and a real platform load balancer appears with a public IP within a couple of minutes. Everything is driven by annotations.

app.virtconsole.com/kubernetes/clusters/prod/services
VirtConsole view of a Kubernetes LoadBalancer Service showing its assigned public IP, plan and annotations
svc.yamlYAML
apiVersion: v1
kind: Service
metadata:
  name: webapp
  annotations:
    service.beta.kubernetes.io/managed-loadbalancer-plan: std-2g
    service.beta.kubernetes.io/managed-loadbalancer-backend-protocol: http
    service.beta.kubernetes.io/managed-loadbalancer-ssl-mode: letsencrypt
    service.beta.kubernetes.io/managed-loadbalancer-ssl-domain: app.example.com
spec:
  type: LoadBalancer
  selector:
    app: webapp
  ports:
  - port: 443
    targetPort: 8080
01

Annotation reference

One annotation set controls plan, protocol, TLS and access.

Plan & protocol

Pick the LB plan and backend protocol per Service. The LB deploys from the plans your region actually sells.

SSL with Let’s Encrypt

ssl-mode letsencrypt with your domain issues and renews the certificate automatically. Custom and inline certificates are supported too.

Access control

Source range filtering, security groups, PROXY protocol, and public or VPC-only exposure.

02

Internal services

Not everything should have a public IP.

Private VIPs

Annotate a Service as internal and it receives a private VIP inside the VPC. The cloud controller reports the private address back to the cluster.

Specific public IPs

Pin a Service to an allocated public IP with the managed-loadbalancer-public-ip annotation.

Port 80 stays honest

Plaintext HTTP stays plaintext under global SSL mode, so redirects and ACME challenges behave.

03

Behavior under change

The pool follows the cluster, not the other way around.

Auto worker tracking

Scaled-in and scaled-out workers appear in the LB pool within seconds, including during plan rotations.

Health checks that fit

Active and passive health checks configurable via annotation. NodePort backends are checked over TCP.

No duplicate certificates

The Kubernetes bridge updates the same certificate row in place on every reconcile instead of minting duplicates.

Deeper look

The LB pool tracks the cluster's own worker list

Scaled-in and scaled-out workers appear here automatically, on the same cluster page that shows control plane status and pools.

app.virtconsole.com/kubernetes/clusters/prod
VirtConsole Kubernetes cluster detail page with control plane status, node pools and worker inventory

The cluster whose workers this LoadBalancer Service tracks

More of the platform

Try it on your own hardware

Free 30-day trial. Every feature included. No credit card required.

View pricing