mirror of https://github.com/docker/docs.git
Add ucp 3.0 template to interlock docs
This commit is contained in:
parent
b083b2a923
commit
5313d79baa
|
|
@ -3,8 +3,13 @@ title: Configure Interlock
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
Interlock configuration is managed via file as [TOML](https://github.com/toml-lang/toml).
|
||||
The following will describe how to configure the various components of Interlock.
|
||||
|
||||
|
|
@ -85,3 +90,5 @@ PollInterval = "3s"
|
|||
[Extensions.default.ProxyLabels]
|
||||
proxy_name = "defaultProxy"
|
||||
```
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: Interlock service labels
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
Applications that publish using Interlock use service labels to configure how they are published.
|
||||
The following table describes the available options and what they do.
|
||||
|
||||
|
|
@ -25,3 +30,5 @@ The following table describes the available options and what they do.
|
|||
| `com.docker.lb.sticky_session_cookie` | Cookie to use for sticky sessions | `none` |
|
||||
| `com.docker.lb.redirects` | Semi-colon separated list of redirects to add in the format of `<source>,<target>`. Example: (`http://old.example.com,http://new.example.com;`) | `none` |
|
||||
| `com.docker.lb.ssl_passthrough` | Enable SSL passthrough | `false` |
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: Use HAProxy with Interlock
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
The following configuration options are available:
|
||||
|
||||
| Option | Type | Description |
|
||||
|
|
@ -26,3 +31,5 @@ The following configuration options are available:
|
|||
|
||||
When using SSL termination the certificate and key must be combined into a single certificate (i.e. `cat cert.pem key.pem > combined.pem`). The HAProxy extension
|
||||
will use the certificate label only to configure SSL.
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: Use NGINX with Interlock
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
The following configuration options are available for the Nginx extension:
|
||||
|
||||
| Option | Type | Description |
|
||||
|
|
@ -28,3 +33,5 @@ The following configuration options are available for the Nginx extension:
|
|||
| `ErrorLogPath` | string | Path to use for error logs (default: `/dev/stdout`) |
|
||||
| `MainLogFormat` | string | [Format](http://nginx.org/en/docs/http/ngx_http_log_module.html#log_format) to use for main logger |
|
||||
| `TraceLogFormat` | string | [Format](http://nginx.org/en/docs/http/ngx_http_log_module.html#log_format) to use for trace logger |
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: Get started with Interlock
|
|||
description: earn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
Docker Enterprise Edition has a routing mesh that allows you to make your
|
||||
services available to the outside world using a domain name. This is also
|
||||
known as a layer 7 load balancer.
|
||||
|
|
@ -40,3 +45,5 @@ UCP web UI, navigate to the **Admin Settings** page, and click the
|
|||
By default, the routing mesh service listens on port 80 for HTTP and port
|
||||
8443 for HTTPS. Change the ports if you already have services that are using
|
||||
them.
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,12 @@ title: Deploy Interlock manually
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
## Requirements
|
||||
|
||||
|
|
@ -80,3 +84,5 @@ sjpgq7h621ex interlock replicated 1/1
|
|||
```
|
||||
|
||||
The Interlock traffic layer is now deployed. Continue with the [Deploying Applications](/usage/index.md) to publish applications.
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: Deploy Interlock offline
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
To install Interlock on a Docker cluster without internet access the Docker images will
|
||||
need to be loaded. This guide will show how to export the images from a local Docker
|
||||
engine to then be loaded to the Docker Swarm cluster.
|
||||
|
|
@ -36,3 +41,5 @@ $> docker load < nginx:alpine.tar
|
|||
|
||||
After running on each node, you can continue to the [Deployment](index.md#deployment) section to
|
||||
continue the installation.
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: Deploy Interlock for Production
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
## Production Deployment
|
||||
In this section you will find documentation on configuring Interlock
|
||||
for a production environment. If you have not yet deployed Interlock please
|
||||
|
|
@ -82,3 +87,5 @@ addresses of the dedicated ingress workers. This will direct all traffic to the
|
|||
|
||||
You have now configured Interlock for a dedicated ingress production environment. See the [Configuration](/config/interlock/) section
|
||||
if you want to continue tuning.
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: Interlock architecture
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
The following are definitions that are used:
|
||||
|
||||
- Cluster: A group of compute resources running Docker
|
||||
|
|
@ -37,3 +42,5 @@ are configured using the data created by the corresponding extension service.
|
|||
|
||||
Interlock manages both the extension and proxy service updates for both configuration changes
|
||||
and application service deployments. There is no intervention from the operator required.
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: What is Interlock
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
Interlock is an application routing proxy service for Docker.
|
||||
|
||||
## Design Goals
|
||||
|
|
@ -58,3 +63,5 @@ balancing resources for uses such as region or organization based load balancing
|
|||
Interlock supports (and recommends) being deployed where the load balancing
|
||||
proxies do not need to be colocated with a Swarm manager. This makes the
|
||||
deployment more secure by not exposing the Docker API access to the extension or proxy services.
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: Update Interlock
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
The following describes how to update Interlock. There are two parts
|
||||
to the upgrade. First, the Interlock configuration must be updated
|
||||
to specify the new extension and/or proxy image versions. Then the Interlock
|
||||
|
|
@ -34,3 +39,5 @@ $> docker service update \
|
|||
This will update the Interlock core service to use the `sha256:d173014908eb09e9a70d8e5ed845469a61f7cbf4032c28fad0ed9af3fc04ef51`
|
||||
version of Interlock. Interlock will start and check the config object which has the new extension version and will
|
||||
perform a rolling deploy to update all extensions.
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: Tune Interlock
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
It is [recommended](/install/production/) to constrain the proxy service to multiple dedicated worker nodes.
|
||||
Here are a few other tips for tuning:
|
||||
|
||||
|
|
@ -33,3 +38,5 @@ thirty (30) seconds between updates you can use the following:
|
|||
```bash
|
||||
$> docker service update --update-delay=30s interlock=proxy
|
||||
```
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: Canary application instances
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
In this example we will publish a service and deploy an updated service as canary instances.
|
||||
|
||||
First we will create an overlay network so that service traffic is isolated and secure:
|
||||
|
|
@ -105,3 +110,5 @@ demo-v1
|
|||
|
||||
This will route all application traffic to the new version. If you need to rollback, simply scale the v1 service
|
||||
back up and v2 down.
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: Context/path based routing
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
In this example we will publish a service using context or path based routing.
|
||||
|
||||
First we will create an overlay network so that service traffic is isolated and secure:
|
||||
|
|
@ -55,3 +60,5 @@ $> curl -vs -H "Host: demo.local" http://127.0.0.1/app/
|
|||
< x-upstream-response-time: 1510928717.306
|
||||
...
|
||||
```
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: Host mode networking
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
In some scenarios operators cannot use the overlay networks. Interlock supports
|
||||
host mode networking in a variety of ways (proxy only, Interlock only, application only, hybrid).
|
||||
|
||||
|
|
@ -143,3 +148,5 @@ curl -vs -H "Host: demo.local" http://127.0.0.1/ping
|
|||
<
|
||||
{"instance":"897d3c7b9e9c","version":"0.1","metadata":"demo","request_id":"e4180a8fc6ee15f8d46f11df67c24a7d"}
|
||||
```
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: Basic deployment
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
Once Interlock has been deployed you are now ready to launch and publish applications.
|
||||
Using [Service Labels](https://docs.docker.com/engine/reference/commandline/service_create/#set-metadata-on-a-service--l-label)
|
||||
the service is configured to publish itself to the load balancer.
|
||||
|
|
@ -59,3 +64,5 @@ demo scaled to 4
|
|||
|
||||
The four service replicas will be configured as upstreams. The load balancer will balance traffic
|
||||
across all service replicas.
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: Application redirects
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
In this example we will publish a service and configure a redirect from `old.local` to `new.local`.
|
||||
|
||||
First we will create an overlay network so that service traffic is isolated and secure:
|
||||
|
|
@ -62,3 +67,5 @@ $> curl -vs -H "Host: old.local" http://127.0.0.1
|
|||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,12 @@ title: Service clusters
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
In this example we will configure an eight (8) node Swarm cluster that uses service clusters
|
||||
to route traffic to different proxies. There are three (3) managers
|
||||
|
|
@ -198,3 +202,5 @@ $> curl -H "Host: demo-west.local" http://$(docker node inspect -f '{{ .Status.A
|
|||
Application traffic is isolated to each service cluster. Interlock also ensures that a proxy will only be updated if it has corresponding updates
|
||||
to its designated service cluster. So in this example, updates to the `us-east` cluster will not affect the `us-west` cluster. If there is a problem
|
||||
the others will not be affected.
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: Persistent (sticky) sessions
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
In this example we will publish a service and configure the proxy for persistent (sticky) sessions.
|
||||
|
||||
# Cookies
|
||||
|
|
@ -128,3 +133,5 @@ to a specific backend.
|
|||
Note: due to the way the IP hashing works for extensions, you will notice a new upstream address when scaling replicas. This is
|
||||
expected as internally the proxy uses the new set of replicas to decide on a backend on which to pin. Once the upstreams are
|
||||
determined a new "sticky" backend will be chosen and that will be the dedicated upstream.
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: Applications with SSL
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
In this example we will publish a demo service to the host `demo.local` using SSL.
|
||||
|
||||
# SSL Termination
|
||||
|
|
@ -218,3 +223,5 @@ $> curl -vsk https://demo.local/ping
|
|||
Application traffic will travel securely fully encrypted from the request all the way to the application service.
|
||||
Notice that Interlock cannot add the metadata response headers (version info, request ID, etc) as this is using
|
||||
TCP passthrough and cannot add the metadata.
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ title: Websockets
|
|||
description: Learn about Interlock, an application routing and load balancing system
|
||||
for Docker Swarm.
|
||||
keywords: ucp, interlock, load balancing
|
||||
ui_tabs:
|
||||
- version: ucp-3.0
|
||||
orhigher: false
|
||||
---
|
||||
|
||||
{% if include.version=="ucp-3.0" %}
|
||||
|
||||
In this example we will publish a service and configure support for websockets.
|
||||
|
||||
First we will create an overlay network so that service traffic is isolated and secure:
|
||||
|
|
@ -33,3 +38,5 @@ This uses the browser for websocket communication so you will need to have an en
|
|||
Interlock will detect once the service is available and publish it. Once the tasks are running
|
||||
and the proxy service has been updated the application should be available via `http://demo.local`. Open
|
||||
two instances of your browser and you should see text on both instances as you type.
|
||||
|
||||
{% endif %}
|
||||
|
|
|
|||
Loading…
Reference in New Issue