I’m trying to work a tutorial:
.NET Microservices – Full Course
The tutorial is aimed at Windows, but I’ve been trying to follow it in Linux, as well.
The tutorial uses Docker Desktop, and specifically the Kubernetes that is installed as an optional component of Docker Desktop.
Docker Desktop isn’t available on Linux, so I’ve been using MicroK8S. And it’s been working fine, up until I tried to get ingress-nginx installed.
The instructions for installing ingress-nginx are here:
NGINX Ingress Controller Installation Guide
In Docker Desktop, on Windows, ingress-nginx is enabled with:
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.0.4/deploy/static/provider/cloud/deploy.yaml
After which I can see there have been pods and services created in the “ingress-nginx” namespace:
$ kubectl get namespace
$ kubectl get pods --namespace=ingress-nginx
$ kubectl get services --namespace=ingress-nginx
In MicroK8S, on Linux, ingress-nginx is enabled with:
$ microk8s enable ingress
This seems to work fine, except that it puts everything in the “ingress” namespace.
$ microk8s kubectl get namespace
$ microk8s kubectl get pods --namespace=ingress
$ microk8s kubectl get services --namespace=ingress
And, and I think this is the core of my problem, it doesn’t seem to create the services.
In Windows, installing ingress-nginx starts two services:
- ingress-nginx-controller
- ingress-nginx-controller-admission
In Linux, get services returns: “No resources found in ingress namespace”.
First - am I right to expect that these services should be started, in MicroK8S, the way they are in Docker Desktop?
If so, where do I go look as to find out why they are not? I’m assuming that there are some kind of logs, available, somewhere. Where do I find them?
All I have now is the console trace from when I did the enable:
$ microk8s enable ingress
Enabling Ingress
ingressclass.networking.k8s.io/public created
namespace/ingress created
serviceaccount/nginx-ingress-microk8s-serviceaccount created
clusterrole.rbac.authorization.k8s.io/nginx-ingress-microk8s-clusterrole created
role.rbac.authorization.k8s.io/nginx-ingress-microk8s-role created
clusterrolebinding.rbac.authorization.k8s.io/nginx-ingress-microk8s created
rolebinding.rbac.authorization.k8s.io/nginx-ingress-microk8s created
configmap/nginx-load-balancer-microk8s-conf created
configmap/nginx-ingress-tcp-microk8s-conf created
configmap/nginx-ingress-udp-microk8s-conf created
daemonset.apps/nginx-ingress-microk8s-controller created
Ingress is enabled