33 lines
1.3 KiB
Markdown
33 lines
1.3 KiB
Markdown
# Velero + MinIO (c2et.net)
|
|
|
|
Este paquete contiene:
|
|
- `namespace.yaml`
|
|
- Secrets de credenciales (`cloud-credentials-site-a`, `cloud-credentials-site-b`)
|
|
- BackupStorageLocation (BSL) por YAML: `default` (site-a) y `site-b`
|
|
- Ejemplo de `Schedule` (nightly a las 02:00 y 02:30)
|
|
- Dos `values.yaml` de Helm:
|
|
- `helm/values-approach-a.yaml`: crea BSL por defecto y Secret desde Helm
|
|
- `helm/values-approach-b.yaml`: sin BSL/Secret; los aplicas tú en YAML (GitOps)
|
|
- `ServiceMonitor` (si usas Prometheus Operator)
|
|
- Dashboard de Grafana (JSON)
|
|
|
|
## Flujo recomendado (GitOps, Approach B)
|
|
```bash
|
|
# 1) Instala Velero por Helm sin BSL ni secrets
|
|
helm repo add vmware-tanzu https://vmware-tanzu.github.io/helm-charts
|
|
helm upgrade --install velero vmware-tanzu/velero -n velero --create-namespace -f helm/values-approach-b.yaml
|
|
|
|
# 2) Aplica Secrets, BSLs y Schedules
|
|
kubectl apply -f namespace.yaml
|
|
kubectl apply -f secrets/secret-site-a.yaml -f secrets/secret-site-b.yaml
|
|
kubectl apply -f bsl/bsl-default-site-a.yaml -f bsl/bsl-site-b.yaml
|
|
kubectl apply -f schedules/schedules.yaml
|
|
```
|
|
|
|
## Notas
|
|
- MinIO requiere `s3ForcePathStyle=true`.
|
|
- Si usas CA propia, añade `spec.config.caCert` en los BSL.
|
|
- `ServiceMonitor` requiere Prometheus Operator; ajusta `metadata.labels.release` al valor que use tu Prometheus.
|
|
- Importa el dashboard JSON en Grafana (datasource `prometheus`).
|
|
|