The F5 Marathon ASP Controller deploys the F5 Application Services Proxy (ASP) in a Marathon cluster.
The F5 Marathon ASP Controller watches Marathon’s event stream. It deploys (or updates) the ASP when the following events occur:
f5-asp: enable
launches;f5-asp: enable
changes;f5-asp: enable
added for the first time.When the F5 Marathon ASP Controller discovers a Marathon Application with ASP enabled, it:
asp-<app-name>.<domain-name>
);The F5 Marathon ASP Controller configurations must be valid JSON. Use the configuration parameters to define the default settings for the ASP. You can use the override labels to override the default settings when you enable ASP for a new App.
Parameter | Type | Required | Default | Description | Override Label |
---|---|---|---|---|---|
MARATHON_URL | string | Required | Set Marathon API URL Example: http://127.0.0.1:8080 |
||
ASP_ENABLE_LABEL | string | Optional | f5-asp |
Set default Application label for ASP. The label must conform to the same set of restrictions as a valid Marathon app name, i.e., only contain digits (0-9), dashes (-), dots (.) and lowercase letters (a-z). [1] | |
ASP_DEFAULT_CPU | decimal | Optional | 1.0 | Set default CPU for ASP tasks | ASP_CPU |
ASP_DEFAULT_MEM | decimal | Optional | 256.0 | Set default memory for ASP tasks | ASP_MEM |
ASP_DEFAULT_STORAGE | integer | Optional | 0 | Allocate storage for ASP tasks | ASP_STORAGE |
ASP_DEFAULT_COUNT_PER_APP | integer | Optional | 1 | Set default number of ASP tasks per Application | ASP_COUNT_PER_APP |
ASP_DEFAULT_CONTAINER | string | Optional | f5networks/asp | Set the default ASP Docker image to pull | ASP_CONTAINER |
ASP_DEFAULT_CONTAINER_PORT | integer | Optional | 8000 | Set the default container port | [2] |
ASP_DEFAULT_URIS | string | Optional | EMPTY | Set the default URIs to pass to Marathon (comma-separated list) | ASP_URIS |
ASP_DEFAULT_VS_KEEP_ALIVE | integer | Optional | 1000 | Set the default virtual server keep-alive (msecs) | ASP_VS_KEEP_ALIVE |
ASP_DEFAULT_VS_PROTOCOL | string | Optional | http | Set default protocol Options: - http - tcp |
ASP_VS_PROTOCOL |
ASP_DEFAULT_STATS_URL | string | Optional | Set default URL for backend stats server / analytics provider | ASP_STATS_URL | |
ASP_DEFAULT_STATS_TOKEN [3] | string | Optional | Set default authentication token for backend stats server | ASP_STATS_TOKEN | |
ASP_DEFAULT_STATS_BACKEND [3] | string | Optional | Set default stats backend (e.g., Splunk) | ASP_STATS_BACKEND | |
ASP_DEFAULT_STATS_FLUSH_INTERVAL | integer | Optional | Set default interval for flushing stats (msecs) | ASP_STATS_FLUSH _INTERVAL | |
ASP_DEFAULT_STATS_REJECT_UNAUTHORIZED [4] | boolean | Optional | Set default behavior for verifying server certificate | ASP_STATS_REJECT _UNAUTHORIZED | |
ASP_DEFAULT_STATS_CA [4] | string | Optional | Set default trusted certificate string (in PEM format) | ASP_STATS_CA | |
ASP_DEFAULT_FORCE_PULL | boolean | Optional | true | Set default behavior for pulling image from Docker | ASP_FORCE_PULL |
ASP_DEFAULT_LOG_LEVEL | string | Optional | INFO | Set default logging level Options: - INFO - DEBUG - ERROR - WARNING |
ASP_LOG_LEVEL |
ASP_DEFAULT_VS_FLAGS | JSON blob | Optional | {} | Set default
|
ASP_VS_FLAGS |
ASP_VIP_PREFIX | string | Optional | ASP_ |
Set prefix for port labels passed to the ASP | |
ASP_ENV_PREFIX | string | Optional | PROXY_ENV_ |
Set prefix for env variables passed to the ASP | |
ASP_UPGRADE_MIN_HEALTH | decimal | Optional | Set minimum health capacity for ASP upgrade strategy [5] | ||
ASP_UPGRADE_MAX_OVER | decimal | Optional | Set maximum over capacity for ASP upgrade strategy [5] |
[1] | In most cases, you shouldn’t need to override ASP_ENABLE_LABEL. You need to do so if you are in an environment where you can’t make apps named “f5-asp-” or the label “f5-asp” is already used. |
[2] | To override the default container port setting, edit the applications’ configs in the Marathon UI. |
[3] | (1, 2) When you configure ASP_DEFAULT_STATS_URL , ASP_DEFAULT_STATS_TOKEN and ASP_DEFAULT_STATS_BACKEND become required parameters. |
[4] | (1, 2) Applies if you are sending stats to an HTTPS server. |
[5] | (1, 2) Use these to configure the Upgrade and Deployment strategy of ASP. |
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | {
"id": "/example/marathon-asp-ctlr",
"cpus": 1,
"mem": 128,
"instances": 1,
"container": {
"type": "DOCKER",
"docker": {
"image": "f5networks/marathon-asp-ctlr:v1.0.0",
"network": "BRIDGE",
"forcePullImage": true,
"privileged": false,
"portMappings": []
},
"volumes": []
},
"env": {
"MARATHON_URL": "http://marathon.mesos.example.com:8080",
"ASP_ENABLE_LABEL": "asp",
"ASP_DEFAULT_CPU": "1",
"ASP_DEFAULT_MEM": "256",
"ASP_DEFAULT_STORAGE": "0",
"ASP_DEFAULT_COUNT_PER_APP": "1",
"ASP_DEFAULT_CONTAINER": "f5networks/asp:v1.0.0",
"ASP_DEFAULT_CONTAINER_PORT": "8000",
"ASP_DEFAULT_URIS": [],
"ASP_DEFAULT_VS_KEEP_ALIVE": "1000",
"ASP_DEFAULT_VS_PROTOCOL": "http",
"ASP_DEFAULT_STATS_URL": "http://splunk.example.com:8088",
"ASP_DEFAULT_STATS_TOKEN": "example-stats-token",
"ASP_DEFAULT_STATS_BACKEND": "splunk",
"ASP_DEFAULT_STATS_FLUSH_INTERVAL": "10000",
"ASP_DEFAULT_FORCE_PULL": true,
"ASP_DEFAULT_LOG_LEVEL": "info",
"ASP_DEFAULT_VS_FLAGS": {
"x-forwarded-for": false,
"x-forwarded-by": false
},
"ASP_VIP_PREFIX": "ASP",
"ASP_ENV_PREFIX": "ASP"
}
}
|