Bagi seorang admin sistem atau developer yang bekerja dengan Kubernetes, ada dua hal yang hampir selalu dibutuhkan setiap hari: cara melihat kondisi cluster secara visual, dan cara mengeksekusi perintah dengan cepat lewat command line. Dua kebutuhan ini terjawab oleh dua tool yang saling melengkapi, yaitu Kubernetes Dashboard dan kubectl.
Kubernetes memang terkenal powerful, tapi juga terkenal punya kurva belajar yang cukup curam. Banyak pemula merasa kewalahan karena harus menghafal puluhan perintah kubectl, sementara di sisi lain mereka juga butuh tampilan visual yang lebih mudah dibaca dibanding output teks di terminal.
Di artikel ini, kita akan membahas tuntas bagaimana cara memasang dan menggunakan Kubernetes Dashboard sebagai antarmuka visual, sekaligus merangkum kubectl cheat sheet paling praktis yang bisa langsung kamu pakai sehari-hari, baik untuk kebutuhan monitoring, debugging, maupun deployment aplikasi di cluster.
Jika kamu seorang sysadmin, DevOps engineer, atau bahkan developer yang baru mulai terjun ke dunia container orchestration, artikel ini disusun agar bisa langsung dipraktikkan tanpa perlu bolak-balik membuka dokumentasi resmi.
Pembahasan Utama
Apa itu Kubernetes Dashboard?
Kubernetes Dashboard adalah antarmuka web (Web UI) resmi untuk cluster Kubernetes. Fungsinya adalah menampilkan informasi cluster secara visual, mulai dari daftar node, pod, deployment, service, hingga penggunaan resource (CPU dan memori) secara real-time.
Anggap saja Kubernetes Dashboard ini seperti “dashboard mobil”. Kamu tetap bisa mengendarai mobil tanpa melihat dashboard (sama seperti mengelola cluster hanya lewat kubectl), tapi dashboard membantu kamu memahami kondisi mesin, kecepatan, dan bahan bakar secara sekilas tanpa harus membongkar mesin satu per satu.
Beberapa fungsi utama Kubernetes Dashboard:
- Melihat status Pod, Deployment, ReplicaSet, StatefulSet, DaemonSet
- Memantau penggunaan CPU dan memori per node maupun per pod
- Melihat log container langsung dari browser
- Melakukan scaling deployment secara visual
- Membuat atau mengedit resource lewat form maupun YAML editor
- Memantau Events cluster untuk troubleshooting cepat
Apa itu Kubectl?
kubectl adalah command line tool resmi untuk berkomunikasi dengan Kubernetes API Server. Semua yang bisa dilakukan lewat Dashboard, sebenarnya juga bisa dilakukan lewat kubectl, bahkan dengan opsi yang jauh lebih lengkap dan fleksibel.
Bedanya, kubectl cocok untuk:
- Automasi dan scripting
- Operasi cepat tanpa perlu membuka browser
- Digunakan dalam pipeline CI/CD
- Debugging tingkat lanjut
Sedangkan Dashboard lebih cocok untuk:
- Monitoring visual harian
- Onboarding tim baru yang belum terbiasa CLI
- Presentasi kondisi cluster ke stakeholder non-teknis
Keduanya bukan pilihan “salah satu”, melainkan saling melengkapi.
Studi Kasus Sederhana
Bayangkan sebuah tim DevOps di perusahaan e-commerce mengalami laporan bahwa aplikasi checkout melambat. Dengan Kubernetes Dashboard, tim bisa langsung melihat pod mana yang mengalami high CPU usage hanya dalam hitungan detik lewat grafik visual. Setelah pod bermasalah ditemukan, barulah tim menggunakan kubectl logs dan kubectl describe pod untuk menelusuri akar masalahnya secara detail.
Kombinasi visual (Dashboard) untuk deteksi cepat, dan CLI (kubectl) untuk investigasi mendalam, adalah workflow yang sangat umum digunakan di lapangan.
Materi Praktis: Instalasi Kubernetes Dashboard
Berikut langkah umum untuk memasang Kubernetes Dashboard di cluster:
Langkah 1 โ Deploy Manifest Dashboard
Jalankan perintah berikut untuk memasang Dashboard menggunakan manifest resmi:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended.yaml
Catatan: selalu cek versi terbaru di repository resmi
kubernetes/dashboarddi GitHub, karena URL manifest dapat berubah mengikuti rilis versi.
Langkah 2 โ Buat Service Account dan Role Binding
Dashboard membutuhkan akses (token) untuk login. Buat Service Account khusus:
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
kubectl create clusterrolebinding dashboard-admin-binding \
--clusterrole=cluster-admin \
--serviceaccount=kubernetes-dashboard:dashboard-admin
Untuk lingkungan produksi, sangat disarankan tidak menggunakan
cluster-adminsecara langsung. Buat Role dengan hak akses terbatas (least privilege) sesuai kebutuhan tim.
Langkah 3 โ Ambil Token Login
kubectl -n kubernetes-dashboard create token dashboard-admin
Token inilah yang digunakan untuk login ke halaman Dashboard.
Langkah 4 โ Akses Dashboard
Gunakan kubectl proxy untuk mengakses Dashboard secara lokal:
kubectl proxy
Lalu buka browser ke:
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
Untuk akses yang lebih permanen (bukan sekadar testing lokal), pertimbangkan menggunakan Ingress atau NodePort Service agar Dashboard bisa diakses tanpa harus menjalankan kubectl proxy setiap saat.
Best Practice Keamanan Dashboard
- Jangan pernah mengekspos Dashboard langsung ke internet publik tanpa autentikasi tambahan
- Gunakan HTTPS dan sertifikat valid
- Batasi akses dengan RBAC (Role-Based Access Control) sesuai kebutuhan masing-masing pengguna
- Aktifkan audit log untuk memantau siapa saja yang mengakses Dashboard
Kubectl Cheat Sheet: Perintah yang Paling Sering Digunakan
Berikut rangkuman perintah kubectl yang paling sering dipakai sehari-hari, dikelompokkan berdasarkan kebutuhan.
1. Melihat Informasi Cluster
kubectl cluster-info # Info dasar cluster
kubectl get nodes # Daftar node
kubectl get namespaces # Daftar namespace
kubectl config get-contexts # Daftar context yang tersedia
kubectl config use-context <nama> # Pindah context/cluster
2. Melihat Resource (Pod, Deployment, Service)
kubectl get pods # Daftar pod di namespace aktif
kubectl get pods -A # Daftar pod di semua namespace
kubectl get pods -o wide # Detail tambahan (IP, node)
kubectl get deployments # Daftar deployment
kubectl get svc # Daftar service
kubectl get all # Semua resource di namespace aktif
3. Melihat Detail dan Debugging
kubectl describe pod <nama-pod> # Detail lengkap pod
kubectl logs <nama-pod> # Log container
kubectl logs -f <nama-pod> # Log real-time (tail -f)
kubectl exec -it <nama-pod> -- /bin/bash # Masuk ke dalam container
kubectl get events --sort-by=.lastTimestamp # Event cluster terbaru
4. Deployment dan Manajemen Aplikasi
kubectl apply -f file.yaml # Terapkan konfigurasi dari file
kubectl delete -f file.yaml # Hapus resource dari file
kubectl scale deployment <nama> --replicas=3 # Ubah jumlah replika
kubectl rollout status deployment <nama> # Cek status rollout
kubectl rollout undo deployment <nama> # Rollback ke versi sebelumnya
kubectl rollout history deployment <nama> # Riwayat rollout
5. Monitoring Resource
kubectl top nodes # Penggunaan resource per node
kubectl top pods # Penggunaan resource per pod
Perintah
kubectl topmembutuhkan metrics-server yang terpasang di cluster. Tanpa itu, perintah ini akan gagal dijalankan.
6. Networking dan Akses
kubectl port-forward pod/<nama-pod> 8080:80 # Forward port lokal ke pod
kubectl expose deployment <nama> --port=80 --type=LoadBalancer # Buat service baru
7. Manajemen File dan Label
kubectl cp <pod>:/path/di/pod ./lokal # Copy file dari pod ke lokal
kubectl label pod <nama-pod> env=production # Tambah label
kubectl annotate pod <nama-pod> catatan="test" # Tambah annotation
kubectl edit deployment <nama> # Edit resource langsung
Kesalahan yang Sering Terjadi
1. Lupa Menentukan Namespace
Penyebab: Banyak pengguna baru menjalankan perintah tanpa flag -n <namespace>, sehingga secara default kubectl hanya menampilkan resource di namespace default.
Dampak: Resource yang sebenarnya ada di namespace lain terlihat “hilang” padahal sebenarnya tidak.
Solusi: Selalu tambahkan -n <namespace> atau gunakan --all-namespaces (-A) saat melakukan pengecekan menyeluruh.
2. Dashboard Tidak Bisa Diakses
Penyebab: Umumnya karena Service Dashboard masih bertipe ClusterIP yang hanya bisa diakses dari dalam cluster, atau proses kubectl proxy terputus.
Dampak: Dashboard tidak bisa dibuka dari browser lokal maupun jaringan luar.
Solusi: Gunakan kubectl proxy untuk akses lokal/testing, atau atur Ingress/NodePort untuk akses yang lebih permanen dan stabil.
3. Salah Menggunakan Cluster-Admin untuk Production
Penyebab: Banyak tutorial online memberi contoh cepat dengan hak akses cluster-admin demi kemudahan.
Dampak: Risiko keamanan besar karena token Dashboard memiliki akses penuh ke seluruh cluster.
Solusi: Buat Role dan RoleBinding khusus dengan hak akses terbatas sesuai kebutuhan masing-masing tim atau pengguna.
4. Lupa Install Metrics Server
Penyebab: Perintah kubectl top dan grafik resource usage di Dashboard tidak berfungsi karena metrics-server belum terpasang.
Dampak: Monitoring CPU/memori tidak tampil, baik di CLI maupun Dashboard.
Solusi: Pastikan metrics-server sudah ter-install dan berjalan dengan baik sebelum mengandalkan fitur monitoring resource.
Tips dan Rekomendasi
- Gunakan alias untuk mempercepat pengetikan perintah, contohnya
alias k=kubectlpada file.bashrcatau.zshrc - Manfaatkan kubectl autocomplete agar pengetikan perintah lebih cepat dan minim typo
- Simpan cheat sheet ini dalam bentuk PDF agar mudah diakses saat offline atau di lingkungan tanpa koneksi internet
- Kombinasikan Dashboard untuk monitoring visual harian dan
kubectluntuk automasi serta troubleshooting mendalam - Gunakan
kubectl explain <resource>untuk melihat dokumentasi field YAML langsung dari terminal, misalnyakubectl explain pod.spec - Terapkan RBAC secara konsisten baik di Dashboard maupun akses
kubectluntuk menjaga keamanan cluster

