martes, 2 de julio de 2019

Minikube vs Docker vs MicroK8s vs Minishift

 Certified Kubernetes  Resultado de imagen de kubernetes  Resultado de imagen de minikube

¿ Tenemos opciones para ejecutar Kubernetes en la nube y Kubernetes On-Prem?.
¿Qué hay de las opciones para ejecutar Kubernetes en el ordenador de escritorio y/o portátil?

Comparamos cuatro opciones que puedes elegir hoy. Minikube vs Docker Desktop vs MicroK8s vs Minishift.

Todas estas opciones están bastante diferenciadas. A diferencia de la variedad de soluciones de On-Prem Kubernetes, donde existen muchas sin ninguna razón, creo que hay un caso para la existencia de cada una de las opciones locales de Kubernetes que se están revisando.

Revisaremos cada uno de ellos y luego los resumiré con una tabla al final.

Minikube


Kubernetes fue construido por ingenieros de sistemas para ingenieros de sistemas. Minikube es la forma original de ejecutar Kubernetes localmente y, como puede imaginar, es la mejor opción actualmente para los ingenieros de sistemas. Si su compañía está ejecutando "Vanilla Kubernetes" ya sea en la versión local o a través de un servicio en la nube, y está en un rol de tipo SRE, entonces este es el recomendable..

Minikube funciona en todas las plataformas y te permite configurar muchas opciones. Si está ejecutando Linux, puedes desactivar la máquina virtual para que se ejecute de forma nativa.

La otra cosa interesante es que es compatible con todas las versiones de Kubernetes, por lo que puede hacer coincidir exactamente las versiones que está ejecutando en su ordenador portátil con la versión que está ejecutando en sus servidores.

Como perfil de tipo SRE, ejecuto Minikube localmente y también ejecutamos esto en CI build VM´s para pruebas de unidad en el trabajo.


Minikube
CompaniaCNCF
URLhttps://kubernetes.io/docs/setup/minikube/
Version KubernetesAny
Os soportadoOSX, Linux, Windows
Tipo contenedorLinux
VMNone, Virtualbox, VMWare fusion, KVM2, Hyperkit, xhyve, Hyper-V
Addonsaddon-manager, coredns, dashboard, default-storageclass, efk, freshpod, heapster, ingress, kube-dns, metrics-server, nvidia-driver-installer, nvidia-gpu-device-plugin, registry, registry-creds, storage-provisioner

Minikube
MejorLa mejor solución para los operadores de clústeres Kubernetes (DevOps / SRE) que desean practicar las tareas de administración de clústeres Kubernetes. Opciones de Kubernetes altamente configurables.
PeorVM separada en OSX y Windows. Más complejo que Docker Desktop para desarrolladores.

Docker Desktop

Este es el que recomendarás a tus equipos de desarrollo.
Todos los desarrolladores ya tendrán instalado Docker, por lo que habilitar a Kubernetes es tan simple como marcar una casilla de verificación.

 Kubernetes luego se ejecuta en la misma máquina virtual en Windows y OSX que Docker, lo que ahorra algunos recursos. Docker Desktop esconde gran parte de la complejidad de la administración de clústeres, lo cual es excelente si su objetivo es simplemente escribir aplicaciones y ejecutarlas.

El otro beneficio es que cuando ejecute Kubernetes en Docker Desktop, sus aplicaciones compartirán el mismo registro de imágenes entre Docker y Kubernetes.

Hay otra razón convincente para usar Docker Desktop. Si está utilizando Windows y desea utilizar contenedores de Windows, esta es la única opción que lo admite. Tenga en cuenta que esto no funciona bien con la virtualización no nativa. (Debes deshabilitar cualquier VirtualBox y usar solo HyperV.)



Docker Desktop
CompaniaDocker
URLhttps://www.docker.com/products/docker-desktop
Version KubernetesHardcoded to Docker
Os soportadoOSX, Windows
Tipo contenedorLinux (on OSX), Linux or Windows (on Windows)
VMHyperkit, Hyper-V
Addons-

Docker Desktop
MejorLa mejor solución para desarrolladores que quieran construir aplicaciones localmente. La única solución en Windows que ejecutará contenedores de Windows. Se ejecuta en la misma máquina virtual que Docker. Las imágenes comparten el mismo registro local.
PeorKubernetes no es tan configurable como las otras opciones. Si eres un SRE utiliza Minikube.
-->

MicroK8s

Esto es de Canonical, esperamos que esté realmente diseñado para la gente de Ubuntu.

Aunque, es compatible con cualquier sistema que pueda usar paquetes Snap. Hay algunos beneficios inherentes de usar una aplicación instalada de Snap relacionada con el sandboxing y la desinstalación limpia. MicroK8s realiza un seguimiento de Kubernetes en sentido ascendente y ofrece canales estables y beta.

Tampoco requiere ninguna máquina virtual, que es similar a la ejecución de Minikube en Linux con vm-driver = none. Como MicroK8s solo se ejecuta en Linux, tiene menos base de usuarios.

También es la menos madura de todas las opciones y solo se lanzó en mayo de 2018. Si ya está utilizando paquetes Snap, esta puede ser una buena opción.

Probablemente seguiría con Minikube o Docker Desktop dependiendo de mi función, pero es bueno que exista otra opción para competir.


Minishift
CompaniaRedhat
URLhttps://www.okd.io/minishift/
Version KubernetesHardcoded to OKD
Os soportadoOSX, Linux, Windows
Tipo contenedorLinux
VMVirtualbox, xhyve, KVM, Hyper-V
Addonsanyuid, admin-user, registry-route, htpasswd-identity-provider, xpaas, che, community addons

Minishift
MejorLa mejor solución para operadores y desarrolladores que utilizan OpenShift en su empresa.
PeorSi está ejecutando Kubernetes que no son OpenShift en su empresa, vaya con otra opción.
-->

MiniShift

Es la opción para las personas que trabajan para compañías que han comprado en OpenShift y, por lo tanto, usar Minishift localmente es la mejor opción.

Creo que tendría sentido utilizar Minishift independientemente de su función si ya está en esta plataforma en caso de que haya alguna diferencia.


Minishift
CompaniaRedhat
URLhttps://www.okd.io/minishift/
Version KubernetesHardcoded to OKD
Os soportadoOSX, Linux, Windows
Tipo contenedorLinux
VMVirtualbox, xhyve, KVM, Hyper-V
Addonsanyuid, admin-user, registry-route, htpasswd-identity-provider, xpaas, che, community addons

Minishift
MejorLa mejor solución para operadores y desarrolladores que utilizan OpenShift en su empresa.
PeorSi está ejecutando Kubernetes que no son OpenShift en su empresa, vaya con otra opción.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.