System administration

This section focuses on the ongoing management of the UltiHash cluster after it has been installed and configured. It covers essential tasks like scaling, updates, security management.

Cluster management

1. Scaling the cluster

  • Purpose: Adjust the number of replicas for UltiHash services based on workload demand.

  • Example: To scale the storage and deduplicator services, adjust the replicaCount in the Helm chart and apply the changes:

    helm upgrade <release_name> oci://registry.ultihash.io/stable/ultihash-cluster -n <namespace> --set storage.replicas=3,deduplicator.replicas=3
    
  • Recommendation: Monitor your system's performance and scale the services accordingly to ensure high availability and optimal performance.

2. Rolling updates

  • Purpose: Safely apply updates to the UltiHash components.

  • Example: Use Helm to perform a rolling update to the UltiHash version 1.0.0:

    helm upgrade <release_name> oci://registry.ultihash.io/stable/ultihash-cluster -n <namespace> --version 1.0.0 --values.yaml
    
  • Recommendation: Always back up your configuration and data before applying updates. Test updates in a staging environment before rolling them out to production.

Security management

1. Secret management

  • Purpose: Securely manage and rotate Kubernetes secrets used by the UltiHash cluster.

  • Example: Rotate a Kubernetes secret without causing downtime:

    kubectl delete secret docker-registry registry-credential
    
    kubectl create secret docker-registry registry-credentials \\\\
      --docker-server='registry.ultihash.io' \\\\
      --docker-username='<new_registry_username>' \\\\
      --docker-password='<new_registry_password>'
    
    # Gracefully restart UltiHash services to apply the changes
    helm upgrade <release_name> oci://registry.ultihash.io/stable/ultihash-cluster -n <namespace> --values.yaml --force
  • Recommendation: Rotate secrets periodically and implement alerts for expired or compromised secrets.

Last updated