Primer commit
This commit is contained in:
83
docs/procedimientos-adicionales.md
Normal file
83
docs/procedimientos-adicionales.md
Normal file
@ -0,0 +1,83 @@
|
||||
# 📚 Procedimientos adicionales
|
||||
|
||||
Aquí se documentan acciones puntuales que pueden ser necesarias durante el mantenimiento o despliegue del clúster, incluyendo soluciones a errores frecuentes o tareas manuales especiales.
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Eliminar namespace atascado (en terminación)
|
||||
|
||||
### ✅ Diagnóstico confirmado
|
||||
|
||||
Si ves un error como este:
|
||||
|
||||
...is forbidden: unable to create new content in namespace kubevirt-manager because it is being terminated
|
||||
|
||||
Significa que el namespace está atascado en estado de terminación y Kubernetes no puede limpiarlo correctamente.
|
||||
|
||||
---
|
||||
|
||||
### 🧹 Solución forzada paso a paso
|
||||
|
||||
#### 1. Exporta el namespace a un archivo
|
||||
|
||||
kubectl get namespace kubevirt-manager -o json > ns.json
|
||||
|
||||
#### 2. Edita el archivo ns.json
|
||||
Abre el archivo con tu editor (nano, vim, code, etc.) y elimina la sección finalizers dentro de spec.
|
||||
|
||||
Ejemplo original:
|
||||
|
||||
"spec": {
|
||||
"finalizers": [
|
||||
"kubernetes"
|
||||
]
|
||||
}
|
||||
|
||||
Debes dejarlo así:
|
||||
|
||||
"spec": {}
|
||||
|
||||
Guarda y cierra el archivo.
|
||||
|
||||
#### 3. Aplica la eliminación forzada
|
||||
|
||||
kubectl replace --raw "/api/v1/namespaces/kubevirt-manager/finalize" -f ./ns.json
|
||||
|
||||
✅ Resultado esperado
|
||||
El namespace kubevirt-manager desaparecerá en unos segundos.
|
||||
|
||||
Verifícalo con:
|
||||
|
||||
kubectl get ns
|
||||
|
||||
#### 4. Vuelve a aplicar los manifiestos si es necesario
|
||||
|
||||
kubectl apply -k .
|
||||
|
||||
## 📥 Copiar manualmente una ISO al servidor HTTP de KubeVirt
|
||||
|
||||
Este procedimiento permite subir manualmente una imagen `.iso` al servidor HTTP que sirve las ISOs en el namespace `kubevirt-isoserver`, para que pueda ser utilizada desde una VM en KubeVirt.
|
||||
|
||||
---
|
||||
|
||||
### ✅ 1. Identificar la ruta del PVC del servidor HTTP
|
||||
|
||||
Ejecuta:
|
||||
|
||||
kubectl -n kubevirt-isoserver get pvc
|
||||
|
||||
Salida
|
||||
|
||||
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
|
||||
iso-pvc Bound pvc-169349e9-5e0c-4cb1-b7a5-8cd6ddc48be4 800Gi RWX nfs-manabo 17m
|
||||
|
||||
La carpeta real en el servidor de almacenamiento será algo como:
|
||||
|
||||
/mnt/storage/k8s/nfsshare/kubevirt-isoserver-iso-pvc-pvc-169349e9-5e0c-4cb1-b7a5-8cd6ddc48be4/
|
||||
|
||||
### 📤 2. Copiar la imagen desde el servidor origen
|
||||
Estando en el servidor donde tienes la imagen .iso (ej. 192.168.1.3) y suponiendo que tienes acceso SSH al servidor de almacenamiento (192.168.1.10), ejecuta:
|
||||
|
||||
scp /mnt/Iso/Windows.iso xavor@192.168.1.10:/mnt/storage/k8s/nfsshare/kubevirt-isoserver-iso-pvc-pvc-169349e9-5e0c-4cb1-b7a5-8cd6ddc48be4/
|
||||
|
||||
Deberías ver el archivo Windows.iso.
|
Reference in New Issue
Block a user