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