You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Yang Wang (Jira)" <ji...@apache.org> on 2022/04/24 03:14:00 UTC

[jira] [Commented] (FLINK-27357) In Flink HA Service on K8S, Web UI External Service should point to elected Job Manager leader's IP

    [ https://issues.apache.org/jira/browse/FLINK-27357?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17526968#comment-17526968 ] 

Yang Wang commented on FLINK-27357:
-----------------------------------

Given that the standby JobManager also runs the monitoring API which offers information about completed and running job, in most cases it does not matter which one is the leader.

If you really care about the leader, then we could have a more general solution. Add a rest API to show the state of current rest instance. For example, [http://127.0.0.1:8081/status,] RESPONSE: \{leader-status: active}. Then both the standalone mode and native K8s could benefit from this.

> In Flink HA Service on K8S, Web UI External Service should point to elected Job Manager leader's IP
> ---------------------------------------------------------------------------------------------------
>
>                 Key: FLINK-27357
>                 URL: https://issues.apache.org/jira/browse/FLINK-27357
>             Project: Flink
>          Issue Type: Improvement
>            Reporter: Jesus H Christ
>            Priority: Minor
>
> Flink on Kubernetes has High Availability services which build an external service for the rest api access.
> [https://sourcegraph.com/github.com/apache/flink@master/-/blob/flink-kubernetes/src/main/java/org/apache/flink/kubernetes/kubeclient/decorators/ExternalServiceDecorator.java]
> In the case of multiple job managers in reactive mode or to avoid 15s or so between job manager restarts in K8S High Availability services, a new job manager leader can be elected. In this case I think the external service we create for the web ui, and possibly even the REST API service, no longer points to the correct job manager as any of the job manager pods can have the jobmanager label. Is this correct?
> If so, it might help to use the endpoint containing the elected leader IP in the ConfigMap of one specific pod of the JobManager for the external service web ui, similar to how TaskManagers use JobManager IPs for High Availabiilty.
>  
> It might also help to update the service or endpoint with the new IP  to point to when updating the ConfigMap for JobManager leader election:
> [https://sourcegraph.com/github.com/apache/flink/-/blob/flink-kubernetes/src/main/java/org/apache/flink/kubernetes/highavailability/KubernetesLeaderRetrievalDriverFactory.java]



--
This message was sent by Atlassian Jira
(v8.20.7#820007)