Deployment
The engine is container based and it gives you various options on how to deploy the service on your infrastructure. We provide some examples here.
Kubernetes
The following can serve as example on how to deploy an engine to a Kubernetes cluster.
In this example we are using a service of type NodePort while you in a production-like
scenario probably use ingress
with an ingress controller
or a load balancer.
Create a deployment of a FAST engine with the demo plugin in use.
apiVersion: apps/v1
kind: Deployment
metadata:
name: fast-engine-deployment
labels:
app: fast-engine
spec:
replicas: 1
selector:
matchLabels:
app: fast-engine
template:
metadata:
labels:
app: fast-engine
spec:
containers:
- name: fast-engine
image: eyevinntechnology/fast-engine:v1.6.0
env:
- name: DEMO_NUM_CHANNELS
value: "10"
- name: OPTS_USE_DEMUXED_AUDIO
value: "false"
- name: OPTS_USE_VTT_SUBTITLES
value: "false"
ports:
- containerPort: 8000
Create a service to access the deployed pods.
apiVersion: v1
kind: Service
metadata:
name: fast-engine-service
spec:
type: NodePort
selector:
app: fast-engine
ports:
- protocol: TCP
port: 8000
targetPort: 8000
nodePort: 30000
Then you can access the engine and playback a channel on for example http://localhost:30000/channels/1/master.m3u8