Kubernetes load balancer not receiving an external IP

kubernetesvmware-vsphere

[ansible@kctl-master kubectl]$ sudo kubectl get services
NAME            CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
kubernetes      10.254.0.1      <none>        443/TCP        43s
nginx-ingress   10.254.39.207   <pending>     80:32102/TCP   1m
[ansible@kctl-master kubectl]$ 

after running,

trying to have a virtual-ip not being used by this or any nodes for HA.

But "external-ip" is stuck at "pending"

[ansible@kctl-master kubectl]$ cat 0-ingress.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-ingress
spec:
  type: LoadBalancer
  ports:
    - port: 80
      name: http
      nodePort: 32102
  selector:
    k8s-app: nginx-ingress-lb
[ansible@kctl-master kubectl]$ 

Best Answer

vSphere's cloud provider only supports volumes, not LoadBalancer services: http://vmware.github.io/docker-volume-vsphere/kubernetes/overview.html.

As such, Kubernetes is unable to provision a load balancer for said services. You should either use a NodePort service or externalIPs to expose your service to the world.