Traefik
Learn how to integrate Seldon Core 2 with Traefik for service mesh and ingress management, including service configuration and middleware implementation.
Traefik provides a service mesh and ingress solution.
We will run through some examples as shown in the notebook service-meshes/traefik/traefik.ipynb
Single Model
A Seldon Iris Model
Traefik Service
Traefik IngressRoute
Traefik Middleware for adding a header
apiVersion: v1
kind: Service
metadata:
name: myapps
namespace: seldon-mesh
spec:
ports:
- name: web
port: 80
protocol: TCP
selector:
app: traefik-ingress-lb
type: LoadBalancer
---
apiVersion: mlops.seldon.io/v1alpha1
kind: Model
metadata:
name: iris
namespace: seldon-mesh
spec:
requirements:
- sklearn
storageUri: gs://seldon-models/mlserver/iris
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: iris
namespace: seldon-mesh
spec:
entryPoints:
- web
routes:
- kind: Rule
match: PathPrefix(`/`)
middlewares:
- name: iris-header
services:
- name: seldon-mesh
port: 80
scheme: h2c
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: iris-header
namespace: seldon-mesh
spec:
headers:
customRequestHeaders:
seldon-model: irisTraffic Split
Warning Traffic splitting does not presently work due to this issue. We recommend you use a Seldon Experiment instead.
Traefik Examples
Assumes
You have installed Traefik as per their docs into namespace traefik-v2
Tested with traefik-10.19.4
Traefik Single Model Example
Last updated
Was this helpful?

