Monday, October 19, 2020

Radiator Software Ansible playbooks for easy Radiator setup and instance management

To help manage and install Radiator in a more automatic way, we now provide Radiator Software Ansible playbooks as part of the goodies available in every Radiator package. The playbooks make it easy to:

  • Install Radiator with basic prerequisites easily to multiple servers in single command.
  • Upgrade or downgrade Radiator to multiple servers in single command.
  • Deploy multiple Radiator configurations to multiple servers running Radiator, in single command/Deploy Radiator configuration to single server running multiple Radiator instances.
  • Rollback latest Radiator configuration deployment quickly to previous Radiator configuration.
  • Restart/start/stop all Radiator instances on multiple servers running Radiator in single command.

As general playbooks aimed for easy automation starting point, these playbooks are usable with Radiator RPM/deb packages after a few simple steps like setting up the Ansible control node and Radiator servers with SSH user for Ansible to use. After that just create your Radiator configuration and run the playbooks to setup the Radiator server and deploy the configuration. There are very simple authentication and accounting example configurations available in the Ansible role used by the deployment playbook, so testing the system is possible by just deploying the default example configurations. 

These playbooks are meant to be a starting point for various situations, but naturally they do not answer every need. So go ahead and modify the playbooks when needed! We do recommend storing both the modified playbooks (with the Ansible roles) and Radiator configurations deployed by these playbooks to a version control of your choice. Although for the rollback mechanism there is a simple backup system built-in, it is strictly for the rollback and is limited to the latest deployed Radiator configuration version only.

To get the Radiator Software Ansible playbooks, just download the latest Radiator package of your choice. When using the playbooks, Radiator is not required to be installed on the Ansible control node, but if it is you should copy the playbooks from the default location to some other location for usage. This way upgrading the possible Radiator installation on Ansible control node does not overwrite any changes you may have done to Ansible related files.

Check out the README document from the goodies/Ansible directory for how to run the playbooks!

Find more information about Ansible and Ansible playbooks on Ansible website.

 Requirements for using the Radiator Software Ansible playbooks

  • Ansible 2.7 is the minimum supported version on Ansible control node.
  • Supported Radiator host Linux distributions are Ubuntu 18.04 or newer, Debian 10 or newer, CentOS 7 or newer, and RHEL 7 or newer.
  • Radiator hosts must have sudo capable SSH user that Ansible can use.
  • Radiator hosts need internet access for apt/yum/dnf usage.
  • Radiator and/or Radius::UtilXS installation files (RPM/deb) are available on Ansible control node.

Radiator Dockerfiles now available

Radiator Dockerfiles are now available with all our Radiator packages! The Dockerfiles and the accompanying README provided makes it easy to build Docker containers where Radiator is run. Currently available are five different variations:

  • Radiator installed from Radiator public repository to CentOS 8 container
  • Radiator installed from Radiator public repository to Ubuntu 20.04 container
  • Radiator installed from RPM packages to CentOS 8 container
  • Radiator installed from deb packages to Ubuntu 20.04 container
  • Radiator installed from MSI to Windows Server Core 2019 container

Each Dockerfile has a command ready for copying your own Radiator configuration to the container image already on the build phase. Each Linux-based Dockerfile uses ENTRYPOINT for running the Radiator. In the Windows container, Radiator is run as a Windows Service. Of course, these Dockerfiles are meant just as starting points and there are several tips on what could be done differently in the accompanying README. Be sure to check it out!

Due to the nature of the Docker containers, systemd is not readily available on the Linux containers. This means that instead of running multiple Radiator instances in a single Docker container via systemd, you should be running several containers with each of them having different Radiator configuration.