Backing Up the Platform
Overview
The Tool used is named Bakpak (invoked as bkp).
It collects V3IO data, platform configuration (e.g. users, projects, services), MLRun DB, Pipelines DB, and Kubernetes entities.
Prerequisites
- An available storage device. Cloud services (such as EFS for AWS, Filestore for GCP, etc.) are preferred.
- A running Iguazio AI Platform.
Standard Setup Example
- Provision storage and allow access (Network, Security groups, Access points, etc.) to your K8S Application nodes.
Storage must support K8SReadWriteManyaccess mode, thus, for example,AWS EBSis not recommended.
Preferred services:- On AWS - EFS, FSx
- On GCP - Filestore
- On Azure - Azure Files
- In the platform dashboard, activate the backup user (
sysby default) as described here. - In your K8S Application Cluster:
-
Create the backup namespace (
iguazio-backupby default). -
In that namespace, create a secret (
api-credentials-systemby default):USERNAME: "sys" PASSWORD: "PASSWORD" -
In that namespace, create a configmap
user-settingswith the minimum required settings:SYSTEM_USER_SECRET: "api-credentials-system" # The secret name you created above SCHEDULE: "0 0 * * *" # Backup schedule. Default is daily at midnight RETENTION_PERIOD: "3 days" # How long to keep each backup instance. Default is 3 days STORAGE_PROVIDER: "some-provider" # aws / gcp / azure ... CSI_DRIVER: "some-driver" # efs.csi.aws.com / filestore.csi.storage.gke.io ... # Must be mapped in kubernetes-csi.github.io/docs/drivers.html # Must be supported by your k8s setup REGION: "some-region" # us-east-1 / eu-north-1 ... # Region of your storage device if applicable VOLUME_HANDLE: "fs-1234567890" # Your filesystem id SKIP_PERSISTENT_VOLUME_CREATION: "True" PERSISTENT_VOLUME_CLAIM_NAME: "YOUR_PVC_NAME"
-
- Contact Iguazio support so they can configure an initial (one-time) setup. Then the
ClusterBackupevents are visible in the UI Events page (
).