66 lines
2.4 KiB
Markdown
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
|
|
```
|