Apache Flink Stateful Functions Remote Functions Kubernetes Deployment

5/21/2020

I installed Flink Statefun Kubernetes Cluster(3 node) in HA(Zookeeper) mode. This cluster includes statefun 2.0.0 image and embedded jar,module yaml file. Also I installed another Kubernetes cluster for remote function. Offical Example shows in same Kubernetes cluster.(I think just example. Normally deploy remote functions another k8s cluster would be a better idea because of scaling the compute.) Should I define LoadBalancer service for every function? How about single LB with multiple services? How about Ingress with multiple services? https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer#step_6_optional_serve_multiple_applications_on_a_load_balancer

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: fanout-ingress
spec:
  rules:
  - http:
      paths:
      - path: /*
        backend:
          serviceName: web
          servicePort: 8080
      - path: /v2/*
        backend:
          serviceName: web2
          servicePort: 8080

Also I have to restart cluster to update module.yaml so another flink cluster might be the solution. For example embedded functions cluster(include jar) and remote functions cluster(include module.yaml). Can I deploy these cluster to same kubernetes cluster?

-- Anıl Sevici
apache-flink
flink-statefun
kubernetes

0 Answers