MetalLB is an open source, rock solid LoadBalancer. It handles the ServiceType: Loadbalancer for bare metal Kubernetes clusters, using standard routing protocols.
This article is about how to use Pulumi, kubernetes (K8S) provider, Helm Chart and TypeScript SDK to deploy MetalLB within Kubernetes (K8S).
Prerequisites
Kubernetes (K8S)
Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications.
For more information about installing and using Kubernetes (K8s), see the Kubernetes (K8s) Docs.
Helm
Helm is the best way to find, share, and use software built for Kubernetes.
For more information about installing and using Helm, see the Helm Docs.
# charts/values.yaml at master · bitnami/charts # https://github.com/bitnami/charts/blob/master/bitnami/metallb/values.yaml
## To configure MetalLB, you must specify ONE of the following two ## options. # ## existingConfigMap specifies the name of an externally-defined ## ConfigMap to use as the configuration. Helm will not manage the ## contents of this ConfigMap, it is your responsibility to create it. # # existingConfigMap: metallb-config # ## configInline specifies MetalLB's configuration directly, in yaml ## format. When configInline is used, Helm manages MetalLB's ## configuration ConfigMap as part of the release, and ## existingConfigMap is ignored. ## Refer to https://metallb.universe.tf/configuration/ for ## available options. # configInline:| # https://metallb.universe.tf/configuration/#layer-2-configuration address-pools: - name: default protocol: layer2 addresses: # Replace with idle IP in the same subnet as the node IP. - {{ .Values.addresses }}