Introduction to AgileTV CDN Manager

A brief overview of AgileTV CDN Manager

The ESB3027 AgileTV CDN Manager is a suite of software designed to facilitate the coordination of one or more instances of ESB3024 AgileTV CDN Director. It provides services and common functionality which are shared between independent routers such as user identity management, API services, and common messaging and data persistence.

The Manager software is deployed locally using a self-hosted Kubernetes orchestration framework. Kubernetes provides many advantages out of the box including automatic horizontal scaling, load-balancing, service monitoring, persistent data storage, and a Cloud-Native deployment infrastructure.

The installer for ESB3027 AgileTV CDN Manager automatically deploys a lightweight Kubernetes implementation using Rancher K3s, along with all necessary tools to manage the cluster.

For the 1.0 release of ESB3027 AgileTV CDN Manager, only one supported configuration is provided. This configuration requires a single physical or virtual machine running Red Hat Enterprise Linux 8 or 9, or a compatible clone such as Oracle Linux. A minimum of 8GB of available RAM is required to deploy the software. During the installation process, one or more packages may be required from the software repositories provided by the Operating System. If the official repositories cannot be reached, the original ISO must be properly mounted such that package installation can be performed.

One additional prerequisite for the installation is a Fully-Qualified Domain Name that is DNS-resolvable and points to the node. This must be set up prior to installing the software, and all APIs must use this DNS name. Attempting to access any APIs via an IP address may result in failures due to Cross-Origin Resource Sharing protections which are enforced.

Please ensure that at a minimum, you are familiar with the terminology from the Glossary.

Quickstart Guide

This guide will give a quick overview of the basic installation procedure. This guide will focus on the basic procedure, for an in-depth overview of each step in the procedure, see the Installation Guide.

Preparation

Make sure SELinux and Firewalld are disabled and the ESB3027 AgileTV CDN Manager ISO is mounted. For this guide we are assuming that the ISO is mounted on /mnt however, any mountpoint may be used.

Install the Cluster

Start by installing the Kubernetes cluster by running the installer script.

/mnt/install.sh

Generate the Configuration Template

There are several scripts available on the ISO which are used to prepare the configuration template. All take a wizard based approach, prompting the user to provide information.

Create an SSL Certificate Secret (Optional)

If you have valid SSL certificates that should be used in place of the built-in self-signed certificates, you will need both the certificate and key files present on the node, and to run the script /mnt/load-certificates.sh. This will generate a Kubernetes Secret containing the certificates.

Generate the Zitadel Masterkey (Optional)

It is recommended to generate a unique Master Key used by Zitadel to protect sensitive information at rest. This can be accomplished using the ./mnt/load-zitadel-key.sh script. This will generate a cryptographically secure key and create the corresponding Kubernetes secret containing this value.

Generate the Configuration Template

Once you have prepared all the necessary values, running the /mnt/configure.sh script will generate a file values.yaml in the current directory. Be sure to inspect this file before proceeding. Verify that all required fields are correctly populated, such as the addresses of routers, API endpoints, and other components like the Configuration GUI. Additionally, ensure that any necessary sections are uncommented and that the file adheres to the expected format for successful deployment.

Deploy the Software

After generating the values.yaml file in the previous section, install the “acd-manager” Helm chart using the following command:

helm upgrade --install acd-manager --values values.yaml --atomic --timeout=10m /mnt/helm/charts/acd-manager

When this command returns, all pods in the deployment should be marked ready, and the ESB3027 AgileTV CDN Manager installation is complete. You can verify the state of the cluster with kubectl.

kubectl get pods