Kapsule, ingress and load balancer

#1

Hello,

Is there any tutorial about recommended way of deploying a service on Kapsule and having it available through Load Balancer (with SSL)?

I spent whole day trying different methods and nothing so far worked (I tried pre-installed nginx (it seems like it install incorrect ingress), traefik and manual installation).

Only way I was ever able to access a service was by doing this:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: under-construction-ingress
spec:
backend:
serviceName: under-construction-svc
servicePort: 80

I found this on this forum. The result of this was listening on all nodes on port 80 and accepting requests with any hostname. That’s quite not usable.

When I installed ingress-nginx manually it actually created the load balancer on scaleway (why and how?) - thankfully using the cheapest node.

After that using this product seems scary as there is no control whether additional billable services are being created.

Thank you,
P

#2

Hello @uniquenospacesshort !
Sorry for the late answer.

First of all you probably created a LoadBalancer type service when installing your own nginx ingress controller which indeed should have create a Scaleway LoadBalancer.

Regarding SSL, it should be done on the ingress controller, you can check out https://github.com/jetstack/cert-manager for instance which can provision Let’s Encrypt HTTS certificate on your ingress.

Cheers,

Patrik

#3

I was trying to do the same thing. I think the advice from PatrikCyvoct to use cert-manager led me to find this tutorial that explains exactly how to use it with scaleway:

I followed the instructions in the tutorial and this is working for me. I now have domains secured by Let’s Encrypt certificates that are served by the correct services in my cluster.

Edit: wow, just realizing this link I found is only 12 days old. I was lucky I didn’t need to do this last month like you, uniquenospacesshort.