Configure CDN
This page shows how to fine-tune CDN. The default COMAC CDN in this release is working well. However, if want more features or customize the default COMAC CDN, please refer to this page.
CDN-Remote configuration
In the CDN-Remote Helm chart, there are two types of Docker images: (i) Ant Media image and (ii) video archive image.
Update Ant Media images
The Ant Media image has Ant Media community version 1.7.0. If want to use the latest Ant Media or commercial Ant Media, feel free to make a new container. Then, replace the official Ant Media image with the new container. In order to replace the image, make a YAML file such as cdn_var.yaml
. Then, describe a new image path like below:
images:
tags:
antMedia: <PUT_NEW_IMAGE_HERE>
After that, deploy CDN-Remote with the following command:
- In the multi-cluster environment:
helm install cord/cdn-remote \
--kube-context central \
--namespace omec \
--name cdn-remote \
--values /path/to/cdn_var.yaml
- In the single-cluster environment:
helm install cord/cdn-remote \
--namespace omec \
--name cdn-remote \
--values /path/to/cdn_var.yaml
Change video clips
Currently not allowed. If must change video clips, then make a new image based on the official video archive image to have new video clips. However, there are following constraints:
- The video clips must be located in /opt/cdn/movies
- The video clips must be named as {360, 480, 720}.mp4 like the official image.
- The video clips should be encoded with H.264.
For the flexible CDN, new patch sets will be merged to allow CDN-Remote to use different video clips.
CDN-Local configuration
CDN-Local has a single container, NGINX container. NGINX has enumerable configuration values. Among them, CDN-Local allow users possible to modify some configuration values, which is defined in /path/to/helm-charts/cdn-services/cdn-local/values.yaml
file like below:
...
events:
workerProcesses: 1
workerConnections: 1024
http:
defaultType: application/octet-stream
sendfile: "on"
keepaliveTimeout: 65
server:
serverName: localhost
location:
root: html
index: index.html index.htm
error:
code: 500 502 503 504
page: /50x.html
root: html
rtmp:
chunkSize: 4000
appRemote:
live: "on"
appLocal:
movieLocation: /opt/cdn/movies
...
If above values should be modified, please make YAML file, e.g., cdn_var.yaml
, and override those variables like below block:
# cdn_var.yaml file
config:
nginx:
events:
workerProcesses: 1
workerConnections: 1024
http:
defaultType: application/octet-stream
sendfile: "on"
keepaliveTimeout: 65
server:
serverName: localhost
location:
root: html
index: index.html index.htm
error:
code: 500 502 503 504
page: /50x.html
root: html
rtmp:
chunkSize: 4000
appRemote:
live: "on"
appLocal:
movieLocation: /opt/cdn/movies
When cdn_var.yaml
is ready, please deploy CDN-Local with the file:
- In the multi-cluster environment:
helm install cord/cdn-local \
--kube-context edge \
--namespace omec \
--name cdn-local \
--values /path/to/cdn_var.yaml
- In the single-cluster environment:
helm install cord/cdn-local \
--namespace omec \
--name cdn-local \
--values /path/to/cdn_var.yaml
Of course, possible to add more NGINX configuration values directly on path/to/helm-charts/cdn-services/cdn-local/templates/configmap-nginx.yaml
file. In the file, there is a data.nginx.conf
section, which generates the file including NGINX configuration values.
See here to know overall NGINX configuration values.
Disable SR-IOV
The COMAC CDN is running only with SR-IOV CNI. However, will make the COMAC CDN be operating with various CNI.
Getting help
Please tell woojoong.kim
on CORD
Slack channel if you see any problem.