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.
cd aegaeon-cluster && mkdir metal-lb
apiVersion: v1
data:
secret: <secret-value>
kind: Secret
metadata:
creationTimestamp: null
name: memberlist
namespace: metallb-system
wget https://raw.githubusercontent.com/metallb/metallb/v0.9.3/manifests/namespace.yaml
wget https://raw.githubusercontent.com/metallb/metallb/v0.9.3/manifests/metallb.yaml
kind: ConfigMap
apiVersion: v1
metadata:
name: config
namespace: metallb-system
data:
config: |
address-pools:
- name: default
protocol: layer2
addresses:
- 10.0.0.200-10.0.0.254 # 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.
kubectl get svc -A
and see that some sort of External IP is created on the LoadBalancer resource.