How do I setup an ingress on digitalocean kubernetes

November 4, 2018 6.8k views
Kubernetes

I’ve been trying out the new kubernetes product by DO and so far it’s going great. While I can create LoadBalancer services, I don’t seem to be able to create an ingress. My config:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: loadbalancer-https
spec:
  tls:
    - hosts:
        - demo1.example.com
      secretName: ssl-example-com
  rules:
    - host: demo1.example.com
      http:
        paths:
          - path: /admin
            backend:
              serviceName: admin
              servicePort: 3000
          - path: /user
            backend:
              serviceName: user
              servicePort: 3001
          - path: /
            backend:
              serviceName: root
              servicePort: 80

The ssl secret is already deployed to the cluster (and the actual hostname has been replaced with ‘example’ here). I’ve also tried without ssl and also tried with
kubernetes.io/ingress.class: "nginx" meta tag. Neither seemed to work. Am I missing something?

5 Answers

The generic steps worked for me:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/provider/cloud-generic.yaml

The verification steps from the doc checked out, and I can see the load balancer the process created in the do dashboard.

You can probably do the same with a single step via the Helm installation (also documented on the nginx-ingress/deploy page). That’s how we deploy it at work (on an ACS cluster in Azure).

Hi, and thanks for your question!

We actually just published How to Set Up an Nginx Ingress with Cert-Manager on DigitalOcean Kubernetes. Hope this tutorial helps!

by Hanif Jetha
In this tutorial, learn how to set up and secure an Nginx Ingress Controller with Cert-Manager on DigitalOcean Kubernetes.

You might need to install an ingress server like nginx-ingress: https://kubernetes.github.io/ingress-nginx/deploy/

Your cluster requires an Ingress Controller to route traffic from a Load-Balancer to a Service.

The flow of traffic is like this:

(internet) -> LoadBalancer -> [ Ingress Controller -> Service]

You can deploy an ingress controller like nginx by following this: https://kubernetes.github.io/ingress-nginx/deploy/

@aaroncoinmode @maartje Thank you so much for your responses.

I have the same issue. I am new in Kubernates…

I already took a look at the pages you mentioned. And there are generic command and cloud specific command. And there is no mention about cloud specific command for DO. Does it mean I only need to run generic command?

Have another answer? Share your knowledge.