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)