A LoadBalancer service requests a cloud provider’s load balancer (e.g., AWS ELB, GCP LB, or MetalLB in bare metal).

🧠 Characteristics

  • Automatically provisions a public IP
  • Routes traffic to the service via the cloud provider
  • Ideal for production workloads
  • Requires compatible controller (or MetalLB)
flowchart LR
  client[Client]
  lb[LoadBalancer IP]
  svcLB[LoadBalancer Service]
  pod[Pod]

  client -->|Public IP| lb --> svcLB --> pod

  
  style svcLB fill:#bbf,stroke:#333
  style pod fill:#ddd,stroke:#333
  style lb fill:#eee,stroke:#333

🧪 Example

apiVersion: v1
kind: Service
metadata:
  name: my-lb-service
spec:
  type: LoadBalancer
  selector:
    app: my-app
  ports:
    - port: 80
      targetPort: 8080