renombrando carpeta
This commit is contained in:
96
velero/readme.md
Normal file
96
velero/readme.md
Normal file
@@ -0,0 +1,96 @@
|
||||
# Velero + MinIO (c2et.net)
|
||||
|
||||
Este paquete contiene:
|
||||
|
||||
* `namespace.yaml`
|
||||
* Secrets de credenciales (`cloud-credentials.yaml`, `minio-root.yaml`)
|
||||
* Despliegues de MinIO (`minio-a`, `minio-b`) con sus `PVC` y `Service`
|
||||
* Jobs de inicialización (`minio-a-init`, `minio-b-init`)
|
||||
* `BackupStorageLocation` (BSL) por YAML: `bsl-incluster-a` y `bsl-incluster-b`
|
||||
* Ejemplo de `Schedule` (nightly a las 02:00 y 02:30)
|
||||
* `values-velero.yaml`: despliegue de Velero sin BSL/Secret (GitOps)
|
||||
* `ServiceMonitor` (si usas Prometheus Operator)
|
||||
* Dashboard de Grafana (JSON)
|
||||
|
||||
## Flujo recomendado (GitOps)
|
||||
|
||||
```bash
|
||||
# 1) Instalar 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 minio-velero -f values-velero.yaml
|
||||
|
||||
# 2) Crear namespace y desplegar MinIO con sus Secrets, PVCs, Services y Jobs de init
|
||||
kubectl apply -k ./
|
||||
|
||||
# 3) (Opcional) Aplicar Schedules
|
||||
kubectl apply -f schedules/schedules.yaml
|
||||
```
|
||||
|
||||
## Cliente Velero
|
||||
|
||||
Para interactuar con Velero necesitas el binario en tu máquina de administración.
|
||||
|
||||
```bash
|
||||
# Linux AMD64
|
||||
wget https://github.com/vmware-tanzu/velero/releases/download/v1.16.2/velero-v1.16.2-linux-amd64.tar.gz
|
||||
tar -xvf velero-v1.16.2-linux-amd64.tar.gz
|
||||
sudo mv velero-v1.16.2-linux-amd64/velero /usr/local/bin/
|
||||
```
|
||||
|
||||
Verifica la instalación:
|
||||
|
||||
```bash
|
||||
velero version
|
||||
```
|
||||
|
||||
## Hacer un backup manual
|
||||
|
||||
Ejemplo: respaldar el namespace `wireguard`.
|
||||
|
||||
```bash
|
||||
velero backup create wireguard-backup --include-namespaces wireguard --wait
|
||||
velero backup describe wireguard-backup --details
|
||||
```
|
||||
|
||||
Puedes excluir recursos innecesarios (ej. CRDs de KubeVirt):
|
||||
|
||||
```bash
|
||||
velero backup create smoke --include-namespaces default --exclude-resources uploadtokenrequests.upload.cdi.kubevirt.io --wait
|
||||
```
|
||||
|
||||
## Programar backups (Schedules)
|
||||
|
||||
Ejemplo de programación diaria a las 03:15, TTL de 30 días:
|
||||
|
||||
```bash
|
||||
velero schedule create daily-wireguard --schedule "15 3 * * *" --include-namespaces wireguard --ttl 720h --default-volumes-to-fs-backup
|
||||
```
|
||||
|
||||
Los schedules también se pueden definir por YAML en `schedules/schedules.yaml`.
|
||||
|
||||
## Restaurar un backup
|
||||
|
||||
### Restaurar al mismo namespace (desastre real)
|
||||
|
||||
```bash
|
||||
# 1) Borrar el namespace roto
|
||||
kubectl delete ns wireguard
|
||||
|
||||
# 2) Restaurar desde el backup
|
||||
velero restore create wireguard-restore --from-backup wireguard-backup --wait
|
||||
velero restore describe wireguard-restore --details
|
||||
```
|
||||
|
||||
### Restaurar a otro namespace (ensayo)
|
||||
|
||||
```bash
|
||||
kubectl create ns wireguard-restore
|
||||
velero restore create wireguard-restore-test --from-backup wireguard-backup --namespace-mappings wireguard:wireguard-restore --wait
|
||||
```
|
||||
|
||||
## 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`).
|
||||
Reference in New Issue
Block a user