Kesimpulan
Kubernetes Dashboard dan kubectl bukanlah dua tool yang saling bersaing, melainkan dua sisi mata uang yang sama-sama penting dalam mengelola cluster Kubernetes. Dashboard memberikan kemudahan visual untuk monitoring cepat, sementara kubectl memberikan fleksibilitas dan kekuatan penuh untuk automasi serta debugging mendalam.
Poin penting yang perlu diingat:
- Kubernetes Dashboard membutuhkan Service Account dan token untuk login
- Selalu terapkan prinsip least privilege, hindari
cluster-admindi production - Kuasai kubectl cheat sheet dasar agar pekerjaan sehari-hari jauh lebih efisien
- Metrics-server wajib terpasang agar fitur monitoring resource berfungsi
Dengan memahami keduanya secara seimbang, kamu akan jauh lebih siap mengelola cluster Kubernetes, baik untuk skala kecil di lingkungan belajar, maupun skala besar di lingkungan production perusahaan.
Sudah coba install Kubernetes Dashboard di clustermu sendiri? Yuk share pengalaman kamu di kolom komentar!
Kalau ada perintah kubectl favorit yang belum masuk di cheat sheet ini, jangan ragu untuk berdiskusi di bawah. Jangan lupa bagikan artikel ini ke rekan tim DevOps atau sysadmin kamu, dan pantau terus artikel-artikel seputar Linux, Server, dan Cloud Computing lainnya di website ini.
Frequently Asked Questions (FAQ)
Pertanyaan: Apakah Kubernetes Dashboard wajib dipasang di setiap cluster? Jawaban: Tidak wajib. Dashboard bersifat opsional dan hanya menambahkan antarmuka visual. Cluster tetap bisa dikelola sepenuhnya lewat kubectl tanpa Dashboard.
Pertanyaan: Apakah aman mengekspos Kubernetes Dashboard ke internet? Jawaban: Sebaiknya tidak secara langsung. Gunakan autentikasi tambahan, HTTPS, dan batasi akses lewat RBAC atau VPN internal untuk menjaga keamanan cluster.
Pertanyaan: Kenapa perintah kubectl top tidak berfungsi? Jawaban: Kemungkinan besar karena metrics-server belum terpasang di cluster. Pastikan metrics-server sudah berjalan sebelum menggunakan perintah ini.
Pertanyaan: Apa perbedaan utama antara kubectl dan Kubernetes Dashboard? Jawaban: Kubectl adalah command line tool untuk automasi dan operasi cepat, sedangkan Dashboard adalah antarmuka web untuk monitoring dan manajemen secara visual.
Pertanyaan: Bagaimana cara login ke Kubernetes Dashboard? Jawaban: Login menggunakan token dari Service Account yang sudah dibuat, biasanya diperoleh lewat perintah kubectl create token.
Kalau artikel ini membantu kamu memahami Kubernetes Dashboard dan Kubectl Cheat Sheet, yuk tinggalkan komentar dan ceritakan pengalaman kamu mengelola cluster Kubernetes!
Ajak juga rekan kerja atau komunitas DevOps kamu berdiskusi lewat kolom komentar di bawah. Jangan lupa bagikan artikel ini ke media sosial, dan terus ikuti update konten terbaru seputar Linux, Server, Networking, dan Cloud Computing di website ini.