Release esb3027-1.8.0
Build date
TBD
Release status
Type: production
Included components
- ACD Configuration GUI 4.0.4
Compatibility
This release has been tested with the following product versions:
- AgileTV CDN Director, ESB3024-1.24.0
Breaking changes from 1.6.x release
Version 1.8 cannot be installed over 1.6 or any earlier release. The platform’s Helm charts were rearranged, and the cluster is now built and managed by deploy, so an earlier cluster cannot be upgraded in place. Install 1.8 on a new cluster and move to it: see the Upgrade Guide.
The manual installation procedure has been removed. deploy, on the installation ISO, is the only supported way to install, upgrade and change the cluster.
Change log
- NEW:
deployinstalls, upgrades and reconfigures the whole cluster from one configuration folder, including each machine’s network and firewall - NEW: Single installation ISO with everything the installation needs, container images included
- NEW:
acd-admincommand for day-to-day operations by admin target: status, logs, restart, shell, exec, cordon, uncordon and drain - NEW:
acd-support-dumpwrites a redacted diagnostic tarball for AgileTV support - NEW: Command line reference for
deploy,acd-adminandacd-support-dump - NEW: Kafka metrics are attributed to individual brokers
- NEW: MaxMind GeoIP databases are loaded into a volume the platform owns
Deprecated functionality
None
System requirements
Red Hat Enterprise Linux 9.4 or later 9.x, or a compatible rebuild, is required. See the System Requirements Guide for more information.
Known limitations
This release requires a clean install. Upgrade from version 1.6 or earlier is not possible. Installation of the software is only supported using a self-hosted configuration.
Security
- The Kafka ports open to clients outside the cluster have no authentication or encryption. Restrict them to your CDN Directors on your network firewall.
- Zitadel and Grafana are installed with published default administrator passwords. Create your own Zitadel administrator and disable the default one, as Next Steps describes, and change the password of Grafana’s break-glass administrator, as Grafana Authentication describes.
- Redis, PostgreSQL, the internal Kafka listener and VictoriaMetrics accept connections from any machine of the cluster without authentication. Keep the backplane network limited to the cluster’s machines.
- Plain HTTP on port 80 serves the GUI without redirecting to HTTPS. Use the HTTPS address.
acd-admincopies each command line, arguments included, into the spec of its session pod and into a Kubernetes Event, and support dumps include these Events. Never pass a password or other secret as an argument.acd-admin shellandexecreach more than day-to-day work needs: onnode-exporterthey can read the machine’s files and see its processes, onvectorandgeoip-loaderthey run as root, and onpostgresqlthey open a database superuser session.acd-admin logsrecords no Event. Giveacd-adminonly to people you would trust with root on the servers.- The two ingress NodePorts, which Kubernetes picks at installation, are not filtered by the host firewall. Block them on your network firewall, as Ingress NodePorts in the Networking Guide describes.
Installation
- There is no backup and restore procedure for the PostgreSQL databases.
- There is no tested procedure for carrying on after losing the first server, the only machine that holds the
deployconfiguration. Keep a copy of the latest backup folder, which holds/etc/acd/deployexcept itscerts/andmaxmind/folders, somewhere other than the cluster. It holds every Kubernetes Secret: protect it as Backups in Running deploy describes. deployrewrites/etc/sysctl.confon every machine instead of adding a file under/etc/sysctl.d. It also setsfs.inotify.max_user_instancesandfs.inotify.max_user_watches.- On an agent,
acd-support-dumpfails with an error aboutlocalhost:8080. Run it on a server. - The production preset installs an unused example TLS secret,
manager-example-com-tls-20260101, next to the certificatedeploysets up. It can be ignored. - In Zitadel, a user’s username must match the local part of their email address, the part before the
@. Otherwise Zitadel can block sign-in with the full email address.
acd-admin
acd-admin statusdoes not show storage health. After returning a drained node to service, check that every storage volume ishealthybefore draining another node, as theacd-adminreference describes.- Run one
cordonordrainat a time. Two started together can both pass the check that keeps a node schedulable, and two drains can both pass the check that keeps a CDN Director running. - A temporary Kubernetes API error, such as during a server restart, can stop a
drain. Rundrainagain to carry on. restart --nodeanddrainon a node that is not Ready do not say so:restart --nodereports the pods as being recreated, anddrainkeeps waiting for pods that stay until the node comes back. The check that keeps a node schedulable also ignores Ready, so a node that is not Ready but not yet tainted can count as the node that stays schedulable. CheckREADYinacd-admin statusbefore acordonordrain.- When an
acd-adminsession cannot start, such as when no node can run it, it fails after about a minute withtimed out waiting for the conditionand no reason. acd-admin --helpand--versionneed a working cluster, so they too run only on a server or withKUBECONFIGset.- Some errors are followed by extra lines, such as
pod acd-system/acd-admin-... terminated (Error), which are not a second failure. - Output a command writes to standard error can arrive on standard output when the command ends quickly.