Files
kubernetes/kubevirt.md
2025-07-21 22:33:32 +00:00

66 lines
2.4 KiB
Markdown

# Instalación de KubeVirt y CDI en Kubernetes (Ubuntu/SUSE)
## 1. Instala KubeVirt y CDI
KubeVirt permite crear y gestionar máquinas virtuales dentro de Kubernetes, integrando cargas virtualizadas junto a contenedores. CDI (Containerized Data Importer) facilita la gestión y carga de discos e ISOs para esas VMs.
> **Nota:** Puedes usar manifiestos oficiales, o crear tu carpeta `kubevirt/` si deseas versionar los YAML personalizados.
### Instala KubeVirt (recomendado hacerlo tras tener la red y almacenamiento)
```bash
export KUBEVIRT_VERSION=$(curl -s https://api.github.com/repos/kubevirt/kubevirt/releases/latest | grep tag_name | cut -d '"' -f 4)
kubectl create namespace kubevirt
kubectl apply -f https://github.com/kubevirt/kubevirt/releases/download/${KUBEVIRT_VERSION}/kubevirt-operator.yaml
kubectl apply -f https://github.com/kubevirt/kubevirt/releases/download/${KUBEVIRT_VERSION}/kubevirt-cr.yaml
```
### Instala CDI (para gestión de discos/ISOs)
```bash
export CDI_VERSION=$(curl -s https://api.github.com/repos/kubevirt/containerized-data-importer/releases/latest | grep tag_name | cut -d '"' -f 4)
kubectl create -f https://github.com/kubevirt/containerized-data-importer/releases/download/${CDI_VERSION}/cdi-operator.yaml
kubectl create -f https://github.com/kubevirt/containerized-data-importer/releases/download/${CDI_VERSION}/cdi-cr.yaml
```
---
## 2. Instala virtctl (CLI de KubeVirt)
`virtctl` es una herramienta de línea de comandos para interactuar fácilmente con las máquinas virtuales de KubeVirt: arranque, apagado, consola, etc.
```bash
curl -L -o virtctl https://github.com/kubevirt/kubevirt/releases/download/${KUBEVIRT_VERSION}/virtctl-${KUBEVIRT_VERSION}-linux-amd64
chmod +x virtctl
sudo mv virtctl /usr/local/bin/
```
---
## 3. Habilita KVM para tu usuario
Para poder crear y gestionar máquinas virtuales, tu usuario debe pertenecer al grupo `kvm` (acceso al hardware de virtualización).
```bash
sudo usermod -aG kvm $(whoami)
# Reinicia sesión o ejecuta 'newgrp kvm' para aplicar
```
---
## 4. Despliega kubevirt-manager
`kubevirt-manager` es una interfaz web sencilla para gestionar tus máquinas virtuales desde el navegador. Esta sección aplica sus manifiestos en Kubernetes.
La carpeta `kubevirt-manager/` contiene todos los manifiestos organizados por tipo:
```bash
kubectl apply -k kubevirt-manager/
```
Puedes comprobar el estado:
```bash
kubectl get pods -n kubevirt-manager
```