<p>I'm trying to start a dashboard inside <a href="http://labs.play-with-k8s.com/" rel="nofollow noreferrer">play-with-kubernetes</a></p>

<p>Commands I'm running:</p>

<h1>start admin node</h1>

<pre><code>kubeadm init --apiserver-advertise-address $(hostname -i)
</code></pre>

<h1>start network</h1>

<pre><code>kubectl apply -n kube-system -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
</code></pre>

<h1>allow master to hold nodes(?)</h1>

<pre><code>kubectl taint nodes --all node-role.kubernetes.io/master-
</code></pre>

<h1>Wait until dns is up</h1>

<pre><code>kubectl get pods --all-namespaces
</code></pre>

<h1>join node (copy from admin startup, not from here)</h1>

<pre><code>kubeadm join --token 43d52c.d72308004d523ac4 10.0.21.3:6443
</code></pre>

<h1>download and run dashboard</h1>

<pre><code>curl -L -s https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml  | sed 's/targetPort: 8443/targetPort: 8443\n  type: NodePort/' | \
    kubectl apply -f -
</code></pre>

<p>Unfortunatelly dashboard is not available.
What should I do to correctly deploy it inside play-with-kubernetes?</p>

<p>You need heapster for dashboard to work. So execute these as well:</p>

<pre><code>kubectl apply -f https://github.com/kubernetes/heapster/raw/master/deploy/kube-config/rbac/heapster-rbac.yaml
kubectl apply -f https://github.com/kubernetes/heapster/raw/master/deploy/kube-config/influxdb/heapster.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/heapster/master/deploy/kube-config/influxdb/influxdb.yaml
</code></pre>

<p>Also, unless you want to fiddle with authentication you need to grant dashboard admin privileges with something like this:</p>

<pre><code>kubectl create clusterrolebinding insecure-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard
</code></pre>

<p>Eventually a port link will appear (<code>30xxx</code>) but you will need to change the url scheme to https from http - and convince your browser that you don't care about the insecure certificate.</p>

<p>You should have a working dashboard now. Piece of cake ;)</p>
