Deploy Kubernetes Dashboard

Dashboard kubernetes berbasis webUI sehingga dapat diakses melalui browser. Anda dapat menggunakan Dashboard untuk men-deploy aplikasi dalam container ke kluster Kubernetes, troubleshoting aplikasi dan container, dan mengelola resource cluster.

Deploy Kubernetes dashboard

Untuk men-deploy dashboard, gunakan perintah.

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

List pods pada namespace kubernetes-dashboard.

# kubectl get pods -n kubernetes-dashboard
NAME                                         READY   STATUS    RESTARTS   AGE
dashboard-metrics-scraper-5cb4f4bb9c-zqkvc   1/1     Running   0          16m
kubernetes-dashboard-6967859bff-tbhpp        1/1     Running   0          16m

Creating Admin user

Buat akun admin dengan full privileges agar bisa memodifikasi cluster melalui dashboard.

Buat dan edit file dashboard-admin.yaml lalu salin konfigurasi berikut.

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin
  namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-role
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin
  namespace: kubernetes-dashboard

Deploy user dan role admin.

kubectl apply -f dashboard-admin.yaml

Selanjutnya request token untuk service account admin.

kubectl create token -n kubernetes-dashboard admin
eyJhbGciOiJSUzI1NiIsImtpZCI6Im9Vc00ycmNWaDZtRmVPZlpLYzV2dWdXVEdxTDFYMldEOVpRR0d6Tlhhbm8ifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNjkwNTkyNjQ5LCJpYXQiOjE2OTA1ODkwNDksImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJhZG1pbiIsInVpZCI6IjgwZjk5N2JmLTkzZTctNDNkYy1hMDk5LWM2MzkxOGUyMjk5MSJ9fSwibmJmIjoxNjkwNTg5MDQ5LCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4ifQ.L_F_PoYQchJoq8cbnclCYwLZyvGWsjBHcsX2JItK0fyDIRLpklYxXxvpYJD7WdQKZUgCZm7TYvCzbKqbEOl54fPiaGTbOeyyIJq-OZ2th86HWye8GFcUMId0TYKI9Lba5BngdhvmSs_GkbOAjHhWxhGiSxXC9V0UUjGeZVV36FMDNCA-ot27kBvpOsBpuAC9SgAYSBfN8M7-n2YLFiiirQFKoOGSeL84T-c2U7E4Yrfl70Hj0k1OJjGSirLZqbjobPSU65XhsPUAayk_bylg3NUQ-8a0g5noZJ9TgBNc2bmTVQMkVJD5pXlNVQIIJfhrtrUbELX7d0h1Bs3gWz3Aaw

Accessing the dashboard

Agar dashboard dapat diakses, maka perlu ditambahkan external IP pada service kubernetes-dashboard.

kubectl edit -n kubernetes-dashboard service/kubernetes-dashboard
...
  externalIPs:
  - 192.168.70.135
...
Ganti 192.168.70.135 dengan IP yang terpasang pada interface node.

Selanjutnya save konfigurasi lalu akses dashboard melalui https://192.168.70.135

Masukan token yang sudah dibuat sebelumnya dan klik sign in.