Since kubernetes doesn’t ship with load balance we need to install one. MetalLB, is pretty much the standard here. If you’re running on a cloud provider, you’re safe to ignore this entirely.

  1. cd aegaeon-cluster && mkdir metal-lb
  2. Create our secret file :
apiVersion: v1
  secret: <secret-value>
kind: Secret
  creationTimestamp: null
  name: memberlist
  namespace: metallb-system
  1. run kubeseal to encrypt the secret, set scope to strict, and check it in.
  2. wget
  3. wget
  4. create your config map :
kind: ConfigMap
apiVersion: v1
  name: config
    namespace: metallb-system
  config: |
    - name: default
      protocol: layer2
      - # This is the IPs from your internal network that can be used, I have a big pool (100-254) and am using a later range. This will wind up being the extrnal IPs that are presented.
  1. set your kustomize and let it go
  2. run kubectl get svc -A and see that some sort of External IP is created on the LoadBalancer resource.