[
https://issues.apache.org/jira/browse/FLINK-16602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17060662#comment-17060662
]
Canbin Zheng commented on FLINK-16602:
--------------------------------------
Yes, you are right [~fly_in_gis]. Glad to reach a consensus on this ticket.
cc [~tison] [~trohrmann]. Could you help take a look and assign this ticket to
me if you agree with the change?
> Rework the Service design for Kubernetes deployment
> ---------------------------------------------------
>
> Key: FLINK-16602
> URL: https://issues.apache.org/jira/browse/FLINK-16602
> Project: Flink
> Issue Type: Improvement
> Components: Deployment / Kubernetes
> Affects Versions: 1.10.0
> Reporter: Canbin Zheng
> Priority: Major
> Fix For: 1.11.0
>
>
> {color:#0e101a}At the moment we usually create two Services for a Flink
> application, one is the internal Service and the other is the so-called rest
> Service, the previous aims for forwarding request from the TMs to the JM, and
> the rest Service mainly serves as an external service for the Flink
> application. Here is a summary of the issues:{color}
> # {color:#0e101a}The functionality boundary of the two Services is not clear
> enough since the internal Service could also become the rest Service when its
> exposed type is ClusterIP.{color}
> # {color:#0e101a}For the high availability scenario, we create a useless
> internal Service which does not help forward the internal requests since the
> TMs directly communicate with the JM via the IP or hostname of the JM
> Pod.{color}
> # {color:#0e101a}Headless service is enough to help forward the internal
> requests from the TMs to the JM. Service of ClusterIP type would add
> corresponding rules into the iptables, too many rules in the iptables would
> lower the kube-proxy's efficiency in refreshing iptables while notified of
> change events, which could possibly cause severe stability problems in a
> Kubernetes cluster.{color}
>
> {color:#0e101a}Therefore, we propose some improvements to the current
> design:{color}
> # {color:#0e101a}Clarify the functionality boundary for the two Services,
> the internal Service only serves the internal communication from TMs to JM,
> while the rest Service makes the Flink cluster accessible from outside. The
> internal Service only exposes the RPC and BLOB ports while the external one
> exposes the REST port.{color}
> # {color:#0e101a}Do not create the internal Service in the high availability
> case.{color}
> # {color:#0e101a}Use HEADLESS type for the internal Service.{color}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)