Load Balancer Services Always Show EXTERNAL-IP Pending

Ok. I actually missed one piece. A configmap was required to allow metallb to allocate an IP. See here

So now my service is not pending.

apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
  name: config
data:
  config: |
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - 192.168.1.240-192.168.1.250

So now I’m not pending

Of course the IP address range that I selected is not correct.

I am still trying to understand how k8s knew to call out to the load balancer service. Can someone point me to a detailed description of how k8s integrates such a load balancer into the architecture?

All I’ve found on line (other than this metallb) are descriptions of how to create LoadBalancer services (not how to integrate bare metal loadbalancers).

I’m trying to understand the integration architecture for a bare metal loadbalancer