<p>I install and configured MetalLB on My Kubernetes cluster. Then try to create LoadBalancer Type service.
( NodePort type service is working well. )</p>
<p>But, EXTERNAL-IP is pending status.</p>
<p>I got below error on MetalLB controller pod. Somebody can help to resolve this issues.</p>
<p>I also have simular issue when I try to install nginx ingress-controller.</p>
<pre><code># kubectl logs controller-65db86ddc6-4hkdn -n metallb-system
{&quot;branch&quot;:&quot;HEAD&quot;,&quot;caller&quot;:&quot;main.go:142&quot;,&quot;commit&quot;:&quot;v0.9.5&quot;,&quot;msg&quot;:&quot;MetalLB controller starting version 0.9.5 (commit v0.9.5, branch HEAD)&quot;,&quot;ts&quot;:&quot;2021-03-21T09:30:28.244151786Z&quot;,&quot;version&quot;:&quot;0.9.5&quot;}
I0321 09:30:58.442987       1 trace.go:81] Trace[1298498081]: &quot;Reflector pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98 ListAndWatch&quot; (started: 2021-03-21 09:30:28.44033291 +0000 UTC m=+1.093749549) (total time: 30.001755286s):
Trace[1298498081]: [30.001755286s] [30.001755286s] END
E0321 09:30:58.443118       1 reflector.go:125] pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98: Failed to list *v1.Service: Get https://10.96.0.1:443/api/v1/services?limit=500&amp;resourceVersion=0: dial tcp 10.96.0.1:443: i/o timeout
I0321 09:30:58.443263       1 trace.go:81] Trace[2019727887]: &quot;Reflector pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98 ListAndWatch&quot; (started: 2021-03-21 09:30:28.342686736 +0000 UTC m=+0.996103363) (total time: 30.100527846s):
Trace[2019727887]: [30.100527846s] [30.100527846s] END
E0321 09:30:58.443298       1 reflector.go:125] pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98: Failed to list *v1.ConfigMap: Get https://10.96.0.1:443/api/v1/namespaces/metallb-system/configmaps?fieldSelector=metadata.name%3Dconfig&amp;limit=500&amp;resourceVersion=0: dial tcp 10.96.0.1:443: i/o timeout
I0321 09:31:29.444994       1 trace.go:81] Trace[1427131847]: &quot;Reflector pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98 ListAndWatch&quot; (started: 2021-03-21 09:30:59.443509127 +0000 UTC m=+32.096925747) (total time: 30.001450692s):
Trace[1427131847]: [30.001450692s] [30.001450692s] END
</code></pre>
<p>Below is my env.</p>
<pre><code># kubectl version --short
Client Version: v1.20.4
Server Version: v1.20.4

Calico CNI is installed.

# Installing Flannel network-plug-in for cluster network (calico)
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

Metal LB 0.9.5 is install &amp; configured.
</code></pre>
<p>Access From Node is working as blow.
# curl -k <a href="https://10.96.0.1:443/api/v1/namespaces/metallb-system/configmaps?fieldSelector=metadata.name%3Dconfig&amp;limit=500&amp;resourceVersion=0" rel="nofollow noreferrer">https://10.96.0.1:443/api/v1/namespaces/metallb-system/configmaps?fieldSelector=metadata.name%3Dconfig&amp;limit=500&amp;resourceVersion=0</a></p>
<pre><code>{
  &quot;kind&quot;: &quot;Status&quot;,
  &quot;apiVersion&quot;: &quot;v1&quot;,
  &quot;metadata&quot;: {

  },
  &quot;status&quot;: &quot;Failure&quot;,
  &quot;message&quot;: &quot;configmaps \&quot;config\&quot; is forbidden: User \&quot;system:anonymous\&quot; cannot list resource \&quot;configmaps\&quot; in API group \&quot;\&quot; in the namespace \&quot;metallb-system\&quot;&quot;,
  &quot;reason&quot;: &quot;Forbidden&quot;,
  &quot;details&quot;: {
    &quot;name&quot;: &quot;config&quot;,
    &quot;kind&quot;: &quot;configmaps&quot;
  },
  &quot;code&quot;: 403
}
</code></pre>
<p>But, From POD is not accessible as below. I think, It should be work.</p>
<pre><code># kubectl -n metallb-system exec -it controller-65db86ddc6-4hkdn /bin/sh
$ ip a
1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: tunl0@NONE: &lt;NOARP&gt; mtu 1480 qdisc noop state DOWN qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
4: eth0@if5: &lt;BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN&gt; mtu 1480 qdisc noqueue state UP
    link/ether 76:54:44:f1:8f:50 brd ff:ff:ff:ff:ff:ff
    inet 192.168.41.146/32 brd 192.168.41.146 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::7454:44ff:fef1:8f50/64 scope link
       valid_lft forever preferred_lft forever
/bin $ **wget --no-check-certificate  https://10.96.0.1:443/
Connecting to 10.96.0.1:443 (10.96.0.1:443)
^C**
/bin $
</code></pre>

user3373742
<p>I changed my k8s cluster configuration as below. Now It works.</p>
<pre><code>kubeadm init --apiserver-advertise-address=192.168.64.150 --apiserver-cert-extra-sans=192.168.64.150 --node-name kmaster --pod-network-cidr=10.10.0.0/16


cat /etc/hosts
192.168.64.150 kmaster
192.168.64.151 kworker1
</code></pre>
<p>And I change calico configuration as below.</p>
<pre><code>- name: CALICO_IPV4POOL_CIDR
  value: &quot;10.10.0.0/16&quot;    ### Same pod-cidr in calico
</code></pre>
