Tener un buen circuito de retroalimentación de desarrollo local es un tema de rápido desarrollo en el ecosistema de Kubernetes.
Desglosando esta pregunta, hay algunas herramientas que creo que apoyan bien este objetivo.
Docker para Mac Kubernetes
Docker para Mac Kubernetes ( Docker Desktop es el nombre genérico de plataforma cruzada) proporciona una excelente opción para el desarrollo local. Para la virtualización, utiliza HyperKit, que se basa en el marco nativo de Hypervisor en macOS en lugar de VirtualBox.
La función de Kubernetes se lanzó por primera vez como beta en el canal de borde en enero de 2018 y ha recorrido un largo camino desde que se convirtió en un Kubernetes certificado en abril de 2018 y se graduó en el canal estable en julio de 2018 .
En mi experiencia, es mucho más fácil trabajar con Minikube, particularmente en macOS, y especialmente cuando se trata de problemas como RBAC, Helm, hipervisor, registro privado, etc.
Timón
En cuanto a distribuir su código y extraer actualizaciones localmente, Helm es una de las opciones más populares. Puede publicar sus aplicaciones a través de CI / CD como gráficos de Helm (y también las imágenes subyacentes de Docker a las que hacen referencia). Luego, puede extraer estos gráficos de su registro de gráficos de Helm localmente y actualizarlos en su clúster local.
Borrador azul
También puede usar una herramienta como Azure Draft para realizar implementaciones locales simples y generar gráficos de Helm básicos a partir de plantillas de idiomas comunes, como paquetes de construcción, para automatizar esa pieza del rompecabezas.
Skaffold
Skaffold es como Azure Draft pero más maduro, de alcance mucho más amplio y creado por Google. Tiene una arquitectura muy conectable. Creo que en el futuro más personas lo usarán para el desarrollo de aplicaciones locales para Kubernetes.
Si ha utilizado React, pienso en Skaffold como " Crear una aplicación React para Kubernetes".
Kompose o Compose en Kubernetes
Docker Compose , aunque no está relacionado con Kubernetes, es una alternativa que algunas empresas utilizan para proporcionar un entorno de desarrollo local simple, fácil y portátil análogo al entorno de Kubernetes que ejecutan en producción. Sin embargo, seguir esta ruta significa divergir sus configuraciones de producción y desarrollo local.
Kompose es un convertidor de Docker Compose a Kubernetes. Esta podría ser una ruta útil para alguien que ya esté ejecutando sus aplicaciones como colecciones de contenedores localmente.
Compose on Kubernetes es una oferta de código abierto recientemente (diciembre de 2018) de Docker que permite implementar archivos de Docker Compose directamente en un clúster de Kubernetes a través de un controlador personalizado.