First of all, after the initial K8 installation, you will need to disable swap and remove the certificate keys on all nodes before you can either initialise the cluster on the master node or join a slave node to the cluster:
swapoff -a
service kubelet stop
rm -rf /var/lib/kubelet/pki
Also pay attention to the final output from "kubeadm init"; you will not be able to install a pod network until you have manually copied and permissioned the admin.conf file as described; instead, at least with K8 1.8, you'll get confusing W102 warnings about K8 falling back on localhost:8080:
scp root@<master_node>:/etc/kubernetes/admin.conf ~/.kube/config
And you'll need to do the same thing on the slave nodes if you want to be able to run cluster commands from them in addition.
Finally. if you want to schedule pods on your master node, check it's taint-free (returns no taint) with:
kubectl describe node <master_node> | grep -i taint
So far as pod networks go, I installed Calico without any issues. You can then continue with the Sock Shop sample installation, and check all the expected services are running with:
kubectl get services --all-namespaces