<p>I have installed a Kubernetes with Kubeadm tool, and then followed the <a href="https://kubernetes.io/docs/user-guide/ui/" rel="nofollow noreferrer">documentation</a> to install the Web UI (Dashboard). Kubernetes is installed and running in one node instance which is a taint master node. </p>

<p>However, I'm not able to access the Web UI at <code>https://&lt;kubernetes-master&gt;/ui</code>. Instead I can access it on <code>https://&lt;kubernetes-master&gt;:6443/ui</code>.</p>

<p>How could I fix this?</p>

<p>The URL you are using to access the dashboard is an endpoint on the API Server. By default, <code>kubeadm</code> deploys the API server on port <code>6443</code>, and not on <code>443</code>, which is what you would need to access the dashboard through <code>https</code> without specifying a port in the URL (i.e. <code>https://&lt;kubernetes-master&gt;/ui</code>)</p>

<p>There are various ways you can expose and access the dashboard. These are ordered by increasing complexity:</p>

<ul>
<li>If this is a dev/test cluster, you could try making <code>kubeadm</code> deploy the API server on port <code>443</code> by using the <code>--api-port</code> flag <a href="https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/cmd/init.go#L83" rel="noreferrer">exposed</a> by <code>kubeadm</code>.</li>
<li>Expose the dashboard using a <a href="https://kubernetes.io/docs/user-guide/services/" rel="noreferrer">service</a> of type <code>NodePort</code>.</li>
<li>Deploy an <a href="https://kubernetes.io/docs/user-guide/ingress/" rel="noreferrer">ingress</a> controller and define an ingress point for the dashboard.</li>
</ul>
