Hi devs,

So far we keep developing the native K8s integration for three major
release cycles in Flink.

   -

   Flink 1.10
   -

      Beta version
      -

      Dynamic resource allocation
      -

      Session mode only
      -

   Flink 1.11
   -

      Application mode
      -

      Usability Improvements
      -

      GPU resource support
      -

   Flink 1.12
   -

      Security improvements(kerberos, K8s secret)
      -

      PyFlink support
      -

      K8s HA

Now the native K8s integration is almost production ready. We already have
the common features for deploying a Flink cluster on K8s cluster natively.
However, compared with the current supported features[1] in
flink-on-k8s-operator and the feedback from users(ML and JIRAs), I am
afraid that we still need some advanced features.

   -

   Init containers[2]
   -

   Sidecar containers[3]
   -

   Arbitrary volume(PVC, hostpath, emptyDir, ConfigMap) mount[4]
   -

   Set owner reference for the JobManager deployment[5]
   -

   Support customizing of containers for native kubernetes setup[6]
   -

   Pod Affinity and Anti-affinity
   -

   Pod Security Context
   -

   Pod Environment Variables Reference

Although they may not be used very frequently or we already have some work
around, I think they are still important for the production. So I am
considering whether we could introduce a pod template[7] for all the use
cases. Users could configure a local yaml file for JobManager/TaskManager.
This will let Flink create the JobManager/TaskManager pods with the
template first, not the empty. Of course, the Flink config options for
Kubernetes[8] have high priority and could overwrite these values. The pod
template could help us get rid of maintaining more and more K8s features.


Looking forward to your suggestions.


[1]. https://github.com/GoogleCloudPlatform/flink-on-k8s-operator#features

[2]. https://issues.apache.org/jira/browse/FLINK-15641

[3]. https://issues.apache.org/jira/browse/FLINK-15871

[4]. https://issues.apache.org/jira/browse/FLINK-15649

[5]. https://issues.apache.org/jira/browse/FLINK-20359

[6]. https://issues.apache.org/jira/browse/FLINK-20324

[7]. https://issues.apache.org/jira/browse/FLINK-15656

[8].
https://ci.apache.org/projects/flink/flink-docs-master/deployment/config.html#kubernetes


Best,

Yang

Reply via email to