We have nginx ingress at our cluster:
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update ingress-nginx
helm upgrade --install \
--namespace ingress-nginx \
--create-namespace ingress-nginx \
ingress-nginx/ingress-nginx \
--set controller.service.type="NodePort" \
--set controller.service.nodePorts.https=30443 \
--set controller.service.nodePorts.http=30080
Install Dashboard:
kubectl apply -f dashboard-user.yml
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
helm upgrade --install \
--namespace kubernetes-dashboard \
--set enableInsecureLogin="false" \
--set ingress.enabled="true" \
--set "ingress.hosts={'api.example.net','console.example.net'}" \
--set-string ingress.annotations."kubernetes\.io/ingress\.class"=nginx \
--set-string ingress.annotations."nginx\.ingress\.kubernetes\.io/secure-backends"=true \
--set-string ingress.annotations."nginx\.ingress\.kubernetes\.io/backend-protocol"=HTTPS \
kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard
Get Token:
TOKEN_ID=$(kubectl -n kubernetes-dashboard get sa/andrii-admin-user -o jsonpath="{.secrets[0].name}")
TOKEN=$(kubectl -n kubernetes-dashboard get secret $TOKEN_ID -o go-template="{{.data.token | base64decode}}")
echo "Your token is: $TOKEN"