Multipass, la forma fácil y rápida para crear máquinas virtuales Ubuntu, compatible con macOS y Windows, ahora es completamente Open Source
En un movimiento que, sin duda, hará vibrar las fibras más sensibles de los amantes del código abierto, Canonical, la empresa detrás del omnipresente Ubuntu, ha decidido que su ligero pero potente gestor de máquinas virtuales (VMs), Multipass, ahora es totalmente open source. Con el lanzamiento del Multipass 1.16 Release Candidate, esta herramienta que simplifica la vida al ejecutar entornos Ubuntu en Linux, Windows y macOS, ha cortado las últimas cadenas propietarias en las licencias de su código fuente.
¿Qué Diablos es Multipass?
Para los que aún no se desenchufan del Atari, Multipass es esa joyita que te permite levantar instancias de Ubuntu, casi tan tan fácil como abrir una pestaña más, aparte de todas esas otras que sigues acumulando en tu navegador. Olvídate de las complejidades de la virtualización; con un solo comando, tienes una VM Ubuntu lista para la acción, ya sea que estés en tu Linux, tu Windows o tu Mac. Es como tener un patio de juegos Ubuntu desechable, pero sin el desorden ni preocuparte de destrozar tu equipo de trabajo.
Bajo el capó, Multipass no se anda con chicas y usa las tecnologías de virtualización nativas para que todo vuele bajo y sin dramas:
- Linux: Se apoya en el robusto KVM.
- Windows: Utiliza el mismísimo Microsoft Hyper-V.
- macOS: Se la juega con QEMU.
Esta versatilidad multiplataforma y su obsesión por la simplicidad han catapultado a Multipass al estrellato, convirtiéndolo en una opción confiable para probar software, desarrollar en un ambiente aislado o simplemente cachurear con Ubuntu sin tener que instalarlo completo.
La Odisea Hacia el Código Abierto Total
Aunque Multipass ya venía con la licencia GNU GPLv3, la verdad es que no todo su código era tan "abierto" como uno quisiera. Había unas cuantas porciones específicas para las versiones de Windows y macOS que se mantenían en el lado oscuro, el propietario. Una situación que, si bien es común en proyectos que intentan balancear el desarrollo open source con el soporte a múltiples plataformas, siempre generaba un ruido en la comunidad.
Pero la buena nueva es que, con el Multipass 1.16 RC, esa dualidad se fue al carajo. Canonical ha integrado esas partes que antes eran "secretas" directamente en la base de código open source de Multipass. Como lo gritaron a los cuatro vientos en el anuncio de lanzamiento:
"¡toda la base de código se volvió completamente open source! ... Anteriormente, los bits propietarios para Windows y macOS ahora son parte de este repositorio."
- Alguien en Canonical,creo...
Este hito no es casualidad; es el resultado de un esfuerzo titánico de refactorización y unificación, encapsulado en esa pull request épica en GitHub llamada "One Repo To Rule Them All" (PR #4058). Este movimiento no solo reafirma el compromiso de Canonical con el open source, sino que también abre las puertas de par en par a una colaboración comunitaria en serio y confiable (hola terraform) , permitiendo que cualquier desarrollador meta mano en todas las entrañas del proyecto sin desconfiar que cambien la licencia y el uso de tus potenciales aportes al código.
Multipass y Kubernetes: Tu cluster para jugar y desechar
Aquí es donde la cosa se pone realmente interesante para los que vivimos en el mundo de DevOps y la ingeniería de plataformas. Multipass es la herramienta perfecta para levantar clústeres de Kubernetes locales y desechables. ¿Necesitas probar algo rápido? ¿Una demo? ¿O simplemente quieres cachurear sin ensuciar tu máquina principal? Multipass es tu mejor amigo.
Vamos a ver un ejemplo de cómo puedes levantar un clúster de MicroK8s (la versión ligera de Kubernetes de Canonical) modo express:
Levantando un Clúster MicroK8s con Multipass
Espera a que MicroK8s esté listo:
Kubernetes necesita un momento para arrancar todos sus componentes. Este comando esperará hasta que todo esté en su lugar.
multipass exec k8s-dev -- sudo microk8s status --wait-ready
Instala MicroK8s dentro de la VM:
Una vez que la VM esté lista, nos conectamos a ella y le instalamos MicroK8s. El --classic
es importante para que Snap lo instale correctamente.
multipass exec k8s-dev -- sudo snap install microk8s --classic
Lanza una VM Ubuntu con Multipass:
Primero, necesitamos una máquina virtual donde instalar nuestro Kubernetes. Le daremos 4GB de RAM y 20GB de disco, que es suficiente para empezar.
multipass launch --name k8s-dev --memory 4G --disk 20G
% multipass exec k8s-dev -- sudo microk8s status --wait-ready
microk8s is running
high-availability: no
datastore master nodes: 127.0.0.1:19001
datastore standby nodes: none
addons:
enabled:
dns # (core) CoreDNS
ha-cluster # (core) Configure high availability on the current node
helm # (core) Helm - the package manager for Kubernetes
helm3 # (core) Helm 3 - the package manager for Kubernetes
disabled:
cert-manager # (core) Cloud native certificate management
cis-hardening # (core) Apply CIS K8s hardening
community # (core) The community addons repository
dashboard # (core) The Kubernetes dashboard
host-access # (core) Allow Pods connecting to Host services smoothly
hostpath-storage # (core) Storage class; allocates storage from host directory
ingress # (core) Ingress controller for external access
kube-ovn # (core) An advanced network fabric for Kubernetes
mayastor # (core) OpenEBS MayaStor
metallb # (core) Loadbalancer for your Kubernetes cluster
metrics-server # (core) K8s Metrics Server for API access to service metrics
minio # (core) MinIO object storage
observability # (core) A lightweight observability stack for logs, traces and metrics
prometheus # (core) Prometheus operator for monitoring and logging
rbac # (core) Role-Based Access Control for authorisation
registry # (core) Private image registry exposed on localhost:32000
rook-ceph # (core) Distributed Ceph storage using Rook
storage # (core) Alias to hostpath-storage add-on, deprecated
Copia la configuración de Kubeconfig a tu máquina local:
Para interactuar con tu nuevo clúster desde tu terminal local (usando kubectl
), necesitas el archivo de configuración.
multipass exec k8s-dev -- sudo microk8s config > ~/.kube/k8s-dev.yaml
% cat ~/.kube/k8s-dev.yaml
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSWlJMnMKbjQ5QXh5T1RBeHFaZnRPbVZVb0xrSDN0SXc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
server: https://192.168.64.2:16443
name: microk8s-cluster
contexts:
- context:
cluster: microk8s-cluster
user: admin
name: microk8s
current-context: microk8s
kind: Config
preferences: {}
users:
- name: admin
user:
client-certificate-data: blablable
client-key-data: bñlablabla
kubeconfig
actual. De todos modos, si ya tienes otros clústeres configurados, te recomiendo que hagas un respaldo.Verifica tu clúster desde tu máquina local:
¡Listo! Ahora puedes usar kubectl
para ver los nodos de tu clúster.
kubectl --kubeconfig ~/.kube/k8s-dev.yaml get nodes
NAME STATUS ROLES AGE VERSION
k8s-dev Ready <none> 10m v1.32.3
Limpiando el Desorden
Cuando termines de jugar, la belleza de los clústeres desechables es que los puedes borrar sin remordimientos:
multipass delete k8s-dev --purge && multipass ls
No instances found.
Este comando no solo borra la VM, sino que también la purga, liberando todo el espacio en disco. ¡Magia!
Novedades en Multipass 1.16
La movida hacia un modelo totalmente open source no es la única joya que trae Multipass 1.16. Esta versión candidata viene cargada de otras mejoras y arreglos que te harán la vida más fácil:
- GUI Mejorada: La interfaz gráfica del usuario recibió un cariño, prometiendo una experiencia más fluida y menos dolorosa.
- Correcciones en el Daemon/Servicio: Mejoras en la estabilidad y confiabilidad del servicio de fondo de Multipass. ¡Menos crasheos, más productividad!
- Mejoras de Seguridad: Refuerzos en la seguridad para que tus entornos virtuales estén más blindados que nunca.
- Documentación Aumentada: Una documentación más clara y completa para que no te pierdas en el camino y le saques el jugo a la herramienta.
Para más detalles sobre el Multipass 1.16 Release Candidate, puedes echarle un ojo al anuncio oficial en GitHub.
La decisión de Canonical de liberar Multipass por completo es un golazo para toda la comunidad de desarrollo. No solo aumenta la transparencia y la confianza en el proyecto, sino que también es un empujón gigante a la innovación y la colaboración, asegurando que Multipass siga siendo una herramienta indispensable para la gestión de VMs ligeras. ¡A celebrar con un buen terremoto!
Fuente: Phoronix - Canonical Makes Multipass VM Manager Fully Open-Source por Michael Larabel.
- Register with Email
- Login with LinkedIn
- Login with GitHub