NodePort This way of accessing Dashboard is only recommended for development environments in a single node setup.
Edit kubernetes-dashboard service.
$ kubectl -n kube-system edit service kubernetes-dashboard You should see yaml representation of the service. Change type: ClusterIP to type: NodePort and save file.
Can change clusterip to nodeport command line without editor? Thanks!
you can change it like this
kubectl patch svc kubernetes-dashboard --type='json' -p '[{"op":"replace","path":"/spec/type","value":"NodePort"}]'
You can just fetch the YAML for this given service:
kubectl -n kube-system get service kubernetes-dashboard -o yaml > kube-dash-svc.yaml
Make the changes you want (without using an editor). e.g.,
sed 's/ClusterIP/NodePort/' kube-dash-svc.yaml > new-kube-dash-svc.yaml
Delete the current service:
kubectl delete svc kubernetes-dashboard
And finally feed this yaml back to the Kubernetes control plane:
kubectl create -f new-kube-dash-svc.yaml
kubectl patch svc you-svc -p '{"spec": {"type": "NodePort"}}'