1
0
mirror of https://github.com/funkypenguin/geek-cookbook/ synced 2025-12-13 09:46:23 +00:00

Replace Bitnami chart w/Metallb for kubernetes/loadbalancer/metallb/index.md (#257)

Co-authored-by: Daniel Riggins <danielriggins@us.ibm.com>
This commit is contained in:
Daniel Riggins
2023-01-23 20:27:15 -06:00
committed by GitHub
parent e998657cd7
commit fc6712457d

View File

@@ -67,17 +67,17 @@ metadata:
### HelmRepository ### HelmRepository
Next, we need to define a HelmRepository (*a repository of helm charts*), to which we'll refer when we create the HelmRelease. We only need to do this once per-repository. In this case, we're using the (*prolific*) [bitnami chart repository](https://github.com/bitnami/charts/tree/master/bitnami), so per the [flux design](/kubernetes/deployment/flux/), I create this example yaml in my flux repo: Next, we need to define a HelmRepository (*a repository of helm charts*), to which we'll refer when we create the HelmRelease. We only need to do this once per-repository. In this case, we're using the (*prolific*) [metallb chart repository](https://github.com/metallb/metallb/tree/main/charts/metallb), so per the [flux design](/kubernetes/deployment/flux/), I create this example yaml in my flux repo:
```yaml title="/bootstrap/helmrepositories/helmrepository-bitnami.yaml" ```yaml title="/bootstrap/helmrepositories/helmrepository-metallb.yaml"
apiVersion: source.toolkit.fluxcd.io/v1beta1 apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository kind: HelmRepository
metadata: metadata:
name: bitnami name: metallb
namespace: flux-system namespace: flux-system
spec: spec:
interval: 15m interval: 15m
url: https://charts.bitnami.com/bitnami url: https://metallb.github.io/metallb
``` ```
### Kustomization ### Kustomization
@@ -113,7 +113,7 @@ spec:
### ConfigMap (for HelmRelease) ### ConfigMap (for HelmRelease)
Now we're into the metallb-specific YAMLs. First, we create a ConfigMap, containing the entire contents of the helm chart's [values.yaml](https://github.com/bitnami/charts/blob/master/bitnami/metallb/values.yaml). Paste the values into a `values.yaml` key as illustrated below, indented 4 spaces (*since they're "encapsulated" within the ConfigMap YAML*). I create this example yaml in my flux repo at ``: Now we're into the metallb-specific YAMLs. First, we create a ConfigMap, containing the entire contents of the helm chart's [values.yaml](https://github.com/metallb/metallb/blob/main/charts/metallb/values.yaml). Paste the values into a `values.yaml` key as illustrated below, indented 4 spaces (*since they're "encapsulated" within the ConfigMap YAML*). I create this example yaml in my flux repo at ``:
```yaml title="/metallb-system/configmap-metallb-helm-chart-value-overrides.yaml" ```yaml title="/metallb-system/configmap-metallb-helm-chart-value-overrides.yaml"
apiVersion: v1 apiVersion: v1
@@ -130,9 +130,7 @@ data:
--8<-- "kubernetes-why-full-values-in-configmap.md" --8<-- "kubernetes-why-full-values-in-configmap.md"
Then work your way through the values you pasted, and change any which are specific to your configuration. I'd recommend changing the following: Then work your way through the values you pasted, and change any which are specific to your configuration.
* `commonAnnotations`: Anticipating the future use of Reloader to bounce applications when their config changes, I add the `configmap.reloader.stakater.com/reload: "metallb-config"` annotation to all deployed objects, which will instruct Reloader to bounce the daemonset if the ConfigMap changes.
### Kustomization for CRs (Config) ### Kustomization for CRs (Config)
@@ -261,10 +259,10 @@ spec:
chart: chart:
spec: spec:
chart: metallb chart: metallb
version: 4.x version: 0.13.7
sourceRef: sourceRef:
kind: HelmRepository kind: HelmRepository
name: bitnami name: metallb
namespace: flux-system namespace: flux-system
interval: 15m interval: 15m
timeout: 5m timeout: 5m