Virtualização Cloud Native: Kubernetes, KubeVirt e KVM como Base para Infraestrutura

Entenda a transição dos hipervisores legados (como VMware vSphere) para plataformas de virtualização unificadas que rodam VMs e Containers dentro do Kubernetes usando KubeVirt e KVM. Por Fabio Silva.


🔄 A Mudança de Paradigma na Infraestrutura

Durante anos, empresas mantiveram duas pilhas de infraestrutura separadas: um cluster VMware/Hyper-V para máquinas virtuais tradicionais e um cluster Kubernetes para containers. Com o projeto CNCF KubeVirt, as VMs passam a ser tratadas como recursos nativos do Kubernetes (CRDs).

🏗️ Como o KubeVirt Funciona sob o Capô?

  • Pod Wrapper com libvirt/KVM: Cada Máquina Virtual roda dentro de um Pod especial, onde o container executa o processo QEMU/KVM de baixo nível.
  • Rede Declarativa via Multus CNI: Permite conectar a VM diretamente a redes VLANs físicas L2 ou a redes internas de microsserviços.
  • Armazenamento Persistente via CSI: As imagens de disco da VM utilizam Persistent Volume Claims (PVC) provisionados por Ceph, Longhorn ou SANs.

📄 Declarando uma VM no Kubernetes (`vm.yaml`)

apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
  name: ubuntu-legacy-app
spec:
  running: true
  template:
    spec:
      domain:
        devices:
          disks:
            - name: containerdisk
              disk:
                bus: virtio
        resources:
          requests:
            memory: 4Gi
            cpu: 2
      volumes:
        - name: containerdisk
          containerDisk:
            image: kubevirt/ubuntu-cis-benchmarked:22.04

Artigo originalmente publicado por Fabio Silva — Arquiteto de Soluções em Cloud, DevOps e IA Generativa.

Deixe um comentário