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
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
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/
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.