Installation¶
Prerequisites¶
- Kubernetes 1.19+
kubectlconfigured for your cluster- Helm 3.x (for Helm installation)
Helm (Recommended)¶
1. Apply CRDs¶
CRDs are managed separately from the Helm chart to avoid accidental deletion on helm uninstall:
2. Install the Operator¶
3. Verify¶
Expected output:
Key Helm Values¶
| Parameter | Default | Description |
|---|---|---|
image.repository |
registry.bnerd.com/public/bnerd-backup-operator |
Operator image |
image.tag |
latest |
Image tag |
image.pullPolicy |
Always |
Pull policy |
replicaCount |
1 |
Number of replicas |
rbac.create |
true |
Create RBAC resources |
rbac.clusterWide |
true |
Use ClusterRole (cluster-wide access) |
resources.requests.cpu |
100m |
CPU request |
resources.requests.memory |
128Mi |
Memory request |
resources.limits.cpu |
500m |
CPU limit |
resources.limits.memory |
512Mi |
Memory limit |
metrics.enabled |
true |
Enable Prometheus metrics on port 8080 |
metrics.serviceMonitor.enabled |
false |
Create ServiceMonitor for Prometheus Operator |
metrics.prometheusRule.enabled |
false |
Create PrometheusRule for alerting |
RBAC Modes¶
Cluster-wide (default) -- the operator can manage backups across all namespaces:
Namespace-scoped -- the operator only manages backups in its own namespace:
Enable Monitoring¶
To create a ServiceMonitor for automatic Prometheus scraping:
To also enable pre-built alerting rules:
helm install backup-operator ./charts/backup-operator \
--set metrics.serviceMonitor.enabled=true \
--set metrics.prometheusRule.enabled=true
See the Monitoring and Alerting guide for details.
Upgrade¶
After upgrading the operator, all VolumeBackup CronJobs are automatically reconciled within 5 minutes to pick up any changes.
Uninstall¶
Note
CRDs and existing backup resources are not deleted when uninstalling the Helm chart. Remove CRDs manually with kubectl delete -f crds/ if desired.
Kustomize¶
This deploys the operator into the bnerd-backup-system namespace with default settings.
To customise the image tag, edit manifests/kustomization.yaml:
Endpoints¶
Once running, the operator exposes two HTTP endpoints:
| Port | Path | Purpose |
|---|---|---|
| 8080 | /metrics |
Prometheus metrics |
| 8081 | /healthz |
Liveness probe |
| 8081 | /readyz |
Readiness probe (healthy if reconciled in the last 10 minutes) |