MicroK8s: Setup Ingress Nginx Controller and Cert Manager on Kubernetes Single Node Cluster
One of the advantages of MicroK8s is that it allows users to use almost all the tools and libraries available for common Kubernetes clusters, including the popular Nginx Ingress.
Introduction
MicroK8s is a lightweight, easy-to-install Kubernetes distribution designed for developers, IoT devices, and edge computing environments. One of the advantages of MicroK8s is that it allows users to use almost all the tools and libraries available for common Kubernetes clusters, including the popular Nginx Ingress. This article will guide you through the process of installing Nginx on a MicroK8s cluster.
Installing Ingress Nginx to MicroK8s
Prerequisites
Before you begin, ensure that you have a running MicroK8s cluster. If you haven't installed MicroK8s yet, you can follow this guide:

To install Nginx Ingress on MicroK8s, you first need to enable three addons: dns, cert-manager, and ingress. These addons provide essential functionality for managing domain name resolution, handling SSL certificates, and routing external traffic to your cluster.
~$ microk8s enable cert-manager ingress dns
SSL Issuer
Once you have completed all the prerequisites, you can proceed to the next step, which is installing the SSL Issuer. The process is nearly identical to that of installing an SSL Issuer for a standard Kubernetes cluster, as detailed in this guide:

Except, we must change spec.acme.solvers.http01.ingress.class to public
Install it
~$ kubectl apply -f letsencrypt-microk8s.ymlSetup Ingress
Finally, we can setup Ingress for our application running on MicroK8s. This is standard Ingress configuration except we set kubernetes.io/ingress.class as public.
Boom! Done, you have the most popular Ingress Controller running on your single node Kubernetes Cluster.
About 8grams
We are a small DevOps Consulting Firm that has a mission to empower businesses with modern DevOps practices and technologies, enabling them to achieve digital transformation, improve efficiency, and drive growth.
Ready to transform your IT Operations and Software Development processes? Let's join forces and create innovative solutions that drive your business forward.
Subscribe to our newsletter for cutting-edge DevOps practices, tips, and insights delivered straight to your inbox!
Frequently Asked Questions
What is MicroK8s?
MicroK8s is a lightweight, easy-to-install Kubernetes distribution designed for developers, IoT devices, and edge computing. It runs a fully featured cluster on a single VM and supports almost all standard Kubernetes tools and libraries, including the popular Nginx Ingress. Functionality is added through simple addons like dns, ingress, and cert-manager.
How do you install Nginx Ingress on MicroK8s?
Install Nginx Ingress on MicroK8s by enabling its built-in addons with microk8s enable cert-manager ingress dns. These addons provide DNS resolution, SSL certificate handling, and external traffic routing. You then configure an SSL issuer and Ingress resources, setting the ingress class to public, which is the class MicroK8s uses instead of the standard nginx class.
What is a Kubernetes Ingress Controller?
A Kubernetes Ingress Controller is the component that implements the routing rules defined by Ingress resources. It watches for Ingress objects and configures underlying proxy infrastructure to route external HTTP and HTTPS traffic to the correct services. Nginx is one of the most popular Ingress Controllers, valued for its high performance and flexibility.
How do you enable SSL certificates on MicroK8s?
Enable SSL on MicroK8s by turning on the cert-manager addon, then configuring a Let's Encrypt SSL issuer. The setup mirrors a standard Kubernetes cluster, except you must set spec.acme.solvers.http01.ingress.class to public. Applying the issuer manifest lets Cert Manager automatically obtain and renew free SSL certificates for your Ingress resources.
Why use MicroK8s for a single-node Kubernetes cluster?
MicroK8s is ideal for single-node clusters because it is lightweight, low-cost, and nearly zero-ops while remaining fully featured. It installs quickly on one VM and supports standard Kubernetes tooling such as Nginx Ingress and Cert Manager through simple addons. This makes it popular for development, testing, IoT, and edge scenarios compared to k3s or minikube.