From 5313d79baa38bb093db89d96b6738a97538293ad Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Thu, 21 Dec 2017 14:11:59 -0800 Subject: [PATCH] Add ucp 3.0 template to interlock docs --- datacenter/ucp/3.0/guides/interlock/configuration/index.md | 7 +++++++ .../3.0/guides/interlock/configuration/service-labels.md | 7 +++++++ datacenter/ucp/3.0/guides/interlock/extensions/haproxy.md | 7 +++++++ datacenter/ucp/3.0/guides/interlock/extensions/nginx.md | 7 +++++++ datacenter/ucp/3.0/guides/interlock/install/index.md | 7 +++++++ .../ucp/3.0/guides/interlock/install/manual-deployment.md | 6 ++++++ datacenter/ucp/3.0/guides/interlock/install/offline.md | 7 +++++++ datacenter/ucp/3.0/guides/interlock/install/production.md | 7 +++++++ datacenter/ucp/3.0/guides/interlock/intro/architecture.md | 7 +++++++ datacenter/ucp/3.0/guides/interlock/intro/index.md | 7 +++++++ datacenter/ucp/3.0/guides/interlock/ops/index.md | 7 +++++++ datacenter/ucp/3.0/guides/interlock/ops/tuning.md | 7 +++++++ datacenter/ucp/3.0/guides/interlock/usage/canary.md | 7 +++++++ datacenter/ucp/3.0/guides/interlock/usage/context.md | 7 +++++++ .../ucp/3.0/guides/interlock/usage/host-mode-networking.md | 7 +++++++ datacenter/ucp/3.0/guides/interlock/usage/index.md | 7 +++++++ datacenter/ucp/3.0/guides/interlock/usage/redirects.md | 7 +++++++ .../ucp/3.0/guides/interlock/usage/service-clusters.md | 6 ++++++ datacenter/ucp/3.0/guides/interlock/usage/sessions.md | 7 +++++++ datacenter/ucp/3.0/guides/interlock/usage/ssl.md | 7 +++++++ datacenter/ucp/3.0/guides/interlock/usage/websockets.md | 7 +++++++ 21 files changed, 145 insertions(+) diff --git a/datacenter/ucp/3.0/guides/interlock/configuration/index.md b/datacenter/ucp/3.0/guides/interlock/configuration/index.md index 918c23d1e5..77a60222cd 100644 --- a/datacenter/ucp/3.0/guides/interlock/configuration/index.md +++ b/datacenter/ucp/3.0/guides/interlock/configuration/index.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/configuration/service-labels.md b/datacenter/ucp/3.0/guides/interlock/configuration/service-labels.md index 6484f08f36..1b8a5dab88 100644 --- a/datacenter/ucp/3.0/guides/interlock/configuration/service-labels.md +++ b/datacenter/ucp/3.0/guides/interlock/configuration/service-labels.md @@ -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 `,`. Example: (`http://old.example.com,http://new.example.com;`) | `none` | | `com.docker.lb.ssl_passthrough` | Enable SSL passthrough | `false` | + +{% endif %} diff --git a/datacenter/ucp/3.0/guides/interlock/extensions/haproxy.md b/datacenter/ucp/3.0/guides/interlock/extensions/haproxy.md index 714a1beff5..8f14acd3d9 100644 --- a/datacenter/ucp/3.0/guides/interlock/extensions/haproxy.md +++ b/datacenter/ucp/3.0/guides/interlock/extensions/haproxy.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/extensions/nginx.md b/datacenter/ucp/3.0/guides/interlock/extensions/nginx.md index 5639efc3b6..b4889329eb 100644 --- a/datacenter/ucp/3.0/guides/interlock/extensions/nginx.md +++ b/datacenter/ucp/3.0/guides/interlock/extensions/nginx.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/install/index.md b/datacenter/ucp/3.0/guides/interlock/install/index.md index c69dc0d444..23737bcd6d 100644 --- a/datacenter/ucp/3.0/guides/interlock/install/index.md +++ b/datacenter/ucp/3.0/guides/interlock/install/index.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/install/manual-deployment.md b/datacenter/ucp/3.0/guides/interlock/install/manual-deployment.md index 1cfb1457cd..3575609911 100644 --- a/datacenter/ucp/3.0/guides/interlock/install/manual-deployment.md +++ b/datacenter/ucp/3.0/guides/interlock/install/manual-deployment.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/install/offline.md b/datacenter/ucp/3.0/guides/interlock/install/offline.md index d28a3540d9..48f991a733 100644 --- a/datacenter/ucp/3.0/guides/interlock/install/offline.md +++ b/datacenter/ucp/3.0/guides/interlock/install/offline.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/install/production.md b/datacenter/ucp/3.0/guides/interlock/install/production.md index b5fd014e28..475d26c41f 100644 --- a/datacenter/ucp/3.0/guides/interlock/install/production.md +++ b/datacenter/ucp/3.0/guides/interlock/install/production.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/intro/architecture.md b/datacenter/ucp/3.0/guides/interlock/intro/architecture.md index 8ea52cca76..1c773c5860 100644 --- a/datacenter/ucp/3.0/guides/interlock/intro/architecture.md +++ b/datacenter/ucp/3.0/guides/interlock/intro/architecture.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/intro/index.md b/datacenter/ucp/3.0/guides/interlock/intro/index.md index 92a4566e34..0d067dc56a 100644 --- a/datacenter/ucp/3.0/guides/interlock/intro/index.md +++ b/datacenter/ucp/3.0/guides/interlock/intro/index.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/ops/index.md b/datacenter/ucp/3.0/guides/interlock/ops/index.md index d840dc7ff6..1bbef80290 100644 --- a/datacenter/ucp/3.0/guides/interlock/ops/index.md +++ b/datacenter/ucp/3.0/guides/interlock/ops/index.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/ops/tuning.md b/datacenter/ucp/3.0/guides/interlock/ops/tuning.md index e8d93c6e04..a687197d72 100644 --- a/datacenter/ucp/3.0/guides/interlock/ops/tuning.md +++ b/datacenter/ucp/3.0/guides/interlock/ops/tuning.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/usage/canary.md b/datacenter/ucp/3.0/guides/interlock/usage/canary.md index 9118fc582b..8657739054 100644 --- a/datacenter/ucp/3.0/guides/interlock/usage/canary.md +++ b/datacenter/ucp/3.0/guides/interlock/usage/canary.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/usage/context.md b/datacenter/ucp/3.0/guides/interlock/usage/context.md index deaa539397..57eb166bc2 100644 --- a/datacenter/ucp/3.0/guides/interlock/usage/context.md +++ b/datacenter/ucp/3.0/guides/interlock/usage/context.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/usage/host-mode-networking.md b/datacenter/ucp/3.0/guides/interlock/usage/host-mode-networking.md index a97de9fbce..947a7a973e 100644 --- a/datacenter/ucp/3.0/guides/interlock/usage/host-mode-networking.md +++ b/datacenter/ucp/3.0/guides/interlock/usage/host-mode-networking.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/usage/index.md b/datacenter/ucp/3.0/guides/interlock/usage/index.md index 5be38759da..e63455c98c 100644 --- a/datacenter/ucp/3.0/guides/interlock/usage/index.md +++ b/datacenter/ucp/3.0/guides/interlock/usage/index.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/usage/redirects.md b/datacenter/ucp/3.0/guides/interlock/usage/redirects.md index 8120dee2bd..153a6689e1 100644 --- a/datacenter/ucp/3.0/guides/interlock/usage/redirects.md +++ b/datacenter/ucp/3.0/guides/interlock/usage/redirects.md @@ -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 ``` + +{% endif %} diff --git a/datacenter/ucp/3.0/guides/interlock/usage/service-clusters.md b/datacenter/ucp/3.0/guides/interlock/usage/service-clusters.md index 6c362ba505..ba2d72cfba 100644 --- a/datacenter/ucp/3.0/guides/interlock/usage/service-clusters.md +++ b/datacenter/ucp/3.0/guides/interlock/usage/service-clusters.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/usage/sessions.md b/datacenter/ucp/3.0/guides/interlock/usage/sessions.md index 06d2285a76..a94c13dc75 100644 --- a/datacenter/ucp/3.0/guides/interlock/usage/sessions.md +++ b/datacenter/ucp/3.0/guides/interlock/usage/sessions.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/usage/ssl.md b/datacenter/ucp/3.0/guides/interlock/usage/ssl.md index 098be89599..15983f384b 100644 --- a/datacenter/ucp/3.0/guides/interlock/usage/ssl.md +++ b/datacenter/ucp/3.0/guides/interlock/usage/ssl.md @@ -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 %} diff --git a/datacenter/ucp/3.0/guides/interlock/usage/websockets.md b/datacenter/ucp/3.0/guides/interlock/usage/websockets.md index 6c3bec3dc4..7fd803dd3c 100644 --- a/datacenter/ucp/3.0/guides/interlock/usage/websockets.md +++ b/datacenter/ucp/3.0/guides/interlock/usage/websockets.md @@ -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 %}