I have installed kubernetes on my ubuntu machine when I tried to run the following command I see external-IP as "pending", where svc.yml is service object in linkerd, link below
3 Answers
The yaml you specified for the Service has type: LoadBalancer
. That will only work with a cloud provider - so not on your bare metal Ubuntu installation.
Modify the Service definition and specify a different type, for example clusterIP

- 25,074
- 5
- 73
- 75
I think you have insufficient memory on your machine, try this command
kubectl get nodes -o yaml | grep '\sname\|cpu\|memory'
reference: https://kubernetes.io/docs/user-guide/debugging-pods-and-replication-controllers/

- 1,474
- 4
- 13
- 19
-
1This is not the problem in this case. The Service itself is pending state, not pods. See my answer below. – Janos Lenart Mar 10 '17 at 15:24
Try this one if you are using LoadBalancer
on an on-premise / bare-metal kubernetes cluster.
https://github.com/google/metallb
From the project description:
Kubernetes does not offer an implementation of network load-balancers (Services of type LoadBalancer) for bare metal clusters. ... If you’re not running on a supported IaaS platform (GCP, AWS, Azure…), LoadBalancers will remain in the “pending” state indefinitely when created.
and this project tries to solve this problem.

- 2,775
- 4
- 16
- 27