I have setup my cluster of 1 master and 1 node from the following guide. CentOS Manual Install
after that I am just trying to deploy the dashboard (or anything for that matter) and I get following error in
kubectl get events
25m 1h 23 10.3.0.5 Node Warning MissingClusterDNS {kubelet 10.3.0.5} (events with common reason combined)
30m 1h 16 10.3.0.5 Node Warning MissingClusterDNS {kubelet 10.3.0.5} kubelet does not have ClusterDNS IP configured and cannot create Pod using "ClusterFirst" policy. pod: "kubernetes-dashboard-1975554030-cc9n1_kube-system(ebab5633-c9d1-11e6-a741-000d3af22f09)". Falling back to DNSDefault policy.
56m 56m 1 10.3.0.5 Node Warning MissingClusterDNS {kubelet 10.3.0.5} kubelet does not have ClusterDNS IP configured and cannot create Pod using "ClusterFirst" policy. pod: "busybox_default(9634cf12-c9d7-11e6-a741-000d3af22f09)". Falling back to DNSDefault policy.
26m 26m 2 10.3.0.5 Node Warning MissingClusterDNS {kubelet 10.3.0.5} kubelet does not have ClusterDNS IP configured and cannot create Pod using "ClusterFirst" policy. pod: "kubernetes-dashboard-1975554030-31rnp_kube-system(bdce120a-c9db-11e6-a741-000d3af22f09)". Falling back to DNSDefault policy.
...
Also when trying to get to dashboard I get this
curl http://localhost:8001/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "no endpoints available for service \"kubernetes-dashboard\"",
"reason": "ServiceUnavailable",
"code": 503
}
Other logs and info
kubectl cluster-info
Kubernetes master is running at http://localhost:8080
kubectl version
Client Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.0", GitCommit:"86dc49aa137175378ac7fba7751c3d3e7f18e5fc", GitTreeState:"clean", BuildDate:"2016-12-15T16:57:18Z", GoVersion:"go1.6.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.0", GitCommit:"86dc49aa137175378ac7fba7751c3d3e7f18e5fc", GitTreeState:"clean", BuildDate:"2016-12-15T16:57:18Z", GoVersion:"go1.6.3", Compiler:"gc", Platform:"linux/amd64"}
kubectl get nodes
NAME STATUS AGE
10.3.0.5 Ready 3h
kubectl get services --all-namespaces
NAMESPACE NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default kubernetes 10.254.0.1 <none> 443/TCP 1h
kube-system kubernetes-dashboard 10.254.155.149 <nodes> 80/TCP 31m
kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system kubernetes-dashboard-1975554030-1ramq 0/1 CrashLoopBackOff 10 31m
Best Answer
The Kubernetes-dashboard requires a working cluster DNS service.
Here's a manifest you can use to deploy CoreDNS in your cluster with working DNS.
I'm taking a guess your cluster DNS is 10.254.0.10 based on some of the output above.
You should be able to save this code in a text file (eg called k8s-dns.yaml) and then install it with
kubectl create -f k8s-dns.yaml
As an aside. I would suggest following the documentation for kubeadm as it is much more up to date and will give you a fully working cluster.