<p>I have successfully set up a kubernetes cluster on AWS using <code>kops</code> and the following commands:</p>

<pre><code>$ kops create cluster --name=&lt;my_cluster_name&gt; --state=s3://&lt;my-state-bucket&gt; --zones=eu-west-1a --node-count=2 --node-size=t2.micro --master-size=t2.small --dns-zone=&lt;my-cluster-dns&gt;

$ kops update cluster &lt;my-cluster-name&gt; --yes
</code></pre>

<p>The cluster has 1 master and 2 slaves.</p>

<p>I am trying to deploy the dashboard using the following command, as per <a href="https://github.com/kubernetes/dashboard" rel="nofollow noreferrer">these guidelines</a>:</p>

<pre><code>$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
</code></pre>

<p><strong>1</strong>.</p>

<p>I get the following error:</p>

<pre><code>secret "kubernetes-dashboard-certs" created
serviceaccount "kubernetes-dashboard" created
error: error validating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": error validating data: unknown object type schema.GroupVersionKind{Group:"rbac.authorization.k8s.io", Version:"v1", Kind:"Role"}; if you choose to ignore these errors, turn validation off with --validate=false
</code></pre>

<p><strong>2</strong>.</p>

<p>My dashboard is not accessible via <code>https://&lt;my_master_node_public_ip&gt;/ui</code></p>

<p>Instead, I get the following:</p>

<pre><code>kind    "Status"
apiVersion  "v1"
metadata    {}
status  "Failure"
message "endpoints \"kubernetes-dashboard\" not found"
reason  "NotFound"
details 
name    "kubernetes-dashboard"
kind    "endpoints"
code    404
</code></pre>

<p><strong>3</strong>. </p>

<p>After running</p>

<pre><code>kubectl proxy
</code></pre>

<p>and trying to access the dashboard via:</p>

<pre><code>http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
</code></pre>

<p>as instructed by the relevant guidelines, I have the exact same problem.</p>

<pre><code>$ kubectl version
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.1", GitCommit:"f38e43b221d08850172a9a4ea785a86a3ffa3b3a", GitTreeState:"clean", BuildDate:"2017-10-11T23:27:35Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.11", GitCommit:"b13f2fd682d56eab7a6a2b5a1cab1a3d2c8bdd55", GitTreeState:"clean", BuildDate:"2017-11-25T17:51:39Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
</code></pre>

<p><strong>edit</strong>: here is the outcome when turning validation errors off:</p>

<pre><code>$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml --validate=false
secret "kubernetes-dashboard-certs" configured
serviceaccount "kubernetes-dashboard" configured
service "kubernetes-dashboard" created
Error from server (BadRequest): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": Role in version "v1" cannot be handled as a Role: no kind "Role" is registered for version "rbac.authorization.k8s.io/v1"
Error from server (BadRequest): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": RoleBinding in version "v1" cannot be handled as a RoleBinding: no kind "RoleBinding" is registered for version "rbac.authorization.k8s.io/v1"
Error from server (BadRequest): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": Deployment in version "v1beta2" cannot be handled as a Deployment: no kind "Deployment" is registered for version "apps/v1beta2"
</code></pre>

<p>The problem is that you're provisioning a Kubernetes 1.7 cluster with kops and using a <a href="https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml" rel="nofollow noreferrer">dashboard manifest</a> file for Kubernetes 1.8 so try the following (nuke the current deployment first), then:</p>

<pre><code>$ kops create cluster --kubernetes-version="1.8.1" --name=&lt;my_cluster_name&gt; --state=s3://&lt;my-state-bucket&gt; --zones=eu-west-1a --node-count=2 --node-size=t2.micro --master-size=t2.small --dns-zone=&lt;my-cluster-dns&gt;
</code></pre>

<p>As pointed out by <a href="https://stackoverflow.com/users/2409793/pkaramol">pkaramol</a>, alternatively to above you can upgrade kops to 1.8 and it should also work.</p>

<p>Note that in any case, in order to get to the dashboard, do:</p>

<pre><code>$ kubectl proxy
</code></pre>

<p>... and then the dashboard should be accessible via <a href="http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/" rel="nofollow noreferrer">http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/</a>   </p>
