Skip to content

Instantly share code, notes, and snippets.

@zentavr
Created November 17, 2021 23:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zentavr/c6e0430f37ae22362a43245e6f29f372 to your computer and use it in GitHub Desktop.
Save zentavr/c6e0430f37ae22362a43245e6f29f372 to your computer and use it in GitHub Desktop.
Run K8S dashboard over Ingress

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"
---
apiVersion: v1
kind: Namespace
metadata:
name: kubernetes-dashboard
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: andrii-admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: andrii-admin-user
roleRef:
apiGroup: ""
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: andrii-admin-user
namespace: kubernetes-dashboard
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment