[jira] [Created] (FLINK-15822) Rethink the necessity of the internal Service

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-15822) Rethink the necessity of the internal Service

Shang Yuanchun (Jira)
Canbin Zheng created FLINK-15822:
------------------------------------

             Summary: Rethink the necessity of the internal Service
                 Key: FLINK-15822
                 URL: https://issues.apache.org/jira/browse/FLINK-15822
             Project: Flink
          Issue Type: Sub-task
          Components: Deployment / Kubernetes
    Affects Versions: 1.10.0
            Reporter: Canbin Zheng
             Fix For: 1.11.0, 1.10.1


The current design introduces two Kubernetes Services when deploying a new session cluster.  The rest Service serves external communication while the internal Service mainly serves two purposes:
 # A discovery service directs the communication from TaskManagers to the JobManager Pod that has labels containing the internal Service’s selector in the non-HA mode, so that the TM Pods could re-register to the new JM Pod once a JM Pod failover occurs, while in the HA mode, there could be one active and multiple standby JM Pods, so we use the Pod IP of the active one for internal communication instead of using the internal Service .
 # The OwnerReference of all other Kubernetes Resources, including the rest Service,  the ConfigMap and the JobManager Deployment.

Is it possible that we just create one single Service instead of two? I think things could work quite well with only the rest Service, meanwhile the design and code could be more succinct.

This ticket proposes to remove the internal Service, the core changes including
 # In the non-HA mode, we use the rest Service as the JobManager Pod discovery service.
 # Set the JobManager Deployment as the OwnerReference of all the other Kubernetes Resources, including the rest Service and the ConfigMap.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)