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 K8SReadWriteMany
access mode, thus, for example,AWS EBS
is not recommended.
Preferred services:- On AWS - EFS, FSx
- On GCP - Filestore
- On Azure - Azure Files
- In the platform dashboard, activate the backup user (
sys
by default) as described here. - In your K8S Application Cluster:
-
Create the backup namespace (
iguazio-backup
by default). -
In that namespace, create a secret (
api-credentials-system
by default):USERNAME: "sys" PASSWORD: "PASSWORD"
-
In that namespace, create a configmap
user-settings
with 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
ClusterBackup
events are visible in the UI Events page ().