Skip to main content
Version: v1.3

Traefik

Traefik is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. you can use this addon as a cluster gateway or a microservices gateway.

XDefinitions#

http-route(trait)#

defines HTTP rules for mapping requests from a Gateway to Application.

Properties#

NameDescriptionTypeRequiredDefault
gatewayNameSpecify the gateway namestringfalsetraefik-gateway
listenerNameSpecify the listener name of the gatewaystringfalseweb
domainsSpecify some domains, the domain may be prefixed with a wildcard label (*.)[]stringtrue
rulesSpecify some HTTP matchers, filters and actions.[]rulestrue
rules#
NameDescriptionTypeRequiredDefault
pathAn HTTP request path matcher. If this field is not specified, a default prefix match on the "/" path is provided.pathfalse
headersConditions to select a HTTP route by matching HTTP request headers.[]headersfalse
serviceNameSpecify the service name of component, the default is component name.stringfalse
portSpecify the service port of component.inttrue
headers#
NameDescriptionTypeRequiredDefault
namestringtrue
typestringtrue
valuestringtrue
path#
NameDescriptionTypeRequiredDefault
typestringtruePathPrefix
valuestringtrue/

https-route(trait)#

defines HTTPS rules for mapping requests from a Gateway to Application.

Properties#

NameDescriptionTypeRequiredDefault
secretsSpecify the TLS secrets[]secretstrue
TLSPortinttrue443
domainsSpecify some domains, the domain may be prefixed with a wildcard label (*.)[]stringtrue
rulesSpecify some HTTP matchers, filters and actions.[]rulestrue
rules#
NameDescriptionTypeRequiredDefault
pathAn HTTP request path matcher. If this field is not specified, a default prefix match on the "/" path is provided.pathfalse
portSpecify the service port of component.inttrue
headersConditions to select a HTTP route by matching HTTP request headers.[]headersfalse
serviceNameSpecify the service name of component, the default is component name.stringfalse
headers#
NameDescriptionTypeRequiredDefault
namestringtrue
typestringtrue
valuestringtrue
path#
NameDescriptionTypeRequiredDefault
typestringtruePathPrefix
valuestringtrue/
secrets#
NameDescriptionTypeRequiredDefault
namestringtrue
namespacestringfalse

tcp-route(trait)#

defines TCP rules for mapping requests from a Gateway to Application.

Properties#

NameDescriptionTypeRequiredDefault
rulesSpecify the TCP matchers[]rulestrue
rules#
NameDescriptionTypeRequiredDefault
gatewayPortSpecify the gateway listener portinttrue
portSpecify the service port of component.inttrue
serviceNameSpecify the service name of component, the default is component name.stringfalse

config-tls-certificate(config)#

This component definition is designed to manage the TLS certificate

Properties#

NameDescriptionTypeRequiredDefault
certthe certificate public key encrypted by base64stringtrue
keythe certificate private key encrypted by base64stringtrue

Install#

vela addon enable traefik

Visit Traefik dashboard by port-forward#

Port forward will work as a proxy to allow visiting Traefik dashboard by local port.

vela port-forward -n vela-system addon-traefik

expected output:

Forwarding from 127.0.0.1:9000 -> 9000
Forwarding from [::1]:9000 -> 9000
Forward successfully! Opening browser ...
Handling connection for 9000

You can visiting Traefik dashboard with address http://127.0.0.1:9000/dashboard/.

Setup with Specified Service Type#

If your cluster has cloud LoadBalancer available:

vela addon enable traefik serviceType=LoadBalancer
Last updated on by barnettZQG