Enable SSL connection for Kubernetes Dashboard
System Design practice on Codemia
Work through 120+ system design problems with detailed solutions, from rate limiters to multi-region storage.
Introduction
If you want an HTTPS connection to Kubernetes Dashboard, the first thing to know is that the current Dashboard deployment already expects secure access through its proxy service. The second thing to know is more important in 2026: Kubernetes documentation now marks Dashboard as deprecated and unmaintained, so exposing it publicly should be a deliberate, temporary choice rather than a default admin pattern.
Start With the Current Deployment Model
Current Dashboard installation guidance uses Helm and exposes the UI through the kubernetes-dashboard-kong-proxy service. A local secure access path looks like this:
After that, you reach the UI at:
For many teams, that is the safest answer. Traffic is protected with TLS, access stays local to the machine running kubectl, and you avoid publishing the dashboard on the internet.
External HTTPS Usually Belongs at an Ingress
If you really need remote browser access, do not patch random old manifest snippets that mount ad hoc cert files into outdated dashboard containers. The modern pattern is to keep the dashboard service internal and terminate TLS at an ingress controller or load balancer.
Example ingress:
The TLS secret referenced above must already exist:
This approach keeps certificate management in the normal Kubernetes ingress layer instead of hiding one-off TLS wiring inside the dashboard pod spec.
Use a Valid Certificate for the Public Hostname
If users browse to https://dashboard.example.com, the certificate must match that hostname. A self-signed certificate may work for internal testing, but browsers will warn unless the issuing certificate authority is trusted by the client machine.
In production-like environments, people often use:
- a certificate issued by their internal PKI
- cert-manager with an internal or public issuer
- a cloud load balancer with managed certificates
The exact certificate source matters less than the rule: the TLS endpoint presented to the browser must match the name the browser is using.
Authentication Still Matters After TLS
TLS protects transport. It does not replace dashboard login and cluster authorization. Current guidance still expects token-based login rather than assuming a browser certificate or kubeconfig-based workflow will solve everything automatically.
That means an HTTPS URL alone is not a complete security story. You still need:
- a controlled login process
- minimal RBAC permissions
- network restrictions
- an access path you are willing to expose
Why Port-Forward Is Often Better
Administrative UIs are attractive targets. When possible, use:
This gives you encrypted local access without publishing an externally reachable admin surface. For many operations teams, that is a better tradeoff than maintaining a permanently exposed dashboard hostname.
Consider Not Using Dashboard at All
Because the official Kubernetes docs now describe Dashboard as deprecated and unmaintained, a new deployment should be evaluated carefully. If you are designing a fresh operational workflow, consider alternatives instead of investing heavily in a permanent Dashboard exposure model.
That does not make current deployments unusable, but it should change how much infrastructure you build around them.
Common Pitfalls
The most common mistake is following old blog posts that assume manifest-based installation and older service names. Current Dashboard installation is Helm-based and sits behind the Kong proxy service.
Another issue is confusing TLS with overall security. HTTPS protects the connection, but it does not automatically solve authentication, authorization, or network exposure. Teams also often publish the dashboard publicly when a local kubectl port-forward session would have been sufficient.
Summary
- Current Dashboard access is already HTTPS-oriented through the
kubernetes-dashboard-kong-proxyservice. - The safest common option is local secure access through
kubectl port-forward. - If you need remote access, terminate TLS at an ingress or load balancer with a real certificate.
- Do not rely on outdated manifest-based TLS tutorials for current Dashboard installs.
- Kubernetes Dashboard is deprecated and unmaintained, so avoid treating it as a long-term public admin surface.
Related reading
- endpoints “default-http-backend” not found in Ingress resource
- Ensuring at most a single instance of job executing on Kubernetes and writing into Postgresql
- Error con Pods in Azure k8s Volume capability not supported
- error converting YAML to JSON, did not find expected key kubernetes
- Enable SSL for Kafka Clients
- Encoding message format onto a buffer to send via UDP sockets?
- EnableGlobalMethodSecurity is deprecated in the new spring boot 3.0
- EnableGlobalMethodSecurity vs EnableWebSecurity

System Design Fundamentals
Build a strong foundation in designing scalable, reliable distributed systems.
View the courseTrack what you have practised
A free account saves your progress, solutions and study plan across every problem on Codemia.
System Design practice on Codemia
Work through 120+ system design problems with detailed solutions, from rate limiters to multi-region storage.