Cloud and Self-Hosting
Installing Kubernetes Dashboard on a K3s High Availability Cluster (Ubuntu 24.04)
By Amjid Ali · · Updated · 2 min read

In this article
- Step 1: Install Helm (if not already installed)
- Step 2: Add Kubernetes Dashboard Helm Repository
- Step 3: Deploy Kubernetes Dashboard
- Step 4: Expose the Dashboard for External Access
- Step 5: Create a Service Account for Login
- Step 6: Retrieve Login Token
- Optional: Secure Access Using Reverse Proxy Manager
- Dashboard Installed Successfully
The Kubernetes Dashboard is a browser-based UI that allows you to visualize, manage, and troubleshoot workloads and resources inside your Kubernetes cluster. In this guide, we will deploy the Dashboard on a K3s High Availability (HA) cluster that is already running successfully on three Ubuntu 24.04 control-plane nodes.
This tutorial assumes:
- You already have a working K3s HA cluster
- All commands are executed on the primary node (CP1) unless otherwise specified
- You have kubectl and helm available from cp1 via K3s installation
If your cluster is not yet installed, refer to the K3s HA installation guide first.
Step 1: Install Helm (if not already installed)
Helm is required because Kubernetes Dashboard now supports only Helm-based installation.
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
Verify installation:
helm version
Step 2: Add Kubernetes Dashboard Helm Repository
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
helm repo update
Step 3: Deploy Kubernetes Dashboard
helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard \
--namespace kubernetes-dashboard \
--create-namespace
This will install:
- Dashboard UI
- Kong proxy for secure access
- Required RBAC components
To verify the deployment:
kubectl -n kubernetes-dashboard get pods
The Dashboard components should show status as Running.
Step 4: Expose the Dashboard for External Access
K3s does not provide LoadBalancer services by default for Metal deployments. To enable external access temporarily:
kubectl -n kubernetes-dashboard patch svc kubernetes-dashboard-kong-proxy \
-p '{"spec":{"type":"NodePort"}}'
Check assigned NodePort:
kubectl -n kubernetes-dashboard get svc kubernetes-dashboard-kong-proxy
Example output:
kubernetes-dashboard-kong-proxy NodePort 10.43.190.83 <none> 443:31443/TCP 1m
Meaning:
- UI can be accessed via any control-plane node IP
- Port: 31443
Open in browser:
https://<ANY_CP_NODE_IP>:31443
Example for our setup:
https://10.11.12.11:31443
Your browser will show an untrusted certificate warning – proceed anyway.
Step 5: Create a Service Account for Login
By default, Dashboard requires a token authentication.
Create the YAML file:
cat <<EOF | sudo tee dashboard-admin.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
EOF
Apply it:
kubectl apply -f dashboard-admin.yaml
Step 6: Retrieve Login Token
kubectl -n kubernetes-dashboard create token admin-user
Copy the output token and paste it into the Dashboard login page:
- Authentication Method: Bearer Token
You will now access the UI with full admin privileges.
Optional: Secure Access Using Reverse Proxy Manager
Since we have Nginx Proxy Manager, we can:
- Bind a clean domain like
https://k8s.syncbricks.com - Enable proper SSL certificate (LetsEncrypt)
- Protect Dashboard behind authentication
This improves usability and security for daily operations.
(A full configuration guide will be published in part 3 of this series.)
Dashboard Installed Successfully
You can now:
- View, scale, restart applications
- Monitor nodes, pods, workloads, jobs
- Deploy new apps using UI
Keep reading
Cloud and Self-HostingInstall a 3-Node HA Kubernetes (K3s) Cluster on Ubuntu Server 24.04 Step-by-Step (Proxmox/VM Friendly)Step-by-step guide to install a 3-node HA Kubernetes (K3s) cluster on Ubuntu Server 24.04 using Proxmox VMs. Includes setup, firewall rules, tokens, and verification. · 5 min read
Cloud and Self-HostingHow to Install and Configure n8n on Oracle Cloud Always Free VM (Ubuntu 24.04)n8n (short for nodemation) is an open-source workflow automation platform that allows you to connect applications and APIs, automate repetitive tasks, a... · 4 min read
Cloud and Self-HostingFixing Port 80 and 443 Not Accessible in Oracle Cloud (Ubuntu + Nginx Guide)Step-by-step fix for Oracle Cloud ports 80 and 443 not accessible. Covers iptables rules, security lists, NSG settings, and Nginx configuration on Ubuntu. · 3 min read