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