Only have connectivity to nginx pod from the node its running on

Apparently there is something wrong with the calico.yaml. Here is the solution that got my calico nodes up:

Run:
kubectl set env daemonset/calico-node -n kube-system IP_AUTODETECTION_METHOD=can-reach=www.google.com

Then the pods became ready within a few seconds.

Reference:
https://docs.projectcalico.org/networking/ip-autodetection#change-the-autodetection-method