kubevela.github.io/docs/reference/addons/traefik.md

5.2 KiB

title
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.

Definitions

http-route(trait)

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

Properties

Name Description Type Required Default
gatewayName Specify the gateway name string false traefik-gateway
listenerName Specify the listener name of the gateway string false web
domains Specify some domains, the domain may be prefixed with a wildcard label (*.) []string true
rules Specify some HTTP matchers, filters and actions. []rules true
rules
Name Description Type Required Default
path An HTTP request path matcher. If this field is not specified, a default prefix match on the "/" path is provided. path false
headers Conditions to select a HTTP route by matching HTTP request headers. []headers false
serviceName Specify the service name of component, the default is component name. string false
port Specify the service port of component. int true
headers
Name Description Type Required Default
name string true
type string true
value string true
path
Name Description Type Required Default
type string true PathPrefix
value string true /

https-route(trait)

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

Properties

Name Description Type Required Default
secrets Specify the TLS secrets []secrets true
TLSPort int true 443
domains Specify some domains, the domain may be prefixed with a wildcard label (*.) []string true
rules Specify some HTTP matchers, filters and actions. []rules true
rules
Name Description Type Required Default
path An HTTP request path matcher. If this field is not specified, a default prefix match on the "/" path is provided. path false
port Specify the service port of component. int true
headers Conditions to select a HTTP route by matching HTTP request headers. []headers false
serviceName Specify the service name of component, the default is component name. string false
headers
Name Description Type Required Default
name string true
type string true
value string true
path
Name Description Type Required Default
type string true PathPrefix
value string true /
secrets
Name Description Type Required Default
name string true
namespace string false

tcp-route(trait)

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

Properties

Name Description Type Required Default
rules Specify the TCP matchers []rules true
rules
Name Description Type Required Default
gatewayPort Specify the gateway listener port int true
port Specify the service port of component. int true
serviceName Specify the service name of component, the default is component name. string false

config-tls-certificate(config)

This component definition is designed to manage the TLS certificate

Properties

Name Description Type Required Default
cert the certificate public key encrypted by base64 string true
key the certificate private key encrypted by base64 string true

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