Helm provides full configuration control and is recommended for production deployments.
Add the Helm Repository#
helm repo add purelb https://purelb.io/charts
helm repo updateInstall#
helm install --create-namespace --namespace=purelb-system purelb purelb/purelbInstall Without BGP#
helm install --create-namespace --namespace=purelb-system purelb purelb/purelb \
--set gobgp.enabled=falseInstall via OCI Registry (Helm 3.8+)#
helm install --create-namespace --namespace=purelb-system purelb \
oci://ghcr.io/purelb/purelb/charts/purelb --version v0.16.3Key Configuration Values#
| Value | Default | Description |
|---|---|---|
gobgp.enabled | true | Enable k8gobgp BGP sidecar |
lbnodeagent.localInterface | default | Interface for local address announcement |
lbnodeagent.dummyInterface | kube-lb0 | Dummy interface for remote addresses |
leaseConfig.leaseDuration | 10s | Election lease duration |
leaseConfig.renewDeadline | 7s | Lease renewal deadline |
leaseConfig.retryPeriod | 2s | Lease renewal retry interval |
serviceGroup.create | false | Create a default ServiceGroup during install |
defaultAnnouncer | PureLB | LoadBalancer controller name |
See the Helm Values Reference for the complete list.
Overriding Values#
Create a YAML file with your overrides:
---
allocator:
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/control-plane
lbnodeagent:
garpConfig:
enabled: true
count: 3
interval: 500msInstall with the overrides file:
helm install --create-namespace --namespace=purelb-system \
--values=my-values.yaml purelb purelb/purelbUpgrading#
helm repo update
helm upgrade --namespace=purelb-system purelb purelb/purelbExisting services retain their allocated addresses during the upgrade.