F5 Container Integrations v1.3

Current Page

Application Services Proxy

Cloud Foundry

Kubernetes / OpenShift

Mesos Marathon

Support

Troubleshooting

Tutorials

Cloud Docs Home > F5 Container Integrations Index

Install the BIG-IP Controller - Marathon

The BIG-IP Controller for Marathon installs as a Marathon Application. You can do this via the Marathon REST API, or via the Marathon Web Interface.

Initial Setup

  1. Set up authentication to your secure DC/OS cluster.
  2. Create a new partition for Marathon on your BIG-IP device. The BIG-IP Controller for Marathon cannot manage objects in the /Common partition.

Launch the BIG-IP Controller App using the Marathon REST API

  1. Create a JSON config file containing the required configuration parameters.

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    // REMOVE ALL COMMENTS FROM THIS FILE BEFORE USING
    {
      "id": "marathon-bigip-ctlr",
      "cpus": 0.5,
      "mem": 64.0,
      "instances": 1,
      "container": {
        "type": "DOCKER",
        "docker": {
          // replace the version as needed
          "image": "f5networks/marathon-bigip-ctlr:1.1.0",
          "network": "BRIDGE"
        }
      },
      "env": {
        "MARATHON_URL": "http://10.190.25.75:8080",
        "F5_CC_PARTITIONS": "mesos",
        "F5_CC_BIGIP_HOSTNAME": "10.190.25.80",
        "F5_CC_BIGIP_USERNAME": "admin",
        "F5_CC_BIGIP_PASSWORD": "admin",
        // Mesos DC/OS Enterprise Authentication
        "F5_CC_DCOS_AUTH_CREDENTIALS": "{ \"scheme\": \"RS256\", \"uid\": \"my-dcos-account\", \"login_endpoint\": \"https://10.190.25.75:8080/acs/api/v1/auth/login\", \"private_key\": \"<my-private_key-string>\" }",
        "F5_CC_MARATHON_CA_CERT": "<marathon_ca_cert>"
        // Mesos DC/OS Open oath authentication
        "F5_CC_DCOS_AUTH_TOKEN": "<authentication-token>"
      }
    }
    

    f5-marathon-bigip-ctlr-example.json

  2. Upload the config file to the Marathon API server.

    1
    curl -X POST -H "Content-Type: application/json" http://<marathon_uri>/v2/apps -d @marathon-bigip-ctlr.json
    

Verify creation

Send a GET request to the Marathon API server to verify successful creation of the BIG-IP Controller App.

Tip

You can pass the response through a pretty-print tool like jq for better readability.

curl -X GET http://<marathon_uri>/v2/apps/marathon-bigip-ctlr | jq .