GKE - How does one expose a Node.js server via the L7 load balancer?

4/20/2016

In a Google Container Engine (GKE) cluster, of version 1.2.2, how can I expose my Node.js server via the built-in L7 load balancer (GLBC)? The Node.js server runs on port 8080.

Please let me know if you need more info.

-- aknuds1
google-kubernetes-engine
kubernetes
load-balancing
node.js

1 Answer

4/20/2016

One creates an Ingress type of resource, which points to the correct back-end service and its port. The back-end service must also be of type NodePort.

Ingress

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: l7-ingress
spec:
  backend:
    serviceName: web
    servicePort: 8080

Back-End Service

apiVersion: v1
kind: Service
metadata:
  name: web
  labels:
    app: web
spec:
  ports:
  - name: http
    port: 8080
    protocol: TCP
  selector:
    app: web
  type: NodePort
-- aknuds1
Source: StackOverflow