Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.10.0
    • 1.11.0
    • None

    Description

      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:

      1. 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 .
      2. 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

      1. In the non-HA mode, we use the rest Service as the JobManager Pod discovery service.
      2. Set the JobManager Deployment as the OwnerReference of all the other Kubernetes Resources, including the rest Service and the ConfigMap.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              felixzheng Canbin Zheng
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: