Follow these links to create cluster with UI

https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/

Create cluster user with clusterrolebindings which enable visibility of k8s resources, this user will be created with a token which can be used for login. https://github.com/kubernetes/dashboard/wiki/Creating-sample-user Deploy k8s dashboard through yaml. https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/

Dashboard has a hidden feature to show rough summary of resource usage of each pod and node. This feature depends on Heapster, which will use TCP 10255 to talk with kubelet on each node to collect data. However, new version of k8s suggests to disable this port 10255, because this port is not authorization enabled and may risk system integrity. This port is defined under kublet setting file kubeletenv.conf on each node, --read-only-port=10255, it can be disabled by --read-only-port=0.