Procedures¶
Intended audience: Anyone who is administering Rucio.
Deployment¶
USDF Rucio deployment is done through the slaclab/rubin-rucio-deploy repository. This project requires a Kubernetes cluster with permissions to run operators as needed. Once you have access to your Kubernetes cluster and access to Vault secrets, Rucio can be deployed for a given overlay depending on the cluster (found in overlays/{dev,prod}) using the Makefile found there with:
make apply
The deployment uses the official Rucio images (rucio/containers), besides the hermes daemon. Rucio manifests are mainly created from the official Rucio Helm charts (rucio/helm-charts).
Deployment is through the Makefile and overlays in slaclab/rubin-rucio-deploy
Maintenance¶
When there is a new Rucio version release that the cluster should be upgraded to, there are a few steps that must be done.
Database¶
Rucio’s database schema is changed only for major versions (i.e. 37.0.0 –> 38.0.0). In this case, the database schema must be upgraded in order for the deployment to function properly. Rucio has built-in checks to ensure the correct database schema version.
Backup¶
Postgres database backups are done through the CNPG operator. Backups are done periodcially and are uploaded to the SLAC S3 storage. This is configured by the database administrator.
Backups of the Rucio Database are configured.
Cold Startup¶
Ensure you have access to the Kubernetes cluster and Vault secrets.
Enter the desired overlay.
Apply manifests
make apply
Cold Shutdown¶
To cleanly shutdown the Rucio application, simply run:
make destroy
This will delete all secrets, deployments, pods, services, etc from the cluster.