I hava a custom Kubernetes Cluster(minikube) and have depleyed Metallb. When I create a LoadBalancer Service, the status is still pending.
Pods is below,
minikube ip is 192.168.99.103, metallb config file is below,
apiVersion: v1
kind: ConfigMap
metadata:
namespace: metallb-system
name: config
data:
config: |
address-pools:
- name: my-ip-space
protocol: layer2
addresses:
- 192.168.99.100/28and the service yaml is below,
apiVersion: v1
kind: Service
metadata:
name: hello-world-web-lb
spec:
type: LoadBalancer
ports:
- name: http
port: 82
targetPort: 8416
selector:
app: javaMinikube is a single VM test cluster. You need to use minikube service command to expose the service.
Assuming you are aim is to try metallb -
You need to provide address range as from-to syntax as follows for layer2.
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 ---> This lineIt's by design.
On cloud providers that support load balancers, an external IP address would be provisioned to access the Service. On Minikube, the LoadBalancer type makes the Service accessible through the minikube service command.
https://kubernetes.io/docs/tutorials/hello-minikube/#create-a-service