title: How to enable kubernetes dashboard via nodeport?
body: <p>I'm trying to enable dashboard via nodeport service.
  I have 3 VMs:</p>
  
  <ul>
  <li>192.168.100.31 - master</li>
  <li>192.168.100.32 - minion</li>
  <li>192.168.100.33 - minion (dashboard here)</li>
  </ul>
  
  <p>After applying:</p>
  
  <pre><code>kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
  </code></pre>
  
  <p>Dashboard became accessable via kube-proxy. So I've erited service to become NodePort:</p>
  
  <pre><code>kubectl edit services kubernetes-dashboard -n kube-system
  </code></pre>
  
  <p>Then I've tried to access the dashboard via https NodePort. And it fails. When I'm trying to visit 192.168.100.31 or 192.168.100.32 like:</p>
  
  <pre><code>https://192.168.100.31:32443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default
  </code></pre>
  
  <p>Browser hangs out &amp; fired timeout error.
  Meanwhile the same URL for 192.168.100.33 allow me to add site to the browser exceptions cause of self signed cert and ... fail.</p>
  
  <pre><code>This site can’t be reached
  The webpage at https://192.168.100.33:32443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default might be temporarily down or it may have moved permanently to a new web address.
  ERR_INVALID_RESPONSE
  </code></pre>
  
  <p>kubernetes version: v1.11.1</p>
  
  <p><strong>UPD:</strong></p>
  
  <p>kubectl get svc kubernetes-dashboard -n kube-system --export -o yaml</p>
  
  <pre><code>apiVersion: v1
  kind: Service
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"creationTimestamp":null,"labels":{"k8s-app":"kubernetes-dashboard"},"name":"kubernetes-dashboard","namespace":"kube-system","selfLink":"/api/v1/namespaces/kube-system/services/kubernetes-dashboard"},"spec":{"ports":[{"nodePort":32443,"port":443,"protocol":"TCP","targetPort":8443}],"selector":{"k8s-app":"kubernetes-dashboard"},"sessionAffinity":"None","type":"NodePort"},"status":{"loadBalancer":{}}}
    creationTimestamp: null
    labels:
      k8s-app: kubernetes-dashboard
    name: kubernetes-dashboard
    selfLink: /api/v1/namespaces/kube-system/services/kubernetes-dashboard
  spec:
    externalTrafficPolicy: Cluster
    ports:
    - port: 443
      protocol: TCP
      targetPort: 8443
    selector:
      k8s-app: kubernetes-dashboard
    sessionAffinity: None
    type: NodePort
  status:
    loadBalancer: {}
  </code></pre>
  
  <p>kubectl get svc kubernetes-dashboard -n kube-system</p>
  
  <pre><code>NAME                   TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
  kubernetes-dashboard   NodePort   10.96.174.242   &lt;none&gt;        443:32443/TCP   52m
  </code></pre>
  
  <p>kubectl describe svc kubernetes-dashboard -n kube-system</p>
  
  <pre><code>Name:                     kubernetes-dashboard
  Namespace:                kube-system
  Labels:                   k8s-app=kubernetes-dashboard
  Annotations:              kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"creationTimestamp":null,"labels":{"k8s-app":"kubernetes-dashboard"},"name":"kubernete...
  Selector:                 k8s-app=kubernetes-dashboard
  Type:                     NodePort
  IP:                       10.96.174.242
  Port:                     &lt;unset&gt;  443/TCP
  TargetPort:               8443/TCP
  NodePort:                 &lt;unset&gt;  32443/TCP
  Endpoints:                192.0.2.2:8443
  Session Affinity:         None
  External Traffic Policy:  Cluster
  Events:                   &lt;none&gt;
  </code></pre>