Uploaded image for project: 'Marathon'
  1. Marathon
  2. MARATHON-2911

Make load balancing and access information part of Marathon's app definition

    Details

    • Type: Task
    • Status: Accepted
    • Priority: Medium
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Orchestration
    • Labels:

      Description

      At the moment there is a disconnect between my apps inside Marathon and the way people access them. Inside Marathon I define what kind of resources my app needs and how many instances I'd like to run. Somewhere outside Marathon I configure additional app characteristics like "this app needs sticky sessions" or "this app should only be accessed using SSL".

      There's different solutions to the problem (haproxy-marathon-bridge, adminrouter, oinkerrouter, edgerouter, servicerouter just to name the ones in use inside Mesophere, not to mention 3rd party solutions) and most of them revolve around embedding configuration information inside env or labels. E.g. to indicate that my app requires sticky sessions I'd set a label HAPROXY_0_STICKY=true and servicerouter would interpret this information during haproxy config generation.

      Instead of having to use these freeform strings it'd be nicer if Marathon would store additional information about how the app should be accessed and how load balancing should be done.
      Then Marathon could provide several load balancer config plugins that provide e.g. haproxy or nginx configuration endpoints or make requests to a F5 BigIP API and update the load balancer config there.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              GitHub_lloesche Lukas Lösche (Inactive)
              Team:
              Orchestration Team
              Watchers:
              Chmielewski, daltonmatos, Matthias Eichstedt
            • Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: