Hello,
I installed MetalLB using the following manifest:
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.12/config/manifests/metallb-native.yaml
My cluster is configured in IPVS mode:
kubectl get configmap kube-proxy -n kube-system -o yaml | \
sed -e "s/strictARP: false/strictARP: true/" | \
kubectl diff -f - -n kube-system
However, when I try to install an IPAddressPool, I get an error:
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: address-pool
namespace: metallb-system
spec:
addresses:
- 192.168.1.1-192.168.1.254
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: l2advertisement
namespace: metallb-system
spec:
ipAddressPools:
- address-pool
When I apply the configuration, two webhooks seem to reject my configuration:
kubectl apply -f ipaddresspool.yaml
Error from server (InternalError): error when creating "ipaddresspool.yaml": Internal error occurred: failed calling webhook "l2advertisementvalidationwebhook.metallb.io": failed to call webhook: Post "https://webhook-service.metallb-system.svc:443/validate-metallb-io-v1beta1-l2advertisement?timeout=10s": context deadline exceeded
Error from server (InternalError): error when creating "ipaddresspool.yaml": Internal error occurred: failed calling webhook "ipaddresspoolvalidationwebhook.metallb.io": failed to call webhook: Post "https://webhook-service.metallb-system.svc:443/validate-metallb-io-v1beta1-ipaddresspool?timeout=10s": context deadline exceeded
I tried the solution proposed in this issue, but the IP AddressPools install, but the external IPs are only accessible internally. I cannot curl my external IP, for example, from my host cluster.
Can you help me resolve this issue?
Kubernetes version: 1.28.2
Cloud being used: (put bare-metal if not on a public cloud)
Installation method: kubeadm
Host OS: ubuntu 22.04
CNI and version: cilium:v1.14.3
CRI and version: crio v1.28.1