LKE LoadBalancer or Ingress for an internal network only?

I need two LKE clusters. One of them for production and second for development environment. The second cluster must be only for an internal network (192.168.128.0/17). If I use LoadBalancer or Ingress, it is implemented by Nodebalancers and has an external IP always. So how to set up LoadBalancer or Ingress for an internal network only?

2 Replies

Hey @mikleand! So, the short answer is yes, you can. However, you will need to employ a workaround at this time. By the end of the year, private VLANs will be available and will make this process a bit simpler. For now, you can follow the below steps.

  • Deploy an Ingress controllerand set its service type to NodePort
  • Manually deploy a Linode running HAProxy or Nginx
  • Make the backends for all Nodes in the cluster point to the NodePort of the Ingress controller
  • Create a Calico network policy to restrict inbound traffic on the Ingress controller to the LoadBalancer

Hope this helps and feel free to followup with any questions!

Is it still the same modus?

I have a website that does not need to have High Availability. So as I see it it does not need a NodeBalancer.

I am trying to:

  1. Deploy a pod with everything needed to run app
  2. Set a service as ClusterIP to that app
  3. Deploy an ingress with a url like this:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: appname-ingress
  annotations:
    kubernetes.io/ingress.class: nginx
spec:
  rules:
  - host: 'appname.domain.se'
    http:
      paths:
      - pathType: Prefix
        path: "/"
        backend:
          service:
            name: appname-service
            port:
              number: 80

But it seems that I don't get any traffic to the pod like this?

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct