Feat: Updated traefik external rancher integration

This commit is contained in:
Raul Sanchez 2018-01-09 20:03:19 +01:00
parent ff89b15375
commit 289896b97c
4 changed files with 48 additions and 16 deletions

View File

@ -58,15 +58,31 @@ Api integration needs you create an environment API key in your rancher environm
Use this labels if you choose extenal rancher integration. Use this labels if you choose extenal rancher integration.
- traefik.enable = <true | false> - traefik.enable = < true | stack | false > #Controls if you want to publish or not the service
- true: the service will be published as *service_name.stack_name.traefik_domain* - true: the service will be published as *service_name.stack_name.traefik_domain*
- stack: the service will be published as *stack_name.traefik_domain*. WARNING: You could have collisions inside services within your stack - stack: the service will be published as *stack_name.domain*. WARNING: You can have collisions inside services within your stack
- false: the service will not be published - false: the service will not be published
- traefik.alias = < alias > # Alternate names to route rule. Multiple values separated by ",". WARNING: You could have collisions BE CAREFULL - traefik.priority = <priority> # Override for frontend priority. Default `5`
- traefik.domain = < domain > # Domain names to route rule. Multiple values separated by "," - traefik.protocol = < http | https > # Override the default protocol `http`
- traefik.path = < path > # Path to route rule. Multiple paths separated by "," - traefik.sticky = < true | false > # Enable/disable sticky sessions to the backend. Default `false`
- traefik.port = < port > # Port to expose throught traefik - traefik.backend.loadbalancer.method = < drr | wrr > # Override default lb algorithm `drr`
- traefik.acme = < true | false > # Enable/disable ACME traefik feature - traefik.backend.circuitbreaker.expression = < expression > # Override default backend circuitbreaker expression `NetworkErrorRatio() > 0.5`
- traefik.frontend.passHostHeader = < true | false > # Forward client Host header to the backend. Default `true`
- traefik.weight = < weight > # Override default backend weight `5`
- traefik.alias = < alias > # Alternate names to route rule. Multiple values separated by ",". traefik.domain is appended. WARNING: You could have collisions BE CAREFULL
- traefik.alias.fqdn = < alias fqdn > # Alternate names to route rule. Multiple values separated by ",". traefik.domain must be defined but is not appended here.
- traefik.domain = < domain.name > # Domain names to route rules. Multiple domains separated by ","
- traefik.domain.regexp = < domain.regexp > # Domain name regexp rule. Multiple domains separated by ","
- traefik.port = <port> # port to expose throught traefik. Default `80`
- traefik.acme = < true | false > # Enable/disable ACME traefik feature. Default `false`
- traefik.path = < path > # Path rule. Multiple values separated by ","
- traefik.path.strip = < path > # Path strip rule. Multiple values separated by ","
- traefik.path.prefix = < path > # Path prefix rule. Multiple values separated by ","
- traefik.path.prefix.strip = < path > # Path prefix strip rule. Multiple values separated by ","
WARNING: Only services with healthy state are added to traefik, so health checks are mandatory.
More info [rancher-traefik](https://github.com/rawmind0/rancher-traefik)
### Usage: ### Usage:

View File

@ -81,7 +81,7 @@ services:
io.rancher.scheduler.affinity:host_label: ${host_label} io.rancher.scheduler.affinity:host_label: ${host_label}
io.rancher.scheduler.affinity:container_label_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name} io.rancher.scheduler.affinity:container_label_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.start_once: 'true' io.rancher.container.start_once: 'true'
image: rawmind/rancher-traefik:1.4.4-4 image: rawmind/rancher-traefik:1.4.4-6
network_mode: none network_mode: none
volumes: volumes:
- tools-volume:/opt/tools - tools-volume:/opt/tools

View File

@ -58,15 +58,31 @@ Api integration needs you create an environment API key in your rancher environm
Use this labels if you choose extenal rancher integration. Use this labels if you choose extenal rancher integration.
- traefik.enable = <true | false> - traefik.enable = < true | stack | false > #Controls if you want to publish or not the service
- true: the service will be published as *service_name.stack_name.traefik_domain* - true: the service will be published as *service_name.stack_name.traefik_domain*
- stack: the service will be published as *stack_name.traefik_domain*. WARNING: You could have collisions inside services within your stack - stack: the service will be published as *stack_name.domain*. WARNING: You can have collisions inside services within your stack
- false: the service will not be published - false: the service will not be published
- traefik.alias = < alias > # Alternate names to route rule. Multiple values separated by ",". WARNING: You could have collisions BE CAREFULL - traefik.priority = <priority> # Override for frontend priority. Default `5`
- traefik.domain = < domain > # Domain names to route rule. Multiple values separated by "," - traefik.protocol = < http | https > # Override the default protocol `http`
- traefik.path = < path > # Path to route rule. Multiple paths separated by "," - traefik.sticky = < true | false > # Enable/disable sticky sessions to the backend. Default `false`
- traefik.port = < port > # Port to expose throught traefik - traefik.backend.loadbalancer.method = < drr | wrr > # Override default lb algorithm `drr`
- traefik.acme = < true | false > # Enable/disable ACME traefik feature - traefik.backend.circuitbreaker.expression = < expression > # Override default backend circuitbreaker expression `NetworkErrorRatio() > 0.5`
- traefik.frontend.passHostHeader = < true | false > # Forward client Host header to the backend. Default `true`
- traefik.weight = < weight > # Override default backend weight `5`
- traefik.alias = < alias > # Alternate names to route rule. Multiple values separated by ",". traefik.domain is appended. WARNING: You could have collisions BE CAREFULL
- traefik.alias.fqdn = < alias fqdn > # Alternate names to route rule. Multiple values separated by ",". traefik.domain must be defined but is not appended here.
- traefik.domain = < domain.name > # Domain names to route rules. Multiple domains separated by ","
- traefik.domain.regexp = < domain.regexp > # Domain name regexp rule. Multiple domains separated by ","
- traefik.port = <port> # port to expose throught traefik. Default `80`
- traefik.acme = < true | false > # Enable/disable ACME traefik feature. Default `false`
- traefik.path = < path > # Path rule. Multiple values separated by ","
- traefik.path.strip = < path > # Path strip rule. Multiple values separated by ","
- traefik.path.prefix = < path > # Path prefix rule. Multiple values separated by ","
- traefik.path.prefix.strip = < path > # Path prefix strip rule. Multiple values separated by ","
WARNING: Only services with healthy state are added to traefik, so health checks are mandatory.
More info [rancher-traefik](https://github.com/rawmind0/rancher-traefik)
### Usage: ### Usage:

View File

@ -81,7 +81,7 @@ services:
io.rancher.scheduler.affinity:host_label: ${host_label} io.rancher.scheduler.affinity:host_label: ${host_label}
io.rancher.scheduler.affinity:container_label_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name} io.rancher.scheduler.affinity:container_label_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.start_once: 'true' io.rancher.container.start_once: 'true'
image: rawmind/rancher-traefik:1.4.4-4 image: rawmind/rancher-traefik:1.4.4-6
network_mode: none network_mode: none
volumes: volumes:
- tools-volume:/opt/tools - tools-volume:/opt/tools