The attempt to deploy Apache Flink Stateful Functions using the Kubernetes operator did not succeed. Does the Kubernetes operator provide support for such deployments?
https://github.com/apache/flink-kubernetes-operator
tried the deployment:
apiVersion: flink.apache.org/v1beta1
kind: FlinkDeployment
metadata:
name: statefun
spec:
image: flink-statefun-local:3.3.0-java11
flinkVersion: v1_16
flinkConfiguration:
statefun.flink-job-name: Statefun Application
taskmanager.numberOfTaskSlots: "1"
serviceAccount: flink
jobManager:
resource:
memory: "2024m"
cpu: 2
taskManager:
resource:
memory: "1024m"
cpu: 1
podTemplate:
spec:
containers:
- name: flink-main-container
volumeMounts:
- mountPath: /tmp/flink
name: jar
volumes:
- name: jar
hostPath:
path: /tmp/flink
type: Directory
job:
jarURI: local:///tmp/flink/flink-statefun-uber-jar-1.0-SNAPSHOT.jar
parallelism: 1
upgradeMode: stateless
When attempting to use the 'flink:17' image, I encountered an issue.
Caused by: java.lang.IllegalStateException: An extension with type TypeName(io.statefun.kafka.v1, ingress) does not exist.
But k8s operator works perfectly for Apache Flink streaming applications.
module.yaml has been used
kind: io.statefun.endpoints.v2/http
spec:
functions: ua.execution/*
urlPathTemplate: http://localhost:8080/v1/functions
transport:
type: io.statefun.transports.v1/async
timeouts:
call: 5min
connect: 20sec
read: 10sec
write: 10sec
---
kind: io.statefun.kafka.v1/ingress
spec:
id: engine/rules-updated-event
address: localhost:9092
consumerGroupId: test-dev
startupPosition:
type: latest
topics:
- topic: topictest
valueType: ua.store.model/UpdatedResponse
targets:
- ua.execution/finUpdatedIngressStore